This is an automated email from the ASF dual-hosted git repository.

sunnianjun 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 7b924f5f727 Add more test cases for RequiredSPIRegistryTest (#22725)
7b924f5f727 is described below

commit 7b924f5f727974345540e1aa5787e187b7d8ce3e
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Dec 7 19:26:39 2022 +0800

    Add more test cases for RequiredSPIRegistryTest (#22725)
---
 .../spi/type/required/RequiredSPIRegistryTest.java | 23 +++++++++++++++++-----
 ... => MultipleWithDefaultRequiredSPIFixture.java} |  2 +-
 ... MultipleWithoutDefaultRequiredSPIFixture.java} |  6 +++---
 ...rNotDefaultMultipleRequiredSPIFixtureImpl.java} | 10 +++-------
 .../DefaultMultipleRequiredSPIFixtureImpl.java     |  4 ++--
 ...oNotDefaultMultipleRequiredSPIFixtureImpl.java} | 10 +++-------
 .../fixture/single/SingleRequiredSPIFixture.java   |  3 ++-
 .../single/impl/SingleRequiredSPIFixtureImpl.java  | 11 +++++++++++
 ...multiple.MultipleWithDefaultRequiredSPIFixture} |  2 +-
 ...tiple.MultipleWithoutDefaultRequiredSPIFixture} |  4 ++--
 10 files changed, 46 insertions(+), 29 deletions(-)

diff --git 
a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/RequiredSPIRegistryTest.java
 
b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/RequiredSPIRegistryTest.java
index df9070e48cc..d09a81df5bb 100644
--- 
a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/RequiredSPIRegistryTest.java
+++ 
b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/RequiredSPIRegistryTest.java
@@ -20,21 +20,26 @@ package 
org.apache.shardingsphere.infra.util.spi.type.required;
 import org.apache.shardingsphere.infra.util.spi.ShardingSphereServiceLoader;
 import 
org.apache.shardingsphere.infra.util.spi.exception.ServiceProviderNotFoundServerException;
 import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.empty.EmptyRequiredSPIFixture;
+import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleWithDefaultRequiredSPIFixture;
+import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleWithoutDefaultRequiredSPIFixture;
+import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.impl.BarNotDefaultMultipleRequiredSPIFixtureImpl;
 import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.impl.DefaultMultipleRequiredSPIFixtureImpl;
