From 4d4aa5ea60138f8fa4c443cbb1ab69b5b22a60b6 Mon Sep 17 00:00:00 2001 From: "Andreas Penski (init)" Date: Mon, 17 Aug 2020 08:24:06 +0200 Subject: [PATCH] test custom resolving strategy --- .../config/ConfigurationLoader.java | 3 +++ .../config/ConfigurationBuilderTest.java | 2 +- .../config/ConfigurationLoaderTest.java | 27 +++++++++++++++++++ .../config/ScenarioBuilderTest.java | 2 +- .../config/SimpleConfigTest.java | 2 +- ...ory.java => TestConfigurationFactory.java} | 6 ++++- .../daemon/ConfigHandlerTest.java | 4 +-- .../impl/tasks/CreateReportActionTest.java | 2 +- 8 files changed, 41 insertions(+), 7 deletions(-) create mode 100644 src/test/java/de/kosit/validationtool/config/ConfigurationLoaderTest.java rename src/test/java/de/kosit/validationtool/config/{TestScenarioFactory.java => TestConfigurationFactory.java} (89%) diff --git a/src/main/java/de/kosit/validationtool/config/ConfigurationLoader.java b/src/main/java/de/kosit/validationtool/config/ConfigurationLoader.java index 0457459..7848c6b 100644 --- a/src/main/java/de/kosit/validationtool/config/ConfigurationLoader.java +++ b/src/main/java/de/kosit/validationtool/config/ConfigurationLoader.java @@ -181,6 +181,9 @@ public class ConfigurationLoader { * @return this */ public ConfigurationLoader setResolvingMode(final ResolvingMode mode) { + if (this.resolvingConfigurationStrategy != null) { + log.warn("Ignoring resolving mode configuration since a custom strategy is already defined"); + } this.resolvingMode = mode; return this; } diff --git a/src/test/java/de/kosit/validationtool/config/ConfigurationBuilderTest.java b/src/test/java/de/kosit/validationtool/config/ConfigurationBuilderTest.java index eaee8d9..9b98549 100644 --- a/src/test/java/de/kosit/validationtool/config/ConfigurationBuilderTest.java +++ b/src/test/java/de/kosit/validationtool/config/ConfigurationBuilderTest.java @@ -2,7 +2,7 @@ package de.kosit.validationtool.config; import static de.kosit.validationtool.config.ConfigurationBuilder.report; import static de.kosit.validationtool.config.ConfigurationBuilder.schematron; -import static de.kosit.validationtool.config.TestScenarioFactory.createSimpleConfiguration; +import static de.kosit.validationtool.config.TestConfigurationFactory.createSimpleConfiguration; import static org.assertj.core.api.Assertions.assertThat; import java.net.URI; diff --git a/src/test/java/de/kosit/validationtool/config/ConfigurationLoaderTest.java b/src/test/java/de/kosit/validationtool/config/ConfigurationLoaderTest.java new file mode 100644 index 0000000..d944049 --- /dev/null +++ b/src/test/java/de/kosit/validationtool/config/ConfigurationLoaderTest.java @@ -0,0 +1,27 @@ +package de.kosit.validationtool.config; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; + +import org.junit.Test; + +import de.kosit.validationtool.api.Configuration; +import de.kosit.validationtool.api.ResolvingConfigurationStrategy; +import de.kosit.validationtool.impl.ResolvingMode; +import de.kosit.validationtool.impl.xml.StrictLocalResolvingStrategy; + +/** + * @author Andreas Penski + */ +public class ConfigurationLoaderTest { + + @Test + public void testCustomResolvingStrategy() { + final ConfigurationLoader loader = TestConfigurationFactory.loadSimpleConfiguration(); + final ResolvingConfigurationStrategy strategy = mock(ResolvingConfigurationStrategy.class); + loader.setResolvingStrategy(strategy); + loader.setResolvingMode(ResolvingMode.STRICT_LOCAL); + final Configuration config = loader.build(); + assertThat(config.getContentRepository().getResolvingConfigurationStrategy()).isNotInstanceOf(StrictLocalResolvingStrategy.class); + } +} diff --git a/src/test/java/de/kosit/validationtool/config/ScenarioBuilderTest.java b/src/test/java/de/kosit/validationtool/config/ScenarioBuilderTest.java index 3b968c5..43170cc 100644 --- a/src/test/java/de/kosit/validationtool/config/ScenarioBuilderTest.java +++ b/src/test/java/de/kosit/validationtool/config/ScenarioBuilderTest.java @@ -1,6 +1,6 @@ package de.kosit.validationtool.config; -import static de.kosit.validationtool.config.TestScenarioFactory.createScenario; +import static de.kosit.validationtool.config.TestConfigurationFactory.createScenario; import static org.assertj.core.api.Assertions.assertThat; import java.util.HashMap; diff --git a/src/test/java/de/kosit/validationtool/config/SimpleConfigTest.java b/src/test/java/de/kosit/validationtool/config/SimpleConfigTest.java index 16e31a1..8db79ad 100644 --- a/src/test/java/de/kosit/validationtool/config/SimpleConfigTest.java +++ b/src/test/java/de/kosit/validationtool/config/SimpleConfigTest.java @@ -1,6 +1,6 @@ package de.kosit.validationtool.config; -import static de.kosit.validationtool.config.TestScenarioFactory.createSimpleConfiguration; +import static de.kosit.validationtool.config.TestConfigurationFactory.createSimpleConfiguration; import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; diff --git a/src/test/java/de/kosit/validationtool/config/TestScenarioFactory.java b/src/test/java/de/kosit/validationtool/config/TestConfigurationFactory.java similarity index 89% rename from src/test/java/de/kosit/validationtool/config/TestScenarioFactory.java rename to src/test/java/de/kosit/validationtool/config/TestConfigurationFactory.java index 272878d..b471e44 100644 --- a/src/test/java/de/kosit/validationtool/config/TestScenarioFactory.java +++ b/src/test/java/de/kosit/validationtool/config/TestConfigurationFactory.java @@ -15,7 +15,7 @@ import de.kosit.validationtool.impl.ResolvingMode; /** * @author Andreas Penski */ -public class TestScenarioFactory { +public class TestConfigurationFactory { public static ConfigurationBuilder createSimpleConfiguration() { return Configuration.create().name("Simple-API").author("me").description("test desc").date(new Date()) @@ -24,6 +24,10 @@ public class TestScenarioFactory { .resolvingMode(ResolvingMode.STRICT_RELATIVE).useRepository(Simple.REPOSITORY_URI); } + public static ConfigurationLoader loadSimpleConfiguration() { + return Configuration.load(Simple.SCENARIOS, Simple.REPOSITORY_URI); + } + public static ScenarioBuilder createScenario() { return scenario("simple").validate(schema("Sample Schema").schemaLocation(URI.create("simple.xsd"))) .with(report("Report für eRechnung").source("report.xsl")).acceptWith("count(//test:rejected) = 0") diff --git a/src/test/java/de/kosit/validationtool/daemon/ConfigHandlerTest.java b/src/test/java/de/kosit/validationtool/daemon/ConfigHandlerTest.java index c4aea0e..6eedeb3 100644 --- a/src/test/java/de/kosit/validationtool/daemon/ConfigHandlerTest.java +++ b/src/test/java/de/kosit/validationtool/daemon/ConfigHandlerTest.java @@ -20,7 +20,7 @@ import com.sun.net.httpserver.Headers; import com.sun.net.httpserver.HttpExchange; import de.kosit.validationtool.api.Configuration; -import de.kosit.validationtool.config.TestScenarioFactory; +import de.kosit.validationtool.config.TestConfigurationFactory; import de.kosit.validationtool.impl.ConversionService; /** @@ -35,7 +35,7 @@ public class ConfigHandlerTest { final OutputStream stream = mock(OutputStream.class); when(exchange.getResponseHeaders()).thenReturn(headers); when(exchange.getResponseBody()).thenReturn(stream); - final Configuration config = TestScenarioFactory.createSimpleConfiguration().build(); + final Configuration config = TestConfigurationFactory.createSimpleConfiguration().build(); final ConfigHandler handler = new ConfigHandler(config, new ConversionService()); handler.handle(exchange); verify(exchange, times(1)).sendResponseHeaders(ConfigHandler.OK, 0); diff --git a/src/test/java/de/kosit/validationtool/impl/tasks/CreateReportActionTest.java b/src/test/java/de/kosit/validationtool/impl/tasks/CreateReportActionTest.java index afaaee4..6425366 100644 --- a/src/test/java/de/kosit/validationtool/impl/tasks/CreateReportActionTest.java +++ b/src/test/java/de/kosit/validationtool/impl/tasks/CreateReportActionTest.java @@ -1,6 +1,6 @@ package de.kosit.validationtool.impl.tasks; -import static de.kosit.validationtool.config.TestScenarioFactory.createScenario; +import static de.kosit.validationtool.config.TestConfigurationFactory.createScenario; import static de.kosit.validationtool.impl.Helper.serialize; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any;