From 01cb6624c4837121d2575b3a4ae817c314e27c4f Mon Sep 17 00:00:00 2001 From: witx98 Date: Sat, 23 Nov 2024 20:25:12 +0100 Subject: [PATCH] Added tests --- .../datasource/h2/H2ConnectionTest.java | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 hofund-spring/src/test/java/dev/logchange/hofund/connection/spring/datasource/h2/H2ConnectionTest.java diff --git a/hofund-spring/src/test/java/dev/logchange/hofund/connection/spring/datasource/h2/H2ConnectionTest.java b/hofund-spring/src/test/java/dev/logchange/hofund/connection/spring/datasource/h2/H2ConnectionTest.java new file mode 100644 index 0000000..504c8b3 --- /dev/null +++ b/hofund-spring/src/test/java/dev/logchange/hofund/connection/spring/datasource/h2/H2ConnectionTest.java @@ -0,0 +1,42 @@ +package dev.logchange.hofund.connection.spring.datasource.h2; + +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +import javax.sql.DataSource; +import java.sql.DatabaseMetaData; +import java.sql.SQLException; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.when; + +@ExtendWith(MockitoExtension.class) +class H2ConnectionTest { + + @Mock + private DatabaseMetaData databaseMetaData; + + @Mock + private DataSource dataSource; + + + @Test + void givenConnectionUrl_whenGetTarget_databaseNameReturned() throws SQLException { + //given: + String url = "spring.datasource.url=jdbc:h2:mem:17ebc6e8-e833-4157-b8e2-35f113eb404a"; + String productName = "H2"; + when(databaseMetaData.getURL()).thenReturn(url); + when(databaseMetaData.getDatabaseProductName()).thenReturn(productName); + + //when: + H2Connection h2Connection = new H2Connection(databaseMetaData, dataSource); + String resultTarget = h2Connection.getTarget(); + String resultVendor = h2Connection.getDbVendor(); + + //then: + assertThat(resultTarget).isEqualTo("17ebc6e8-e833-4157-b8e2-35f113eb404a"); + assertThat(resultVendor).isEqualTo(productName); + } +}