This is an automated email from the ASF dual-hosted git repository.
zhaojinchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 97a2909a163 Add more test cases for DatabaseTypedSPILoader (#33237)
97a2909a163 is described below
commit 97a2909a163fdea1817f7930e2da0b8ef6a0016e
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Oct 14 12:29:06 2024 +0800
Add more test cases for DatabaseTypedSPILoader (#33237)
---
.../core/spi/DatabaseTypedSPILoaderTest.java | 43 +++++++++++++++++++++-
1 file changed, 42 insertions(+), 1 deletion(-)
diff --git
a/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/spi/DatabaseTypedSPILoaderTest.java
b/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/spi/DatabaseTypedSPILoaderTest.java
index c717510059a..04924d1f6a9 100644
---
a/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/spi/DatabaseTypedSPILoaderTest.java
+++
b/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/spi/DatabaseTypedSPILoaderTest.java
@@ -19,11 +19,17 @@ package org.apache.shardingsphere.infra.database.core.spi;
import
org.apache.shardingsphere.infra.database.core.spi.fixture.DatabaseTypedSPIFixture;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
+import
org.apache.shardingsphere.infra.spi.exception.ServiceProviderNotFoundException;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.junit.jupiter.api.Test;
+import java.util.Properties;
+
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.Mockito.mock;
class DatabaseTypedSPILoaderTest {
@@ -38,7 +44,42 @@ class DatabaseTypedSPILoaderTest {
}
@Test
- void assertGetServiceWithRegisteredDatabaseType() {
+ void assertServiceNotFound() {
+
assertFalse(DatabaseTypedSPILoader.findService(DatabaseTypedSPIFixture.class,
mock(DatabaseType.class)).isPresent());
+ }
+
+ @Test
+ void assertFindServiceWithTrunkDatabaseTypeAndProperties() {
+
assertTrue(DatabaseTypedSPILoader.findService(DatabaseTypedSPIFixture.class,
TypedSPILoader.getService(DatabaseType.class, "TRUNK"), new
Properties()).isPresent());
+ }
+
+ @Test
+ void assertFindServiceWithBranchDatabaseTypeAndProperties() {
+
assertTrue(DatabaseTypedSPILoader.findService(DatabaseTypedSPIFixture.class,
TypedSPILoader.getService(DatabaseType.class, "BRANCH"), new
Properties()).isPresent());
+ }
+
+ @Test
+ void assertServiceNotFoundWithProperties() {
+
assertFalse(DatabaseTypedSPILoader.findService(DatabaseTypedSPIFixture.class,
mock(DatabaseType.class), new Properties()).isPresent());
+ }
+
+ @Test
+ void assertGetService() {
assertDoesNotThrow(() ->
DatabaseTypedSPILoader.getService(DatabaseTypedSPIFixture.class,
TypedSPILoader.getService(DatabaseType.class, "TRUNK")));
}
+
+ @Test
+ void assertGetServiceWithServiceProviderNotFoundException() {
+ assertThrows(ServiceProviderNotFoundException.class, () ->
DatabaseTypedSPILoader.getService(DatabaseTypedSPIFixture.class,
mock(DatabaseType.class)));
+ }
+
+ @Test
+ void assertGetServiceWithProperties() {
+ assertDoesNotThrow(() ->
DatabaseTypedSPILoader.getService(DatabaseTypedSPIFixture.class,
TypedSPILoader.getService(DatabaseType.class, "TRUNK"), new Properties()));
+ }
+
+ @Test
+ void
assertGetServiceWithPropertiesAndThrowsServiceProviderNotFoundException() {
+ assertThrows(ServiceProviderNotFoundException.class, () ->
DatabaseTypedSPILoader.getService(DatabaseTypedSPIFixture.class,
mock(DatabaseType.class), new Properties()));
+ }
}