Search in sources :

Example 6 with TestConfigurationStorage

use of org.apache.ignite.internal.configuration.storage.TestConfigurationStorage in project ignite-3 by apache.

the class ConfigurationPresentationTest method beforeAll.

/**
 * Before all.
 */
@BeforeAll
static void beforeAll() {
    Validator<Value, Object> validator = new Validator<>() {

        /**
         * {@inheritDoc}
         */
        @Override
        public void validate(Value annotation, ValidationContext<Object> ctx) {
            if (Objects.equals("error", ctx.getNewValue())) {
                ctx.addIssue(new ValidationIssue("Error word"));
            }
        }
    };
    cfgRegistry = new ConfigurationRegistry(List.of(TestRootConfiguration.KEY), Map.of(Value.class, Set.of(validator)), new TestConfigurationStorage(LOCAL), List.of(), List.of());
    cfgRegistry.start();
    cfgPresentation = new HoconPresentation(cfgRegistry);
    cfg = cfgRegistry.getConfiguration(TestRootConfiguration.KEY);
}
Also used : TestConfigurationStorage(org.apache.ignite.internal.configuration.storage.TestConfigurationStorage) Matchers.nullValue(org.hamcrest.Matchers.nullValue) ConfigValue(org.apache.ignite.configuration.annotation.ConfigValue) Value(org.apache.ignite.configuration.annotation.Value) HoconPresentation(org.apache.ignite.internal.configuration.rest.presentation.hocon.HoconPresentation) ConfigurationRegistry(org.apache.ignite.internal.configuration.ConfigurationRegistry) ValidationIssue(org.apache.ignite.configuration.validation.ValidationIssue) Validator(org.apache.ignite.configuration.validation.Validator) ValidationContext(org.apache.ignite.configuration.validation.ValidationContext) BeforeAll(org.junit.jupiter.api.BeforeAll)

Example 7 with TestConfigurationStorage

use of org.apache.ignite.internal.configuration.storage.TestConfigurationStorage in project ignite-3 by apache.

the class ConfigurationRegistryTest method testValidationInternalConfigurationExtensions.

@Test
void testValidationInternalConfigurationExtensions() {
    assertThrows(IllegalArgumentException.class, () -> new ConfigurationRegistry(List.of(SecondRootConfiguration.KEY), Map.of(), new TestConfigurationStorage(LOCAL), List.of(ExtendedFirstRootConfigurationSchema.class), List.of()));
    // Check that everything is fine.
    ConfigurationRegistry configRegistry = new ConfigurationRegistry(List.of(FirstRootConfiguration.KEY, SecondRootConfiguration.KEY), Map.of(), new TestConfigurationStorage(LOCAL), List.of(ExtendedFirstRootConfigurationSchema.class), List.of());
    configRegistry.stop();
}
Also used : TestConfigurationStorage(org.apache.ignite.internal.configuration.storage.TestConfigurationStorage) Test(org.junit.jupiter.api.Test)

Example 8 with TestConfigurationStorage

use of org.apache.ignite.internal.configuration.storage.TestConfigurationStorage in project ignite-3 by apache.

the class ConfigurationAsmGeneratorTest method beforeEach.

@BeforeEach
void beforeEach() {
    Collection<Class<?>> internalExtensions = List.of(ExtendedTestRootConfigurationSchema.class, ExtendedSecondTestRootConfigurationSchema.class, ExtendedTestConfigurationSchema.class, ExtendedSecondTestConfigurationSchema.class);
    Collection<Class<?>> polymorphicExtensions = List.of(FirstPolymorphicInstanceTestConfigurationSchema.class, SecondPolymorphicInstanceTestConfigurationSchema.class, NonDefaultPolymorphicInstanceTestConfigurationSchema.class, FirstPolymorphicNamedInstanceTestConfigurationSchema.class, SecondPolymorphicNamedInstanceTestConfigurationSchema.class, PolyInst0InjectedNameConfigurationSchema.class, PolyInst1InjectedNameConfigurationSchema.class);
    changer = new TestConfigurationChanger(generator, List.of(TestRootConfiguration.KEY, InjectedNameRootConfiguration.KEY), Map.of(), new TestConfigurationStorage(LOCAL), internalExtensions, polymorphicExtensions);
    changer.start();
    changer.initializeDefaults();
}
Also used : TestConfigurationStorage(org.apache.ignite.internal.configuration.storage.TestConfigurationStorage) TestConfigurationChanger(org.apache.ignite.internal.configuration.TestConfigurationChanger) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 9 with TestConfigurationStorage

