You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ib...@apache.org on 2021/08/05 14:09:52 UTC

[ignite-3] branch main updated: IGNITE-15262 Removed duplicated TestConfigurationStorage classes. (#261)

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

ibessonov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new e30ee0d  IGNITE-15262 Removed duplicated TestConfigurationStorage classes. (#261)
e30ee0d is described below

commit e30ee0d38a74ac3b77a356116e1b63342daa15da
Author: ibessonov <be...@gmail.com>
AuthorDate: Thu Aug 5 17:09:11 2021 +0300

    IGNITE-15262 Removed duplicated TestConfigurationStorage classes. (#261)
    
    Signed-off-by: ibessonov <be...@gmail.com>
---
 modules/affinity/pom.xml                           |  7 ++
 .../internal/affinity/AffinityManagerTest.java     |  3 +-
 .../affinity/TestConfigurationStorage.java         | 74 ---------------------
 modules/client-handler/pom.xml                     |  7 ++
 .../handler/ClientHandlerIntegrationTest.java      |  1 +
 .../client/handler/TestConfigurationStorage.java   | 75 ----------------------
 modules/client/pom.xml                             |  7 ++
 .../apache/ignite/client/AbstractClientTest.java   |  1 +
 .../ignite/client/TestConfigurationStorage.java    | 75 ----------------------
 modules/configuration-annotation-processor/pom.xml |  7 ++
 .../configuration/ConfigurationChangerTest.java    | 10 +--
 .../configuration/hocon/HoconConverterTest.java    |  2 +-
 .../configuration/json/JsonConverterTest.java      |  2 +-
 .../notifications/ConfigurationListenerTest.java   |  3 +-
 .../internal/configuration/sample/UsageTest.java   |  5 +-
 .../configuration/tree/NamedListNodeTest.java      |  3 +-
 modules/configuration/pom.xml                      | 17 +++++
 .../storage/TestConfigurationStorage.java          | 14 +++-
 modules/schema/pom.xml                             |  7 ++
 .../SchemaConfigurationConverterTest.java          |  4 +-
 .../configuration/TestConfigurationStorage.java    | 64 ------------------
 modules/table/pom.xml                              |  7 ++
 .../ignite/internal/table/TableManagerTest.java    |  1 +
 .../internal/table/TestConfigurationStorage.java   | 74 ---------------------
 parent/pom.xml                                     |  7 ++
 25 files changed, 100 insertions(+), 377 deletions(-)

diff --git a/modules/affinity/pom.xml b/modules/affinity/pom.xml
index 6549e70..a1bfd53 100644
--- a/modules/affinity/pom.xml
+++ b/modules/affinity/pom.xml
@@ -60,6 +60,13 @@
 
         <!-- Test dependencies -->
         <dependency>
+            <groupId>org.apache.ignite</groupId>
+            <artifactId>ignite-configuration</artifactId>
+            <scope>test</scope>
+            <type>test-jar</type>
+        </dependency>
+
+        <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter-api</artifactId>
             <scope>test</scope>
diff --git a/modules/affinity/src/test/java/org/apache/ignite/internal/affinity/AffinityManagerTest.java b/modules/affinity/src/test/java/org/apache/ignite/internal/affinity/AffinityManagerTest.java
index c2ed32e..48c814d 100644
--- a/modules/affinity/src/test/java/org/apache/ignite/internal/affinity/AffinityManagerTest.java
+++ b/modules/affinity/src/test/java/org/apache/ignite/internal/affinity/AffinityManagerTest.java
@@ -30,6 +30,7 @@ import org.apache.ignite.internal.affinity.event.AffinityEvent;
 import org.apache.ignite.internal.affinity.event.AffinityEventParameters;
 import org.apache.ignite.internal.baseline.BaselineManager;
 import org.apache.ignite.internal.configuration.ConfigurationManager;
+import org.apache.ignite.internal.configuration.storage.TestConfigurationStorage;
 import org.apache.ignite.internal.manager.EventListener;
 import org.apache.ignite.internal.metastorage.MetaStorageManager;
 import org.apache.ignite.internal.metastorage.client.Condition;
@@ -39,8 +40,8 @@ import org.apache.ignite.internal.metastorage.client.Operation;
 import org.apache.ignite.internal.metastorage.client.WatchEvent;
 import org.apache.ignite.internal.metastorage.client.WatchListener;
 import org.apache.ignite.internal.util.ByteUtils;
-import org.apache.ignite.internal.vault.VaultManager;
 import org.apache.ignite.internal.vault.VaultEntry;
+import org.apache.ignite.internal.vault.VaultManager;
 import org.apache.ignite.lang.ByteArray;
 import org.apache.ignite.lang.IgniteLogger;
 import org.jetbrains.annotations.NotNull;
diff --git a/modules/affinity/src/test/java/org/apache/ignite/internal/affinity/TestConfigurationStorage.java b/modules/affinity/src/test/java/org/apache/ignite/internal/affinity/TestConfigurationStorage.java
deleted file mode 100644
index 9276a70..0000000
--- a/modules/affinity/src/test/java/org/apache/ignite/internal/affinity/TestConfigurationStorage.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.affinity;
-
-import java.io.Serializable;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.CompletableFuture;
-import org.apache.ignite.configuration.annotation.ConfigurationType;
-import org.apache.ignite.internal.configuration.storage.ConfigurationStorage;
-import org.apache.ignite.internal.configuration.storage.ConfigurationStorageListener;
-import org.apache.ignite.internal.configuration.storage.Data;
-import org.apache.ignite.internal.configuration.storage.StorageException;
-
-/**
- * Test configurationstorage.
- */
-public class TestConfigurationStorage implements ConfigurationStorage {
-    /** Listeners. */
-    private final Set<ConfigurationStorageListener> listeners = new HashSet<>();
-
-    /** Configuration type. */
-    private final ConfigurationType type;
-
-    /**
-     * @param type Configuration type.
-     */
-    public TestConfigurationStorage(ConfigurationType type) {
-        this.type = type;
-    }
-
-    /** {@inheritDoc} */
-    @Override public Data readAll() throws StorageException {
-        return new Data(Collections.emptyMap(), 0);
-    }
-
-    /** {@inheritDoc} */
-    @Override public CompletableFuture<Boolean> write(Map<String, Serializable> newValues, long version) {
-        for (ConfigurationStorageListener listener : listeners)
-            listener.onEntriesChanged(new Data(newValues, version + 1));
-
-        return CompletableFuture.completedFuture(true);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void registerConfigurationListener(ConfigurationStorageListener listener) {
-        listeners.add(listener);
-    }
-
-    @Override public void notifyApplied(long storageRevision) {
-    }
-
-    /** {@inheritDoc} */
-    @Override public ConfigurationType type() {
-        return type;
-    }
-}
diff --git a/modules/client-handler/pom.xml b/modules/client-handler/pom.xml
index 4c7eaff..712561d 100644
--- a/modules/client-handler/pom.xml
+++ b/modules/client-handler/pom.xml
@@ -102,6 +102,13 @@
 
         <!-- Test dependencies -->
         <dependency>
+            <groupId>org.apache.ignite</groupId>
+            <artifactId>ignite-configuration</artifactId>
+            <scope>test</scope>
+            <type>test-jar</type>
+        </dependency>
+
+        <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter-api</artifactId>
             <scope>test</scope>
diff --git a/modules/client-handler/src/test/java/org/apache/ignite/client/handler/ClientHandlerIntegrationTest.java b/modules/client-handler/src/test/java/org/apache/ignite/client/handler/ClientHandlerIntegrationTest.java
index 6304b8a..29733db 100644
--- a/modules/client-handler/src/test/java/org/apache/ignite/client/handler/ClientHandlerIntegrationTest.java
+++ b/modules/client-handler/src/test/java/org/apache/ignite/client/handler/ClientHandlerIntegrationTest.java
@@ -27,6 +27,7 @@ import org.apache.ignite.app.Ignite;
 import org.apache.ignite.configuration.annotation.ConfigurationType;
 import org.apache.ignite.configuration.schemas.clientconnector.ClientConnectorConfiguration;
 import org.apache.ignite.internal.configuration.ConfigurationRegistry;
+import org.apache.ignite.internal.configuration.storage.TestConfigurationStorage;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/modules/client-handler/src/test/java/org/apache/ignite/client/handler/TestConfigurationStorage.java b/modules/client-handler/src/test/java/org/apache/ignite/client/handler/TestConfigurationStorage.java
deleted file mode 100644
index e170b7f..0000000
--- a/modules/client-handler/src/test/java/org/apache/ignite/client/handler/TestConfigurationStorage.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.client.handler;
-
-import java.io.Serializable;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.CompletableFuture;
-
-import org.apache.ignite.configuration.annotation.ConfigurationType;
-import org.apache.ignite.internal.configuration.storage.ConfigurationStorage;
-import org.apache.ignite.internal.configuration.storage.ConfigurationStorageListener;
-import org.apache.ignite.internal.configuration.storage.Data;
-import org.apache.ignite.internal.configuration.storage.StorageException;
-
-/**
- * Test configuration storage.
- */
-public class TestConfigurationStorage implements ConfigurationStorage {
-    /** Listeners. */
-    private final Set<ConfigurationStorageListener> listeners = new HashSet<>();
-
-    /** Configuration type. */
-    private final ConfigurationType type;
-
-    /**
-     * @param type Configuration type.
-     */
-    public TestConfigurationStorage(ConfigurationType type) {
-        this.type = type;
-    }
-
-    /** {@inheritDoc} */
-    @Override public Data readAll() throws StorageException {
-        return new Data(Collections.emptyMap(), 0);
-    }
-
-    /** {@inheritDoc} */
-    @Override public CompletableFuture<Boolean> write(Map<String, Serializable> newValues, long version) {
-        for (ConfigurationStorageListener listener : listeners)
-            listener.onEntriesChanged(new Data(newValues, version + 1));
-
-        return CompletableFuture.completedFuture(true);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void registerConfigurationListener(ConfigurationStorageListener listener) {
-        listeners.add(listener);
-    }
-
-    @Override public void notifyApplied(long storageRevision) {
-    }
-
-    /** {@inheritDoc} */
-    @Override public ConfigurationType type() {
-        return type;
-    }
-}
diff --git a/modules/client/pom.xml b/modules/client/pom.xml
index 05c2d0c..d35892e 100644
--- a/modules/client/pom.xml
+++ b/modules/client/pom.xml
@@ -106,12 +106,19 @@
             <scope>test</scope>
         </dependency>
 
+        <!-- Test dependencies -->
         <dependency>
             <groupId>org.apache.ignite</groupId>
             <artifactId>ignite-client-handler</artifactId>
             <scope>test</scope>
         </dependency>
 
+        <dependency>
+            <groupId>org.apache.ignite</groupId>
+            <artifactId>ignite-configuration</artifactId>
+            <scope>test</scope>
+            <type>test-jar</type>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/modules/client/src/test/java/org/apache/ignite/client/AbstractClientTest.java b/modules/client/src/test/java/org/apache/ignite/client/AbstractClientTest.java
index 48678a9..b6625ed 100644
--- a/modules/client/src/test/java/org/apache/ignite/client/AbstractClientTest.java
+++ b/modules/client/src/test/java/org/apache/ignite/client/AbstractClientTest.java
@@ -28,6 +28,7 @@ import org.apache.ignite.configuration.annotation.ConfigurationType;
 import org.apache.ignite.configuration.schemas.clientconnector.ClientConnectorConfiguration;
 import org.apache.ignite.internal.client.table.ClientTupleBuilder;
 import org.apache.ignite.internal.configuration.ConfigurationRegistry;
+import org.apache.ignite.internal.configuration.storage.TestConfigurationStorage;
 import org.apache.ignite.table.Tuple;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
diff --git a/modules/client/src/test/java/org/apache/ignite/client/TestConfigurationStorage.java b/modules/client/src/test/java/org/apache/ignite/client/TestConfigurationStorage.java
deleted file mode 100644
index 5165848..0000000
--- a/modules/client/src/test/java/org/apache/ignite/client/TestConfigurationStorage.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.client;
-
-import java.io.Serializable;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.CompletableFuture;
-
-import org.apache.ignite.configuration.annotation.ConfigurationType;
-import org.apache.ignite.internal.configuration.storage.ConfigurationStorage;
-import org.apache.ignite.internal.configuration.storage.ConfigurationStorageListener;
-import org.apache.ignite.internal.configuration.storage.Data;
-import org.apache.ignite.internal.configuration.storage.StorageException;
-
-/**
- * Configuration storage for tests.
- */
-public class TestConfigurationStorage implements ConfigurationStorage {
-    /** Listeners. */
-    private final Set<ConfigurationStorageListener> listeners = new HashSet<>();
-
-    /** Configuration type. */
-    private final ConfigurationType type;
-
-    /**
-     * @param type Configuration type.
-     */
-    public TestConfigurationStorage(ConfigurationType type) {
-        this.type = type;
-    }
-
-    /** {@inheritDoc} */
-    @Override public Data readAll() throws StorageException {
-        return new Data(Collections.emptyMap(), 0);
-    }
-
-    /** {@inheritDoc} */
-    @Override public CompletableFuture<Boolean> write(Map<String, Serializable> newValues, long version) {
-        for (ConfigurationStorageListener listener : listeners)
-            listener.onEntriesChanged(new Data(newValues, version + 1));
-
-        return CompletableFuture.completedFuture(true);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void registerConfigurationListener(ConfigurationStorageListener listener) {
-        listeners.add(listener);
-    }
-
-    @Override public void notifyApplied(long storageRevision) {
-    }
-
-    /** {@inheritDoc} */
-    @Override public ConfigurationType type() {
-        return type;
-    }
-}
diff --git a/modules/configuration-annotation-processor/pom.xml b/modules/configuration-annotation-processor/pom.xml
index b7acef6..710ab0b 100644
--- a/modules/configuration-annotation-processor/pom.xml
+++ b/modules/configuration-annotation-processor/pom.xml
@@ -52,6 +52,13 @@
         </dependency>
 
         <dependency>
+            <groupId>org.apache.ignite</groupId>
+            <artifactId>ignite-configuration</artifactId>
+            <scope>test</scope>
+            <type>test-jar</type>
+        </dependency>
+
+        <dependency>
             <groupId>com.google.code.gson</groupId>
             <artifactId>gson</artifactId>
             <scope>test</scope>
diff --git a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/ConfigurationChangerTest.java b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/ConfigurationChangerTest.java
index 741af6d..f7cc95d 100644
--- a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/ConfigurationChangerTest.java
+++ b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/ConfigurationChangerTest.java
@@ -108,7 +108,7 @@ public class ConfigurationChangerTest {
      */
     @Test
     public void testSimpleConfigurationChange() throws Exception {
-        final TestConfigurationStorage storage = new TestConfigurationStorage();
+        var storage = new TestConfigurationStorage(ConfigurationType.LOCAL);
 
         ConfigurationChanger changer = new TestConfigurationChanger(cgen);
         changer.addRootKey(KEY);
@@ -131,7 +131,7 @@ public class ConfigurationChangerTest {
      */
     @Test
     public void testModifiedFromAnotherStorage() throws Exception {
-        final TestConfigurationStorage storage = new TestConfigurationStorage();
+        var storage = new TestConfigurationStorage(ConfigurationType.LOCAL);
 
         ConfigurationChanger changer1 = new TestConfigurationChanger(cgen);
         changer1.addRootKey(KEY);
@@ -174,7 +174,7 @@ public class ConfigurationChangerTest {
      */
     @Test
     public void testModifiedFromAnotherStorageWithIncompatibleChanges() throws Exception {
-        final TestConfigurationStorage storage = new TestConfigurationStorage();
+        var storage = new TestConfigurationStorage(ConfigurationType.LOCAL);
 
         ConfigurationChanger changer1 = new TestConfigurationChanger(cgen);
         changer1.addRootKey(KEY);
@@ -215,7 +215,7 @@ public class ConfigurationChangerTest {
      */
     @Test
     public void testFailedToWrite() {
-        final TestConfigurationStorage storage = new TestConfigurationStorage();
+        var storage = new TestConfigurationStorage(ConfigurationType.LOCAL);
 
         ConfigurationChanger changer = new TestConfigurationChanger(cgen);
         changer.addRootKey(KEY);
@@ -279,7 +279,7 @@ public class ConfigurationChangerTest {
 
         changer.addRootKey(DefaultsConfiguration.KEY);
 
-        TestConfigurationStorage storage = new TestConfigurationStorage();
+        var storage = new TestConfigurationStorage(ConfigurationType.LOCAL);
 
         changer.register(storage);
 
diff --git a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/hocon/HoconConverterTest.java b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/hocon/HoconConverterTest.java
index 39c475e..5b151d5 100644
--- a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/hocon/HoconConverterTest.java
+++ b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/hocon/HoconConverterTest.java
@@ -160,7 +160,7 @@ public class HoconConverterTest {
         registry = new ConfigurationRegistry(
             Collections.singletonList(HoconRootConfiguration.KEY),
             Collections.emptyMap(),
-            Collections.singletonList(new TestConfigurationStorage())
+            Collections.singletonList(new TestConfigurationStorage(ConfigurationType.LOCAL))
         );
 
         registry.start();
diff --git a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/json/JsonConverterTest.java b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/json/JsonConverterTest.java
index b81d82d..fe94279 100644
--- a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/json/JsonConverterTest.java
+++ b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/json/JsonConverterTest.java
@@ -160,7 +160,7 @@ public class JsonConverterTest {
         registry = new ConfigurationRegistry(
             Collections.singletonList(JsonRootConfiguration.KEY),
             Collections.emptyMap(),
-            Collections.singletonList(new TestConfigurationStorage())
+            Collections.singletonList(new TestConfigurationStorage(ConfigurationType.LOCAL))
         );
 
         registry.start();
diff --git a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/notifications/ConfigurationListenerTest.java b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/notifications/ConfigurationListenerTest.java
index 3a5d906..351f8d1 100644
--- a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/notifications/ConfigurationListenerTest.java
+++ b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/notifications/ConfigurationListenerTest.java
@@ -32,7 +32,6 @@ import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.configuration.notifications.ConfigurationNamedListListener;
 import org.apache.ignite.configuration.notifications.ConfigurationNotificationEvent;
 import org.apache.ignite.internal.configuration.ConfigurationRegistry;
-import org.apache.ignite.internal.configuration.storage.ConfigurationStorage;
 import org.apache.ignite.internal.configuration.storage.TestConfigurationStorage;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
@@ -78,7 +77,7 @@ public class ConfigurationListenerTest {
     /** */
     @BeforeEach
     public void before() {
-        ConfigurationStorage testConfigurationStorage = new TestConfigurationStorage();
+        var testConfigurationStorage = new TestConfigurationStorage(ConfigurationType.LOCAL);
 
         registry = new ConfigurationRegistry(
             Collections.singletonList(ParentConfiguration.KEY),
diff --git a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/sample/UsageTest.java b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/sample/UsageTest.java
index 6756cb9..2d017cf 100644
--- a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/sample/UsageTest.java
+++ b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/sample/UsageTest.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.configuration.sample;
 
 import java.util.Arrays;
 import java.util.Collections;
+import org.apache.ignite.configuration.annotation.ConfigurationType;
 import org.apache.ignite.internal.configuration.ConfigurationRegistry;
 import org.apache.ignite.internal.configuration.storage.TestConfigurationStorage;
 import org.junit.jupiter.api.AfterEach;
@@ -51,7 +52,7 @@ public class UsageTest {
         registry = new ConfigurationRegistry(
             Collections.singletonList(LocalConfiguration.KEY),
             Collections.emptyMap(),
-            Collections.singletonList(new TestConfigurationStorage())
+            Collections.singletonList(new TestConfigurationStorage(ConfigurationType.LOCAL))
         );
 
         registry.start();
@@ -109,7 +110,7 @@ public class UsageTest {
         registry = new ConfigurationRegistry(
             Arrays.asList(NetworkConfiguration.KEY, LocalConfiguration.KEY),
             Collections.emptyMap(),
-            Collections.singletonList(new TestConfigurationStorage())
+            Collections.singletonList(new TestConfigurationStorage(ConfigurationType.LOCAL))
         );
 
         registry.start();
diff --git a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/tree/NamedListNodeTest.java b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/tree/NamedListNodeTest.java
index 4d2df6e..6f87b3a 100644
--- a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/tree/NamedListNodeTest.java
+++ b/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/tree/NamedListNodeTest.java
@@ -21,6 +21,7 @@ import java.io.Serializable;
 import java.util.Map;
 import org.apache.ignite.configuration.annotation.Config;
 import org.apache.ignite.configuration.annotation.ConfigurationRoot;
+import org.apache.ignite.configuration.annotation.ConfigurationType;
 import org.apache.ignite.configuration.annotation.NamedConfigValue;
 import org.apache.ignite.configuration.annotation.Value;
 import org.apache.ignite.internal.configuration.TestConfigurationChanger;
@@ -86,7 +87,7 @@ public class NamedListNodeTest {
     /** */
     @BeforeEach
     public void before() {
-        storage = new TestConfigurationStorage();
+        storage = new TestConfigurationStorage(ConfigurationType.LOCAL);
 
         changer = new TestConfigurationChanger(cgen);
         changer.addRootKey(AConfiguration.KEY);
diff --git a/modules/configuration/pom.xml b/modules/configuration/pom.xml
index 9af6f5e..4fca890 100644
--- a/modules/configuration/pom.xml
+++ b/modules/configuration/pom.xml
@@ -61,4 +61,21 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>default-testJar</id>
+                        <goals>
+                            <goal>test-jar</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
 </project>
diff --git a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/storage/TestConfigurationStorage.java b/modules/configuration/src/test/java/org/apache/ignite/internal/configuration/storage/TestConfigurationStorage.java
similarity index 91%
rename from modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/storage/TestConfigurationStorage.java
rename to modules/configuration/src/test/java/org/apache/ignite/internal/configuration/storage/TestConfigurationStorage.java
index c8530ed..e0cb771 100644
--- a/modules/configuration-annotation-processor/src/test/java/org/apache/ignite/internal/configuration/storage/TestConfigurationStorage.java
+++ b/modules/configuration/src/test/java/org/apache/ignite/internal/configuration/storage/TestConfigurationStorage.java
@@ -29,6 +29,9 @@ import org.apache.ignite.configuration.annotation.ConfigurationType;
  * Test configuration storage.
  */
 public class TestConfigurationStorage implements ConfigurationStorage {
+    /** Configuration type.*/
+    private final ConfigurationType configurationType;
+
     /** Map to store values. */
     private Map<String, Serializable> map = new HashMap<>();
 
@@ -42,6 +45,15 @@ public class TestConfigurationStorage implements ConfigurationStorage {
     private boolean fail = false;
 
     /**
+     * Constructor.
+     *
+     * @param type Configuration type.
+     */
+    public TestConfigurationStorage(ConfigurationType type) {
+        configurationType = type;
+    }
+
+    /**
      * Set fail flag.
      * @param fail Fail flag.
      */
@@ -90,6 +102,6 @@ public class TestConfigurationStorage implements ConfigurationStorage {
 
     /** {@inheritDoc} */
     @Override public ConfigurationType type() {
-        return ConfigurationType.LOCAL;
+        return configurationType;
     }
 }
diff --git a/modules/schema/pom.xml b/modules/schema/pom.xml
index e2043f8..cb3f3c7 100644
--- a/modules/schema/pom.xml
+++ b/modules/schema/pom.xml
@@ -61,6 +61,13 @@
 
         <!-- Test dependencies -->
         <dependency>
+            <groupId>org.apache.ignite</groupId>
+            <artifactId>ignite-configuration</artifactId>
+            <scope>test</scope>
+            <type>test-jar</type>
+        </dependency>
+
+        <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter-engine</artifactId>
             <scope>test</scope>
diff --git a/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/SchemaConfigurationConverterTest.java b/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/SchemaConfigurationConverterTest.java
index 3aaccc9..89634d8 100644
--- a/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/SchemaConfigurationConverterTest.java
+++ b/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/SchemaConfigurationConverterTest.java
@@ -21,10 +21,12 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.concurrent.ExecutionException;
 import java.util.stream.Collectors;
+import org.apache.ignite.configuration.annotation.ConfigurationType;
 import org.apache.ignite.configuration.schemas.table.TableConfiguration;
 import org.apache.ignite.configuration.schemas.table.TableValidator;
 import org.apache.ignite.configuration.schemas.table.TablesConfiguration;
 import org.apache.ignite.internal.configuration.ConfigurationRegistry;
+import org.apache.ignite.internal.configuration.storage.TestConfigurationStorage;
 import org.apache.ignite.schema.ColumnType;
 import org.apache.ignite.schema.HashIndex;
 import org.apache.ignite.schema.PartialIndex;
@@ -68,7 +70,7 @@ public class SchemaConfigurationConverterTest {
         confRegistry = new ConfigurationRegistry(
             Collections.singleton(TablesConfiguration.KEY),
             Collections.singletonMap(TableValidator.class, Collections.singleton(SchemaTableValidatorImpl.INSTANCE)),
-            Collections.singleton(new TestConfigurationStorage()));
+            Collections.singleton(new TestConfigurationStorage(ConfigurationType.DISTRIBUTED)));
 
         confRegistry.start();
 
diff --git a/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/TestConfigurationStorage.java b/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/TestConfigurationStorage.java
deleted file mode 100644
index 32150aa..0000000
--- a/modules/schema/src/test/java/org/apache/ignite/internal/schema/configuration/TestConfigurationStorage.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.schema.configuration;
-
-import java.io.Serializable;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.CompletableFuture;
-import org.apache.ignite.configuration.annotation.ConfigurationType;
-import org.apache.ignite.internal.configuration.storage.ConfigurationStorage;
-import org.apache.ignite.internal.configuration.storage.ConfigurationStorageListener;
-import org.apache.ignite.internal.configuration.storage.Data;
-import org.apache.ignite.internal.configuration.storage.StorageException;
-
-/**
- * Configuration storage for tests.
- */
-public class TestConfigurationStorage implements ConfigurationStorage {
-    /** */
-    private final Set<ConfigurationStorageListener> listeners = new HashSet<>();
-
-    /** {@inheritDoc} */
-    @Override public Data readAll() throws StorageException {
-        return new Data(Collections.emptyMap(), 0);
-    }
-
-    /** {@inheritDoc} */
-    @Override public CompletableFuture<Boolean> write(Map<String, Serializable> newValues, long version) {
-        for (ConfigurationStorageListener listener : listeners)
-            listener.onEntriesChanged(new Data(newValues, version + 1));
-
-        return CompletableFuture.completedFuture(true);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void registerConfigurationListener(ConfigurationStorageListener listener) {
-        listeners.add(listener);
-    }
-
-    @Override public void notifyApplied(long storageRevision) {
-    }
-
-    /** {@inheritDoc} */
-    @Override public ConfigurationType type() {
-        return ConfigurationType.DISTRIBUTED;
-    }
-}
diff --git a/modules/table/pom.xml b/modules/table/pom.xml
index 4adb93a..6f9f25e 100644
--- a/modules/table/pom.xml
+++ b/modules/table/pom.xml
@@ -85,6 +85,13 @@
 
         <!-- Test dependencies -->
         <dependency>
+            <groupId>org.apache.ignite</groupId>
+            <artifactId>ignite-configuration</artifactId>
+            <scope>test</scope>
+            <type>test-jar</type>
+        </dependency>
+
+        <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter-engine</artifactId>
             <scope>test</scope>
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/TableManagerTest.java b/modules/table/src/test/java/org/apache/ignite/internal/table/TableManagerTest.java
index fe52cab..bb0d1b5 100644
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/TableManagerTest.java
+++ b/modules/table/src/test/java/org/apache/ignite/internal/table/TableManagerTest.java
@@ -36,6 +36,7 @@ import org.apache.ignite.internal.affinity.AffinityManager;
 import org.apache.ignite.internal.affinity.event.AffinityEvent;
 import org.apache.ignite.internal.affinity.event.AffinityEventParameters;
 import org.apache.ignite.internal.configuration.ConfigurationManager;
+import org.apache.ignite.internal.configuration.storage.TestConfigurationStorage;
 import org.apache.ignite.internal.configuration.tree.NamedListNode;
 import org.apache.ignite.internal.configuration.util.ConfigurationUtil;
 import org.apache.ignite.internal.manager.EventListener;
diff --git a/modules/table/src/test/java/org/apache/ignite/internal/table/TestConfigurationStorage.java b/modules/table/src/test/java/org/apache/ignite/internal/table/TestConfigurationStorage.java
deleted file mode 100644
index ff89054..0000000
--- a/modules/table/src/test/java/org/apache/ignite/internal/table/TestConfigurationStorage.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.table;
-
-import java.io.Serializable;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.CompletableFuture;
-import org.apache.ignite.configuration.annotation.ConfigurationType;
-import org.apache.ignite.internal.configuration.storage.ConfigurationStorage;
-import org.apache.ignite.internal.configuration.storage.ConfigurationStorageListener;
-import org.apache.ignite.internal.configuration.storage.Data;
-import org.apache.ignite.internal.configuration.storage.StorageException;
-
-/**
- * Test configurationstorage.
- */
-public class TestConfigurationStorage implements ConfigurationStorage {
-    /** Listeners. */
-    private final Set<ConfigurationStorageListener> listeners = new HashSet<>();
-
-    /** Configuration type. */
-    private final ConfigurationType type;
-
-    /**
-     * @param type Configuration type.
-     */
-    public TestConfigurationStorage(ConfigurationType type) {
-        this.type = type;
-    }
-
-    /** {@inheritDoc} */
-    @Override public Data readAll() throws StorageException {
-        return new Data(Collections.emptyMap(), 0);
-    }
-
-    /** {@inheritDoc} */
-    @Override public CompletableFuture<Boolean> write(Map<String, Serializable> newValues, long version) {
-        for (ConfigurationStorageListener listener : listeners)
-            listener.onEntriesChanged(new Data(newValues, version + 1));
-
-        return CompletableFuture.completedFuture(true);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void registerConfigurationListener(ConfigurationStorageListener listener) {
-        listeners.add(listener);
-    }
-
-    @Override public void notifyApplied(long storageRevision) {
-    }
-
-    /** {@inheritDoc} */
-    @Override public ConfigurationType type() {
-        return type;
-    }
-}
diff --git a/parent/pom.xml b/parent/pom.xml
index ff9941a..114f934 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -452,6 +452,13 @@
             <!-- Test dependencies -->
             <dependency>
                 <groupId>org.apache.ignite</groupId>
+                <artifactId>ignite-configuration</artifactId>
+                <version>${project.version}</version>
+                <type>test-jar</type>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.ignite</groupId>
                 <artifactId>ignite-core</artifactId>
                 <version>${project.version}</version>
                 <type>test-jar</type>