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