use of org.apache.ignite.internal.configuration.storage.TestConfigurationStorage in project ignite-3 by apache.

the class ConfigurationAnyListenerTest method before.

/**
 * Before each.
 */
@BeforeEach
public void before() throws Exception {
    registry = new ConfigurationRegistry(List.of(RootConfiguration.KEY), Map.of(), new TestConfigurationStorage(LOCAL), List.of(), List.of(FirstPolyAnyConfigurationSchema.class, SecondPolyAnyConfigurationSchema.class));
    registry.start();
    registry.initializeDefaults();
    rootConfig = registry.getConfiguration(RootConfiguration.KEY);
    // Add "regular" listeners.
    rootConfig.listen(configListener(ctx -> events.add("root")));
    rootConfig.child().listen(configListener(ctx -> events.add("root.child")));
    rootConfig.child().str().listen(configListener(ctx -> events.add("root.child.str")));
    rootConfig.child().child2().listen(configListener(ctx -> events.add("root.child.child2")));
    rootConfig.child().child2().intVal().listen(configListener(ctx -> events.add("root.child.child2.i")));
    rootConfig.elements().listen(configListener(ctx -> events.add("root.elements")));
    rootConfig.elements().listenElements(configNamedListenerOnCreate(ctx -> events.add("root.elements.onCrt")));
    rootConfig.elements().listenElements(configNamedListenerOnUpdate(ctx -> events.add("root.elements.onUpd")));
    rootConfig.elements().listenElements(configNamedListenerOnRename(ctx -> events.add("root.elements.onRen")));
    rootConfig.elements().listenElements(configNamedListenerOnDelete(ctx -> events.add("root.elements.onDel")));
    rootConfig.elements().change(c -> c.create("0", doNothingConsumer())).get(1, SECONDS);
    FirstSubConfiguration childCfg = this.rootConfig.elements().get("0");
    childCfg.listen(configListener(ctx -> events.add("root.elements.0")));
    childCfg.str().listen(configListener(ctx -> events.add("root.elements.0.str")));
    childCfg.child2().listen(configListener(ctx -> events.add("root.elements.0.child2")));
    childCfg.child2().intVal().listen(configListener(ctx -> events.add("root.elements.0.child2.i")));
    NamedConfigurationTree<SecondSubConfiguration, SecondSubView, SecondSubChange> elements2 = childCfg.elements2();
    elements2.listen(configListener(ctx -> events.add("root.elements.0.elements2")));
    elements2.listenElements(configNamedListenerOnCreate(ctx -> events.add("root.elements.0.elements2.onCrt")));
    elements2.listenElements(configNamedListenerOnUpdate(ctx -> events.add("root.elements.0.elements2.onUpd")));
    elements2.listenElements(configNamedListenerOnRename(ctx -> events.add("root.elements.0.elements2.onRen")));
    elements2.listenElements(configNamedListenerOnDelete(ctx -> events.add("root.elements.0.elements2.onDel")));
    elements2.change(c -> c.create("0", doNothingConsumer())).get(1, SECONDS);
    SecondSubConfiguration child2 = elements2.get("0");
    child2.listen(configListener(ctx -> events.add("root.elements.0.elements2.0")));
    child2.intVal().listen(configListener(ctx -> events.add("root.elements.0.elements2.0.i")));
    // Adding "any" listeners.
    FirstSubConfiguration anyChild = rootConfig.elements().any();
    anyChild.listen(configListener(ctx -> events.add("root.elements.any")));
    anyChild.str().listen(configListener(ctx -> events.add("root.elements.any.str")));
    anyChild.child2().listen(configListener(ctx -> events.add("root.elements.any.child2")));
    anyChild.child2().intVal().listen(configListener(ctx -> events.add("root.elements.any.child2.i")));
    NamedConfigurationTree<SecondSubConfiguration, SecondSubView, SecondSubChange> anyEl2 = anyChild.elements2();
    anyEl2.listen(configListener(ctx -> events.add("root.elements.any.elements2")));
    anyEl2.listenElements(configNamedListenerOnCreate(ctx -> events.add("root.elements.any.elements2.onCrt")));
    anyEl2.listenElements(configNamedListenerOnUpdate(ctx -> events.add("root.elements.any.elements2.onUpd")));
    anyEl2.listenElements(configNamedListenerOnRename(ctx -> events.add("root.elements.any.elements2.onRen")));
    anyEl2.listenElements(configNamedListenerOnDelete(ctx -> events.add("root.elements.any.elements2.onDel")));
    SecondSubConfiguration anyChild2 = anyEl2.any();
    anyChild2.listen(configListener(ctx -> events.add("root.elements.any.elements2.any")));
    anyChild2.intVal().listen(configListener(ctx -> events.add("root.elements.any.elements2.any.i")));
    childCfg.elements2().any().listen(configListener(ctx -> events.add("root.elements.0.elements2.any")));
    childCfg.elements2().any().intVal().listen(configListener(ctx -> events.add("root.elements.0.elements2.any.i")));
}
Also used : TestConfigurationStorage(org.apache.ignite.internal.configuration.storage.TestConfigurationStorage) Assertions.assertThrows(org.junit.jupiter.api.Assertions.assertThrows) PolymorphicId(org.apache.ignite.configuration.annotation.PolymorphicId) Assertions.assertNotNull(org.junit.jupiter.api.Assertions.assertNotNull) BeforeEach(org.junit.jupiter.api.BeforeEach) ConfigurationListenerTestUtils.configNamedListenerOnRename(org.apache.ignite.internal.configuration.notifications.ConfigurationListenerTestUtils.configNamedListenerOnRename) Assertions.assertNull(org.junit.jupiter.api.Assertions.assertNull) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) ConfigurationListenerTestUtils.configNamedListenerOnDelete(org.apache.ignite.internal.configuration.notifications.ConfigurationListenerTestUtils.configNamedListenerOnDelete) NamedConfigValue(org.apache.ignite.configuration.annotation.NamedConfigValue) ConfigurationListenerTestUtils.configListener(org.apache.ignite.internal.configuration.notifications.ConfigurationListenerTestUtils.configListener) Map(java.util.Map) PolymorphicConfig(org.apache.ignite.configuration.annotation.PolymorphicConfig) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) NamedConfigurationTree(org.apache.ignite.configuration.NamedConfigurationTree) ConfigurationListenerTestUtils.configNamedListenerOnUpdate(org.apache.ignite.internal.configuration.notifications.ConfigurationListenerTestUtils.configNamedListenerOnUpdate) ConfigurationListenerTestUtils.configNamedListenerOnCreate(org.apache.ignite.internal.configuration.notifications.ConfigurationListenerTestUtils.configNamedListenerOnCreate) ConfigurationListenOnlyException(org.apache.ignite.configuration.ConfigurationListenOnlyException) ConfigurationRoot(org.apache.ignite.configuration.annotation.ConfigurationRoot) ConfigurationListenerTestUtils.checkEqualsListeners(org.apache.ignite.internal.configuration.notifications.ConfigurationListenerTestUtils.checkEqualsListeners) Assertions.assertInstanceOf(org.junit.jupiter.api.Assertions.assertInstanceOf) UUID(java.util.UUID) ConfigurationNamedListListener(org.apache.ignite.configuration.notifications.ConfigurationNamedListListener) Test(org.junit.jupiter.api.Test) ConfigValue(org.apache.ignite.configuration.annotation.ConfigValue) ConfigurationListener(org.apache.ignite.configuration.notifications.ConfigurationListener) List(java.util.List) AfterEach(org.junit.jupiter.api.AfterEach) ConfigurationListenerTestUtils.checkContainsListeners(org.apache.ignite.internal.configuration.notifications.ConfigurationListenerTestUtils.checkContainsListeners) ConfigurationRegistry(org.apache.ignite.internal.configuration.ConfigurationRegistry) LOCAL(org.apache.ignite.configuration.annotation.ConfigurationType.LOCAL) PolymorphicConfigInstance(org.apache.ignite.configuration.annotation.PolymorphicConfigInstance) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) Config(org.apache.ignite.configuration.annotation.Config) TestConfigurationStorage(org.apache.ignite.internal.configuration.storage.TestConfigurationStorage) ConfigurationListenerTestUtils.doNothingConsumer(org.apache.ignite.internal.configuration.notifications.ConfigurationListenerTestUtils.doNothingConsumer) SECONDS(java.util.concurrent.TimeUnit.SECONDS) Value(org.apache.ignite.configuration.annotation.Value) CopyOnWriteArrayList(java.util.concurrent.CopyOnWriteArrayList) ConfigurationRegistry(org.apache.ignite.internal.configuration.ConfigurationRegistry) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 10 with TestConfigurationStorage

