diff --git a/client/src/main/java/io/split/client/dtos/FallbackTreatmentsConfiguration.java b/client/src/main/java/io/split/client/dtos/FallbackTreatmentsConfiguration.java index aa47d116..55a0a27d 100644 --- a/client/src/main/java/io/split/client/dtos/FallbackTreatmentsConfiguration.java +++ b/client/src/main/java/io/split/client/dtos/FallbackTreatmentsConfiguration.java @@ -1,5 +1,6 @@ package io.split.client.dtos; +import java.util.HashMap; import java.util.Map; public class FallbackTreatmentsConfiguration { @@ -11,9 +12,54 @@ public FallbackTreatmentsConfiguration(FallbackTreatment globalFallbackTreatment _byFlagFallbackTreatment = byFlagFallbackTreatment; } + public FallbackTreatmentsConfiguration(Map byFlagFallbackTreatment) { + _globalFallbackTreatment = null; + _byFlagFallbackTreatment = byFlagFallbackTreatment; + } + + public FallbackTreatmentsConfiguration(HashMap byFlagFallbackTreatment) { + _globalFallbackTreatment = null; + _byFlagFallbackTreatment = buildByFlagFallbackTreatment(byFlagFallbackTreatment); + } + + public FallbackTreatmentsConfiguration(FallbackTreatment globalFallbackTreatment) { + _globalFallbackTreatment = globalFallbackTreatment; + _byFlagFallbackTreatment = null; + } + + public FallbackTreatmentsConfiguration(String globalFallbackTreatment, Map byFlagFallbackTreatment) { + _globalFallbackTreatment = new FallbackTreatment(globalFallbackTreatment); + _byFlagFallbackTreatment = byFlagFallbackTreatment; + } + + public FallbackTreatmentsConfiguration(String globalFallbackTreatment) { + _globalFallbackTreatment = new FallbackTreatment(globalFallbackTreatment); + _byFlagFallbackTreatment = null; + } + + + public FallbackTreatmentsConfiguration(String globalFallbackTreatment, HashMap byFlagFallbackTreatment) { + _globalFallbackTreatment = new FallbackTreatment(globalFallbackTreatment); + _byFlagFallbackTreatment = buildByFlagFallbackTreatment(byFlagFallbackTreatment); + } + + public FallbackTreatmentsConfiguration(FallbackTreatment globalFallbackTreatment, HashMap byFlagFallbackTreatment) { + _globalFallbackTreatment = globalFallbackTreatment; + _byFlagFallbackTreatment = buildByFlagFallbackTreatment(byFlagFallbackTreatment); + } + public FallbackTreatment getGlobalFallbackTreatment() { return _globalFallbackTreatment; } public Map getByFlagFallbackTreatment() { return _byFlagFallbackTreatment;} + + private Map buildByFlagFallbackTreatment(Map byFlagFallbackTreatment) { + Map result = new HashMap<>(); + for (Map.Entry entry : byFlagFallbackTreatment.entrySet()) { + result.put(entry.getKey(), new FallbackTreatment(entry.getValue())); + } + + return result; + } } diff --git a/client/src/test/java/io/split/client/JsonLocalhostSplitFactoryTest.java b/client/src/test/java/io/split/client/JsonLocalhostSplitFactoryTest.java index 1152615a..2df64c08 100644 --- a/client/src/test/java/io/split/client/JsonLocalhostSplitFactoryTest.java +++ b/client/src/test/java/io/split/client/JsonLocalhostSplitFactoryTest.java @@ -1,5 +1,7 @@ package io.split.client; +import io.split.client.dtos.FallbackTreatment; +import io.split.client.dtos.FallbackTreatmentsConfiguration; import org.junit.Assert; import org.junit.Test; @@ -12,10 +14,14 @@ public class JsonLocalhostSplitFactoryTest { @Test public void works() throws IOException, URISyntaxException, InterruptedException, TimeoutException { + FallbackTreatmentsConfiguration fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(new FallbackTreatment("on-global"), + new HashMap() {{ put("feature", new FallbackTreatment("off-local", "{\"prop2\", \"val2\"}")); }}); + SplitClientConfig config = SplitClientConfig.builder() .splitFile("src/test/resources/splits_localhost.json") .segmentDirectory("src/test/resources") .setBlockUntilReadyTimeout(10000) + .fallbackTreatments(fallbackTreatmentsConfiguration) .build(); SplitFactory splitFactory = SplitFactoryBuilder.build("localhost", config); SplitClient client = splitFactory.client(); @@ -30,6 +36,9 @@ public void works() throws IOException, URISyntaxException, InterruptedException Assert.assertEquals("off", client.getTreatment("bilal", "test_split")); Assert.assertEquals("on", client.getTreatment("bilal", "push_test")); Assert.assertEquals("on_whitelist", client.getTreatment("admin", "push_test")); + Assert.assertEquals("off-local", client.getTreatment("bilal", "feature")); + Assert.assertEquals("on-global", client.getTreatment("bilal", "feature2")); + client.destroy(); } diff --git a/client/src/test/java/io/split/client/LocalhostSplitFactoryTest.java b/client/src/test/java/io/split/client/LocalhostSplitFactoryTest.java index 8c4ad4e0..983bf4cc 100644 --- a/client/src/test/java/io/split/client/LocalhostSplitFactoryTest.java +++ b/client/src/test/java/io/split/client/LocalhostSplitFactoryTest.java @@ -1,8 +1,11 @@ package io.split.client; import com.google.common.collect.Maps; +import io.split.client.dtos.FallbackTreatment; +import io.split.client.dtos.FallbackTreatmentsConfiguration; import io.split.client.utils.LocalhostUtils; import io.split.grammar.Treatments; +import org.junit.Assert; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -10,6 +13,7 @@ import java.io.File; import java.io.IOException; import java.net.URISyntaxException; +import java.util.HashMap; import java.util.Map; import static org.junit.Assert.assertEquals; @@ -35,7 +39,9 @@ public void works() throws IOException, URISyntaxException, InterruptedException LocalhostUtils.writeFile(file, map); - SplitClientConfig config = SplitClientConfig.builder().splitFile(folder.getRoot().getAbsolutePath()).build(); + SplitClientConfig config = SplitClientConfig.builder() + .splitFile(folder.getRoot().getAbsolutePath()) + .build(); SplitFactory splitFactory = SplitFactoryBuilder.build("localhost", config); SplitClient client = splitFactory.client(); @@ -48,4 +54,30 @@ public void works() throws IOException, URISyntaxException, InterruptedException assertEquals("a", client.getTreatment("user1", "test")); assertEquals("a", client.getTreatment("user2", "test")); } + + @Test + public void testFallbackTreatments() throws IOException, URISyntaxException, InterruptedException { + File file = folder.newFile(LegacyLocalhostSplitChangeFetcher.FILENAME); + + Map map = Maps.newHashMap(); + map.put(SplitAndKey.of("onboarding"), LocalhostSplit.of("on")); + map.put(SplitAndKey.of("onboarding", "user1"), LocalhostSplit.of("off")); + map.put(SplitAndKey.of("onboarding", "user2"), LocalhostSplit.of("off")); + map.put(SplitAndKey.of("test"), LocalhostSplit.of("a")); + + LocalhostUtils.writeFile(file, map); + + FallbackTreatmentsConfiguration fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(new FallbackTreatment("on-global"), + new HashMap() {{ put("feature", new FallbackTreatment("off-local", "{\"prop2\", \"val2\"}")); }}); + + SplitClientConfig config = SplitClientConfig.builder() + .splitFile(folder.getRoot().getAbsolutePath()) + .fallbackTreatments(fallbackTreatmentsConfiguration) + .build(); + SplitFactory splitFactory = SplitFactoryBuilder.build("localhost", config); + SplitClient client = splitFactory.client(); + + assertEquals("off-local", client.getTreatment("user1", "feature")); + assertEquals("on-global", client.getTreatment("user1", "feature2")); + } } \ No newline at end of file diff --git a/client/src/test/java/io/split/client/LocalhostSplitFactoryYamlTest.java b/client/src/test/java/io/split/client/LocalhostSplitFactoryYamlTest.java index abcc551f..989da1a1 100644 --- a/client/src/test/java/io/split/client/LocalhostSplitFactoryYamlTest.java +++ b/client/src/test/java/io/split/client/LocalhostSplitFactoryYamlTest.java @@ -1,5 +1,7 @@ package io.split.client; +import io.split.client.dtos.FallbackTreatment; +import io.split.client.dtos.FallbackTreatmentsConfiguration; import io.split.client.utils.LocalhostUtils; import io.split.grammar.Treatments; import org.junit.Rule; @@ -11,10 +13,7 @@ import java.io.IOException; import java.io.StringWriter; import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; @@ -106,4 +105,59 @@ public void works() throws IOException, URISyntaxException { // unchanged assertThat(client.getTreatment("user_b", "split_1"), is(equalTo("on"))); } + + @Test + public void testFallbackTreatment() throws IOException, URISyntaxException { + File file = folder.newFile(SplitClientConfig.LOCALHOST_DEFAULT_FILE); + + List> allSplits = new ArrayList(); + + Map split1_user_a = new LinkedHashMap<>(); + Map split1_user_a_data = new LinkedHashMap<>(); + split1_user_a_data.put("keys", "user_a"); + split1_user_a_data.put("treatment", "off"); + split1_user_a_data.put("config", "{ \"size\" : 20 }"); + split1_user_a.put("split_1", split1_user_a_data); + allSplits.add(split1_user_a); + + Map split1_user_b = new LinkedHashMap<>(); + Map split1_user_b_data = new LinkedHashMap<>(); + split1_user_b_data.put("keys", "user_b"); + split1_user_b_data.put("treatment", "on"); + split1_user_b.put("split_1", split1_user_b_data); + allSplits.add(split1_user_b); + + Map split2_user_a = new LinkedHashMap<>(); + Map split2_user_a_data = new LinkedHashMap<>(); + split2_user_a_data.put("keys", "user_a"); + split2_user_a_data.put("treatment", "off"); + split2_user_a_data.put("config", "{ \"size\" : 20 }"); + split2_user_a.put("split_2", split2_user_a_data); + allSplits.add(split2_user_a); + + + Yaml yaml = new Yaml(); + StringWriter writer = new StringWriter(); + yaml.dump(allSplits, writer); + + String expectedYaml = "- split_1: {keys: user_a, treatment: 'off', config: '{ \"size\" : 20 }'}\n" + + "- split_1: {keys: user_b, treatment: 'on'}\n" + + "- split_2: {keys: user_a, treatment: 'off', config: '{ \"size\" : 20 }'}\n"; + + assertEquals(expectedYaml, writer.toString()); + + LocalhostUtils.writeFile(file, writer); + FallbackTreatmentsConfiguration fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(new FallbackTreatment("on-global"), + new HashMap() {{ put("feature", new FallbackTreatment("off-local", "{\"prop2\", \"val2\"}")); }}); + + SplitClientConfig config = SplitClientConfig.builder() + .splitFile(file.getAbsolutePath()) + .fallbackTreatments(fallbackTreatmentsConfiguration) + .build(); + SplitFactory splitFactory = SplitFactoryBuilder.build("localhost", config); + SplitClient client = splitFactory.client(); + + assertEquals("off-local", client.getTreatment("user1", "feature")); + assertEquals("on-global", client.getTreatment("user1", "feature2")); + } } \ No newline at end of file diff --git a/client/src/test/java/io/split/client/SplitClientConfigTest.java b/client/src/test/java/io/split/client/SplitClientConfigTest.java index e8ed6dfd..69c95d03 100644 --- a/client/src/test/java/io/split/client/SplitClientConfigTest.java +++ b/client/src/test/java/io/split/client/SplitClientConfigTest.java @@ -367,18 +367,18 @@ public void mustUseP12PassKeyWithProxyMtls() throws MalformedURLException, FileN @Test public void fallbackTreatmentCheckRegex() { SplitClientConfig config = SplitClientConfig.builder() - .fallbackTreatments(new FallbackTreatmentsConfiguration(new FallbackTreatment("12#2"), null)) + .fallbackTreatments(new FallbackTreatmentsConfiguration(new FallbackTreatment("12#2"))) .build(); Assert.assertEquals(null, config.fallbackTreatments().getGlobalFallbackTreatment().getTreatment()); config = SplitClientConfig.builder() - .fallbackTreatments(new FallbackTreatmentsConfiguration(null, new HashMap() {{ put("flag", new FallbackTreatment("12#2")); }} )) + .fallbackTreatments(new FallbackTreatmentsConfiguration(new HashMap() {{ put("flag", new FallbackTreatment("12#2")); }} )) .build(); Assert.assertEquals(0, config.fallbackTreatments().getByFlagFallbackTreatment().size()); config = SplitClientConfig.builder() .fallbackTreatments(new FallbackTreatmentsConfiguration( - new FallbackTreatment("on"), + "on", new HashMap() {{ put("flag", new FallbackTreatment("off")); }} )) .build(); Assert.assertEquals("on", config.fallbackTreatments().getGlobalFallbackTreatment().getTreatment()); diff --git a/client/src/test/java/io/split/client/SplitClientImplTest.java b/client/src/test/java/io/split/client/SplitClientImplTest.java index 2556508c..26a85057 100644 --- a/client/src/test/java/io/split/client/SplitClientImplTest.java +++ b/client/src/test/java/io/split/client/SplitClientImplTest.java @@ -2308,8 +2308,7 @@ public void fallbackTreatmentWithExceptionsResult() { String fallbcakConfigGlobal = "{\"prop1\", \"val1\"}"; FallbackTreatmentsConfiguration fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration( - new FallbackTreatment("on", fallbcakConfigGlobal), - null); + new FallbackTreatment("on", fallbcakConfigGlobal)); FallbackTreatmentCalculator fallbackTreatmentCalculator = new FallbackTreatmentCalculatorImp(fallbackTreatmentsConfiguration); SplitClientImpl client = new SplitClientImpl( @@ -2388,7 +2387,7 @@ public void fallbackTreatmentWithExceptionsResult() { assertEquals("off", client.getTreatmentsWithConfigByFlagSets("adil@relateiq.com", Arrays.asList("flag")).get("feature").treatment()); assertEquals(fallbcakConfigByFlag, client.getTreatmentsWithConfigByFlagSets("adil@relateiq.com", Arrays.asList("flag")).get("feature").config()); - fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(null, + fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration( new HashMap() {{ put("feature", new FallbackTreatment("off", fallbcakConfigByFlag)); }}); fallbackTreatmentCalculator = new FallbackTreatmentCalculatorImp(fallbackTreatmentsConfiguration); @@ -2458,8 +2457,7 @@ public void fallbackTreatmentWithSplitNotFoundResult() { String fallbcakConfigGlobal = "{\"prop1\", \"val1\"}"; FallbackTreatmentsConfiguration fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration( - new FallbackTreatment("on", fallbcakConfigGlobal), - null); + new FallbackTreatment("on", fallbcakConfigGlobal)); FallbackTreatmentCalculator fallbackTreatmentCalculator = new FallbackTreatmentCalculatorImp(fallbackTreatmentsConfiguration); SplitClientImpl client = new SplitClientImpl( @@ -2573,7 +2571,7 @@ public void fallbackTreatmentWithSplitNotFoundResult() { assertEquals("on", results.get("test3").treatment()); assertEquals(fallbcakConfigGlobal, results.get("test3").config()); - fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(null, + fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration( new HashMap() {{ put("test2", new FallbackTreatment("off-fallback", fallbcakConfigByFlag)); }}); fallbackTreatmentCalculator = new FallbackTreatmentCalculatorImp(fallbackTreatmentsConfiguration); diff --git a/client/src/test/java/io/split/client/SplitClientIntegrationTest.java b/client/src/test/java/io/split/client/SplitClientIntegrationTest.java index 4bdbc598..69b1b366 100644 --- a/client/src/test/java/io/split/client/SplitClientIntegrationTest.java +++ b/client/src/test/java/io/split/client/SplitClientIntegrationTest.java @@ -1282,8 +1282,7 @@ public MockResponse dispatch(RecordedRequest request) { server.start(); String serverURL = String.format("http://%s:%s", server.getHostName(), server.getPort()); - FallbackTreatmentsConfiguration fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(new FallbackTreatment("on-fallback", "{\"prop1\", \"val1\"}"), - null); + FallbackTreatmentsConfiguration fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(new FallbackTreatment("on-fallback", "{\"prop1\", \"val1\"}")); SplitClientConfig config = SplitClientConfig.builder() .setBlockUntilReadyTimeout(10000) @@ -1354,7 +1353,7 @@ public MockResponse dispatch(RecordedRequest request) { server.start(); String serverURL = String.format("http://%s:%s", server.getHostName(), server.getPort()); - FallbackTreatmentsConfiguration fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(null, + FallbackTreatmentsConfiguration fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration( new HashMap() {{ put("feature", new FallbackTreatment("off-fallback", "{\"prop2\", \"val2\"}")); }}); SplitClientConfig config = SplitClientConfig.builder() @@ -1427,8 +1426,7 @@ public MockResponse dispatch(RecordedRequest request) throws InterruptedExceptio server.start(); String serverURL = String.format("http://%s:%s", server.getHostName(), server.getPort()); - FallbackTreatmentsConfiguration fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(new FallbackTreatment("on-fallback", "{\"prop1\", \"val1\"}"), - null); + FallbackTreatmentsConfiguration fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration("on-fallback"); SplitClientConfig config = SplitClientConfig.builder() .setBlockUntilReadyTimeout(10000) diff --git a/client/src/test/java/io/split/client/SplitFactoryImplTest.java b/client/src/test/java/io/split/client/SplitFactoryImplTest.java index dcf51055..82f3ea8c 100644 --- a/client/src/test/java/io/split/client/SplitFactoryImplTest.java +++ b/client/src/test/java/io/split/client/SplitFactoryImplTest.java @@ -60,7 +60,7 @@ public void testFactoryInstantiation() throws Exception { .authServiceURL(AUTH_SERVICE) .setBlockUntilReadyTimeout(10000) .telemetryURL(SplitClientConfig.TELEMETRY_ENDPOINT) - .fallbackTreatments(new FallbackTreatmentsConfiguration(new FallbackTreatment("on"), null)) + .fallbackTreatments(new FallbackTreatmentsConfiguration(new FallbackTreatment("on"))) .build(); SplitFactoryImpl splitFactory = new SplitFactoryImpl(API_KEY, splitClientConfig); diff --git a/client/src/test/java/io/split/client/dtos/FallbackTreatmentCalculationImpTest.java b/client/src/test/java/io/split/client/dtos/FallbackTreatmentCalculationImpTest.java index 4e082e00..854a1a0e 100644 --- a/client/src/test/java/io/split/client/dtos/FallbackTreatmentCalculationImpTest.java +++ b/client/src/test/java/io/split/client/dtos/FallbackTreatmentCalculationImpTest.java @@ -16,20 +16,20 @@ public class FallbackTreatmentCalculationImpTest { @Test public void TestWorks() { - FallbackTreatmentsConfiguration fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(new FallbackTreatment("on"), null); + FallbackTreatmentsConfiguration fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(new FallbackTreatment("on")); FallbackTreatmentCalculator fallbackTreatmentCalculator = new FallbackTreatmentCalculatorImp(fallbackTreatmentsConfiguration); assertEquals("on", fallbackTreatmentCalculator.resolve("anyflag", "exception").getTreatment()); assertEquals("fallback - exception", fallbackTreatmentCalculator.resolve("anyflag", "exception").getLabel()); fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(new FallbackTreatment("on"), - new HashMap() {{ put("flag", new FallbackTreatment("off")); }} ); + new HashMap() {{ put("flag", "off"); }} ); fallbackTreatmentCalculator = new FallbackTreatmentCalculatorImp(fallbackTreatmentsConfiguration); assertEquals("on", fallbackTreatmentCalculator.resolve("anyflag", "exception").getTreatment()); assertEquals("fallback - exception", fallbackTreatmentCalculator.resolve("anyflag", "exception").getLabel()); assertEquals("off", fallbackTreatmentCalculator.resolve("flag", "exception").getTreatment()); assertEquals("fallback - exception", fallbackTreatmentCalculator.resolve("flag", "exception").getLabel()); - fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(null, + fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration( new HashMap() {{ put("flag", new FallbackTreatment("off")); }} ); fallbackTreatmentCalculator = new FallbackTreatmentCalculatorImp(fallbackTreatmentsConfiguration); assertEquals("control", fallbackTreatmentCalculator.resolve("anyflag", "exception").getTreatment()); diff --git a/client/src/test/java/io/split/client/dtos/FallbackTreatmentConfigurationTest.java b/client/src/test/java/io/split/client/dtos/FallbackTreatmentConfigurationTest.java new file mode 100644 index 00000000..a09cf599 --- /dev/null +++ b/client/src/test/java/io/split/client/dtos/FallbackTreatmentConfigurationTest.java @@ -0,0 +1,32 @@ +package io.split.client.dtos; + +import org.junit.Test; + +import java.util.HashMap; + +import static org.junit.Assert.assertEquals; + +public class FallbackTreatmentConfigurationTest { + + @Test + public void TestWorks() { + FallbackTreatmentsConfiguration fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(new FallbackTreatment("on")); + assertEquals("on", fallbackTreatmentsConfiguration.getGlobalFallbackTreatment().getTreatment()); + assertEquals(null, fallbackTreatmentsConfiguration.getByFlagFallbackTreatment()); + + fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(new FallbackTreatment("on", "{\"prop\":\"val\"}"), + new HashMap() {{ put("flag", new FallbackTreatment("off", "{\"prop2\":\"val2\"}")); }} ); + assertEquals("on", fallbackTreatmentsConfiguration.getGlobalFallbackTreatment().getTreatment()); + assertEquals("{\"prop\":\"val\"}", fallbackTreatmentsConfiguration.getGlobalFallbackTreatment().getConfig()); + assertEquals(null, fallbackTreatmentsConfiguration.getGlobalFallbackTreatment().getLabel()); + assertEquals("off", fallbackTreatmentsConfiguration.getByFlagFallbackTreatment().get("flag").getTreatment()); + assertEquals("{\"prop2\":\"val2\"}", fallbackTreatmentsConfiguration.getByFlagFallbackTreatment().get("flag").getConfig()); + assertEquals(null, fallbackTreatmentsConfiguration.getByFlagFallbackTreatment().get("flag").getLabel()); + + fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration("on", + new HashMap() {{ put("flag", "off"); }} ); + assertEquals("on", fallbackTreatmentsConfiguration.getGlobalFallbackTreatment().getTreatment()); + assertEquals("off", fallbackTreatmentsConfiguration.getByFlagFallbackTreatment().get("flag").getTreatment()); + + } +} diff --git a/client/src/test/java/io/split/engine/evaluator/EvaluatorTest.java b/client/src/test/java/io/split/engine/evaluator/EvaluatorTest.java index 05a87a61..33ebf6d6 100644 --- a/client/src/test/java/io/split/engine/evaluator/EvaluatorTest.java +++ b/client/src/test/java/io/split/engine/evaluator/EvaluatorTest.java @@ -228,7 +228,7 @@ public void evaluateWithPrerequisites() { @Test public void evaluateFallbackTreatmentWorks() { Mockito.when(_splitCacheConsumer.get(SPLIT_NAME)).thenReturn(null); - FallbackTreatmentsConfiguration fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(new FallbackTreatment("on"), null); + FallbackTreatmentsConfiguration fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(new FallbackTreatment("on")); FallbackTreatmentCalculator fallbackTreatmentCalculator = new FallbackTreatmentCalculatorImp(fallbackTreatmentsConfiguration); _evaluator = new EvaluatorImp(_splitCacheConsumer, _segmentCacheConsumer, _ruleBasedSegmentCacheConsumer, fallbackTreatmentCalculator); @@ -245,7 +245,7 @@ public void evaluateFallbackTreatmentWorks() { // using byflag only Mockito.when(_splitCacheConsumer.get(SPLIT_NAME)).thenReturn(null); Mockito.when(_splitCacheConsumer.get("another_name")).thenReturn(null); - fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(null, new HashMap() {{ put(SPLIT_NAME, new FallbackTreatment("off")); }} ); + fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration(new HashMap() {{ put(SPLIT_NAME, new FallbackTreatment("off")); }} ); fallbackTreatmentCalculator = new FallbackTreatmentCalculatorImp(fallbackTreatmentsConfiguration); _evaluator = new EvaluatorImp(_splitCacheConsumer, _segmentCacheConsumer, _ruleBasedSegmentCacheConsumer, fallbackTreatmentCalculator);