diff --git a/apollo-common/src/test/java/com/ctrip/framework/apollo/common/AllTests.java b/apollo-common/src/test/java/com/ctrip/framework/apollo/common/AllTests.java index fa0f20a1295602b33267ca7d45650adbd0e75aa9..09c636e24eee2104662fc27c1140f045e877dffc 100644 --- a/apollo-common/src/test/java/com/ctrip/framework/apollo/common/AllTests.java +++ b/apollo-common/src/test/java/com/ctrip/framework/apollo/common/AllTests.java @@ -1,5 +1,6 @@ package com.ctrip.framework.apollo.common; +import com.ctrip.framework.apollo.common.utils.DataSourceValidatorTest; import com.ctrip.framework.apollo.common.utils.InputValidatorTest; import org.junit.runner.RunWith; @@ -8,7 +9,7 @@ import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class) @SuiteClasses({ - InputValidatorTest.class + InputValidatorTest.class, DataSourceValidatorTest.class }) public class AllTests { diff --git a/apollo-common/src/test/java/com/ctrip/framework/apollo/common/utils/DataSourceValidatorTest.java b/apollo-common/src/test/java/com/ctrip/framework/apollo/common/utils/DataSourceValidatorTest.java new file mode 100644 index 0000000000000000000000000000000000000000..81272266ceae68417308c6b08753cf559f818095 --- /dev/null +++ b/apollo-common/src/test/java/com/ctrip/framework/apollo/common/utils/DataSourceValidatorTest.java @@ -0,0 +1,54 @@ +package com.ctrip.framework.apollo.common.utils; + +import org.junit.Before; +import org.junit.Test; + +import java.sql.Connection; + +import static org.junit.Assert.*; +import static org.mockito.Matchers.anyInt; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public class DataSourceValidatorTest { + private DataSourceValidator datasourceValidator; + + @Before + public void setUp() throws Exception { + datasourceValidator = new DataSourceValidator(); + } + + @Test + public void testValidateSuccessfully() throws Exception { + Connection someConnection = mock(Connection.class); + int someValidationAction = 1; + + when(someConnection.isValid(anyInt())).thenReturn(true); + + assertTrue(datasourceValidator.validate(someConnection, someValidationAction)); + } + + @Test + public void testValidateFailed() throws Exception { + Connection someConnection = mock(Connection.class); + int someValidationAction = 1; + + when(someConnection.isValid(anyInt())).thenReturn(false); + + assertFalse(datasourceValidator.validate(someConnection, someValidationAction)); + } + + @Test + public void testValidateWithException() throws Exception { + Connection someConnection = mock(Connection.class); + int someValidationAction = 1; + + when(someConnection.isValid(anyInt())).thenThrow(new RuntimeException("error")); + + assertFalse(datasourceValidator.validate(someConnection, someValidationAction)); + } + +} \ No newline at end of file