use of org.apache.ignite.internal.configuration.storage.TestConfigurationStorage in project ignite-3 by apache.

the class ItClientHandlerTest method startServer.

private ClientHandlerModule startServer(TestInfo testInfo) {
    configurationManager = new ConfigurationManager(List.of(ClientConnectorConfiguration.KEY, NetworkConfiguration.KEY), Map.of(), new TestConfigurationStorage(LOCAL), List.of(), List.of());
    configurationManager.start();
    var registry = configurationManager.configurationRegistry();
    registry.getConfiguration(ClientConnectorConfiguration.KEY).change(local -> local.changePort(10800).changePortRange(10)).join();
    bootstrapFactory = new NettyBootstrapFactory(registry.getConfiguration(NetworkConfiguration.KEY), testInfo.getDisplayName());
    bootstrapFactory.start();
    var module = new ClientHandlerModule(mock(QueryProcessor.class), mock(IgniteTables.class), mock(IgniteTransactions.class), registry, bootstrapFactory);
    module.start();
    return module;
}
Also used : TestConfigurationStorage(org.apache.ignite.internal.configuration.storage.TestConfigurationStorage) Assertions.assertThrows(org.junit.jupiter.api.Assertions.assertThrows) BeforeEach(org.junit.jupiter.api.BeforeEach) Socket(java.net.Socket) NettyBootstrapFactory(org.apache.ignite.network.NettyBootstrapFactory) QueryProcessor(org.apache.ignite.internal.sql.engine.QueryProcessor) NetworkConfiguration(org.apache.ignite.configuration.schemas.network.NetworkConfiguration) Map(java.util.Map) IgniteTables(org.apache.ignite.table.manager.IgniteTables) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) OutputStream(java.io.OutputStream) IOException(java.io.IOException) MessagePack(org.msgpack.core.MessagePack) ConfigurationManager(org.apache.ignite.internal.configuration.ConfigurationManager) InetSocketAddress(java.net.InetSocketAddress) TestInfo(org.junit.jupiter.api.TestInfo) Assertions.assertArrayEquals(org.junit.jupiter.api.Assertions.assertArrayEquals) Objects(java.util.Objects) Test(org.junit.jupiter.api.Test) List(java.util.List) AfterEach(org.junit.jupiter.api.AfterEach) LOCAL(org.apache.ignite.configuration.annotation.ConfigurationType.LOCAL) TestConfigurationStorage(org.apache.ignite.internal.configuration.storage.TestConfigurationStorage) IgniteTransactions(org.apache.ignite.tx.IgniteTransactions) Mockito.mock(org.mockito.Mockito.mock) ClientConnectorConfiguration(org.apache.ignite.configuration.schemas.clientconnector.ClientConnectorConfiguration) NettyBootstrapFactory(org.apache.ignite.network.NettyBootstrapFactory) IgniteTables(org.apache.ignite.table.manager.IgniteTables) IgniteTransactions(org.apache.ignite.tx.IgniteTransactions) ConfigurationManager(org.apache.ignite.internal.configuration.ConfigurationManager) QueryProcessor(org.apache.ignite.internal.sql.engine.QueryProcessor)