-import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleRequiredSPIFixture;
+import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.impl.FooNotDefaultMultipleRequiredSPIFixtureImpl;
 import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.single.SingleRequiredSPIFixture;
 import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.single.impl.SingleRequiredSPIFixtureImpl;
 import org.junit.Test;
 
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertTrue;
 
 public final class RequiredSPIRegistryTest {
     
     static {
         ShardingSphereServiceLoader.register(EmptyRequiredSPIFixture.class);
         ShardingSphereServiceLoader.register(SingleRequiredSPIFixture.class);
-        ShardingSphereServiceLoader.register(MultipleRequiredSPIFixture.class);
+        
ShardingSphereServiceLoader.register(MultipleWithDefaultRequiredSPIFixture.class);
+        
ShardingSphereServiceLoader.register(MultipleWithoutDefaultRequiredSPIFixture.class);
     }
     
     @Test(expected = ServiceProviderNotFoundServerException.class)
@@ -44,11 +49,19 @@ public final class RequiredSPIRegistryTest {
     
     @Test
     public void assertRegisteredServiceWithOneImplementation() {
-        
assertThat(RequiredSPIRegistry.getRegisteredService(SingleRequiredSPIFixture.class),
 instanceOf(SingleRequiredSPIFixtureImpl.class));
+        SingleRequiredSPIFixture actual = 
RequiredSPIRegistry.getRegisteredService(SingleRequiredSPIFixture.class);
+        assertThat(actual, instanceOf(SingleRequiredSPIFixtureImpl.class));
+        assertTrue(((SingleRequiredSPIFixtureImpl) actual).isInitialized());
     }
     
     @Test
-    public void assertRegisteredServiceWithMoreImplementations() {
-        
assertThat(RequiredSPIRegistry.getRegisteredService(MultipleRequiredSPIFixture.class),
 instanceOf(DefaultMultipleRequiredSPIFixtureImpl.class));
+    public void 
assertRegisteredServiceWithMoreImplementationsAndWithDefaultImplementation() {
+        
assertThat(RequiredSPIRegistry.getRegisteredService(MultipleWithDefaultRequiredSPIFixture.class),
 instanceOf(DefaultMultipleRequiredSPIFixtureImpl.class));
+    }
+    
+    @Test
+    public void 
assertRegisteredServiceWithMoreImplementationsAndWithoutDefaultImplementation() 
{
+        MultipleWithoutDefaultRequiredSPIFixture actual = 
RequiredSPIRegistry.getRegisteredService(MultipleWithoutDefaultRequiredSPIFixture.class);
+        assertTrue(actual instanceof 
FooNotDefaultMultipleRequiredSPIFixtureImpl || actual instanceof 
BarNotDefaultMultipleRequiredSPIFixtureImpl);
     }
 }
diff --git 
a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/MultipleRequiredSPIFixture.java
 
b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/MultipleWithDefaultRequiredSPIFixture.java
similarity index 92%
rename from 
infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/MultipleRequiredSPIFixture.java
rename to 
infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/MultipleWithDefaultRequiredSPIFixture.java
index 13b5ab07da8..85e8a59a566 100644
--- 
a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/MultipleRequiredSPIFixture.java
+++ 
b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/MultipleWithDefaultRequiredSPIFixture.java
@@ -19,5 +19,5 @@ package 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple;
 
 import org.apache.shardingsphere.infra.util.spi.type.required.RequiredSPI;
 
-public interface MultipleRequiredSPIFixture extends RequiredSPI {
+public interface MultipleWithDefaultRequiredSPIFixture extends RequiredSPI {
 }
diff --git 
a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/NotDefaultMultipleRequiredSPIFixtureImpl.java
 
b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/MultipleWithoutDefaultRequiredSPIFixture.java
similarity index 79%
rename from 
infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/NotDefaultMultipleRequiredSPIFixtureImpl.java
rename to 
infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/MultipleWithoutDefaultRequiredSPIFixture.java
index 8c01c18d268..12987260d76 100644
--- 
a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/NotDefaultMultipleRequiredSPIFixtureImpl.java
+++ 
b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/MultipleWithoutDefaultRequiredSPIFixture.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.impl;
+package 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple;
 
-import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleRequiredSPIFixture;
+import org.apache.shardingsphere.infra.util.spi.type.required.RequiredSPI;
 
-public final class NotDefaultMultipleRequiredSPIFixtureImpl implements 
MultipleRequiredSPIFixture {
+public interface MultipleWithoutDefaultRequiredSPIFixture extends RequiredSPI {
 }
diff --git 
a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/DefaultMultipleRequiredSPIFixtureImpl.java
 
b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/BarNotDefaultMultipleRequiredSPIFixtureImpl.java
similarity index 74%
copy from 
infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/DefaultMultipleRequiredSPIFixtureImpl.java
copy to 
infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/BarNotDefaultMultipleRequiredSPIFixtureImpl.java
index 70515891b19..f012bd493a6 100644
--- 
a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/DefaultMultipleRequiredSPIFixtureImpl.java
+++ 
b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/BarNotDefaultMultipleRequiredSPIFixtureImpl.java
@@ -17,12 +17,8 @@
 
 package 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.impl;
 
-import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleRequiredSPIFixture;
+import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleWithDefaultRequiredSPIFixture;
+import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleWithoutDefaultRequiredSPIFixture;
 
-public final class DefaultMultipleRequiredSPIFixtureImpl implements 
MultipleRequiredSPIFixture {
-    
-    @Override
-    public boolean isDefault() {
-        return true;
-    }
+public final class BarNotDefaultMultipleRequiredSPIFixtureImpl implements 
MultipleWithDefaultRequiredSPIFixture, MultipleWithoutDefaultRequiredSPIFixture 
{
 }
diff --git 
a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/DefaultMultipleRequiredSPIFixtureImpl.java
 
b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/DefaultMultipleRequiredSPIFixtureImpl.java
index 70515891b19..13ae9bce872 100644
--- 
a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/DefaultMultipleRequiredSPIFixtureImpl.java
+++ 
b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/DefaultMultipleRequiredSPIFixtureImpl.java
@@ -17,9 +17,9 @@
 
 package 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.impl;
 
-import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleRequiredSPIFixture;
+import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleWithDefaultRequiredSPIFixture;
 
-public final class DefaultMultipleRequiredSPIFixtureImpl implements 
MultipleRequiredSPIFixture {
+public final class DefaultMultipleRequiredSPIFixtureImpl implements 
MultipleWithDefaultRequiredSPIFixture {
     
     @Override
     public boolean isDefault() {
diff --git 
a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/DefaultMultipleRequiredSPIFixtureImpl.java
 
b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/FooNotDefaultMultipleRequiredSPIFixtureImpl.java
similarity index 74%
copy from 
infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/DefaultMultipleRequiredSPIFixtureImpl.java
copy to 
infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/FooNotDefaultMultipleRequiredSPIFixtureImpl.java
index 70515891b19..5142d2917a4 100644
--- 
a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/DefaultMultipleRequiredSPIFixtureImpl.java
+++ 
b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/multiple/impl/FooNotDefaultMultipleRequiredSPIFixtureImpl.java
@@ -17,12 +17,8 @@
 
 package 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.impl;
 
-import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleRequiredSPIFixture;
+import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleWithDefaultRequiredSPIFixture;
+import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleWithoutDefaultRequiredSPIFixture;
 
-public final class DefaultMultipleRequiredSPIFixtureImpl implements 
MultipleRequiredSPIFixture {
-    
-    @Override
-    public boolean isDefault() {
-        return true;
-    }
+public final class FooNotDefaultMultipleRequiredSPIFixtureImpl implements 
MultipleWithDefaultRequiredSPIFixture, MultipleWithoutDefaultRequiredSPIFixture 
{
 }
diff --git 
a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/single/SingleRequiredSPIFixture.java
 
b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/single/SingleRequiredSPIFixture.java
index bd30cc72087..b81cfc946bd 100644
--- 
a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/single/SingleRequiredSPIFixture.java
+++ 
b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/single/SingleRequiredSPIFixture.java
@@ -17,7 +17,8 @@
 
 package org.apache.shardingsphere.infra.util.spi.type.required.fixture.single;
 
+import org.apache.shardingsphere.infra.util.spi.lifecycle.SPIPostProcessor;
 import org.apache.shardingsphere.infra.util.spi.type.required.RequiredSPI;
 
-public interface SingleRequiredSPIFixture extends RequiredSPI {
+public interface SingleRequiredSPIFixture extends RequiredSPI, 
SPIPostProcessor {
 }
diff --git 
a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/single/impl/SingleRequiredSPIFixtureImpl.java
 
b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/single/impl/SingleRequiredSPIFixtureImpl.java
index c6b98cd0cd9..ac81e8ecd1d 100644
--- 
a/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/single/impl/SingleRequiredSPIFixtureImpl.java
+++ 
b/infra/util/src/test/java/org/apache/shardingsphere/infra/util/spi/type/required/fixture/single/impl/SingleRequiredSPIFixtureImpl.java
@@ -17,7 +17,18 @@
 
 package 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.single.impl;
 
+import lombok.Getter;
 import 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.single.SingleRequiredSPIFixture;
 
+import java.util.Properties;
+
+@Getter
 public final class SingleRequiredSPIFixtureImpl implements 
SingleRequiredSPIFixture {
+    
+    private boolean initialized;
+    
+    @Override
+    public void init(final Properties props) {
+        initialized = true;
+    }
 }
diff --git 
a/infra/util/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleRequiredSPIFixture
 
b/infra/util/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleWithDefaultRequiredSPIFixture
similarity index 94%
copy from 
infra/util/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleRequiredSPIFixture
copy to 
infra/util/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleWithDefaultRequiredSPIFixture
index 507e0b8bb9a..b2826f55582 100644
--- 
a/infra/util/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleRequiredSPIFixture
+++ 
b/infra/util/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleWithDefaultRequiredSPIFixture
@@ -16,4 +16,4 @@
 #
 
 
org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.impl.DefaultMultipleRequiredSPIFixtureImpl
-org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.impl.NotDefaultMultipleRequiredSPIFixtureImpl
+org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.impl.FooNotDefaultMultipleRequiredSPIFixtureImpl
diff --git 
a/infra/util/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleRequiredSPIFixture
 
b/infra/util/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleWithoutDefaultRequiredSPIFixture
similarity index 88%
rename from 
infra/util/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleRequiredSPIFixture
rename to 
infra/util/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleWithoutDefaultRequiredSPIFixture
index 507e0b8bb9a..68020541ae3 100644
--- 
a/infra/util/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleRequiredSPIFixture
+++ 
b/infra/util/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.MultipleWithoutDefaultRequiredSPIFixture
@@ -15,5 +15,5 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.impl.DefaultMultipleRequiredSPIFixtureImpl
-org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.impl.NotDefaultMultipleRequiredSPIFixtureImpl
+org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.impl.FooNotDefaultMultipleRequiredSPIFixtureImpl
+org.apache.shardingsphere.infra.util.spi.type.required.fixture.multiple.impl.BarNotDefaultMultipleRequiredSPIFixtureImpl

Reply via email to