Aggregations

TestConfigurationStorage (org.apache.ignite.internal.configuration.storage.TestConfigurationStorage)15 Test (org.junit.jupiter.api.Test)9 List (java.util.List)7 Map (java.util.Map)7 ConfigurationRegistry (org.apache.ignite.internal.configuration.ConfigurationRegistry)7 BeforeEach (org.junit.jupiter.api.BeforeEach)6 LOCAL (org.apache.ignite.configuration.annotation.ConfigurationType.LOCAL)5 AfterEach (org.junit.jupiter.api.AfterEach)5 Assertions.assertEquals (org.junit.jupiter.api.Assertions.assertEquals)5 SECONDS (java.util.concurrent.TimeUnit.SECONDS)4 Assertions.assertTrue (org.junit.jupiter.api.Assertions.assertTrue)4 ConfigValue (org.apache.ignite.configuration.annotation.ConfigValue)3 Value (org.apache.ignite.configuration.annotation.Value)3 Assertions.assertNull (org.junit.jupiter.api.Assertions.assertNull)3 Collections (java.util.Collections)2 Config (org.apache.ignite.configuration.annotation.Config)2 ConfigurationRoot (org.apache.ignite.configuration.annotation.ConfigurationRoot)2 NamedConfigValue (org.apache.ignite.configuration.annotation.NamedConfigValue)2 PolymorphicConfig (org.apache.ignite.configuration.annotation.PolymorphicConfig)2 PolymorphicConfigInstance (org.apache.ignite.configuration.annotation.PolymorphicConfigInstance)2