From 642a8e4fa0200cd73464a688184c725d7662151c Mon Sep 17 00:00:00 2001 From: svelovla Date: Fri, 31 Oct 2014 12:56:44 +0100 Subject: [PATCH] unleash-client-java 'cloned' into it's own repo --- unleash-client-java/README.md | 13 ---- unleash-client-java/pom.xml | 76 ------------------- .../no/finn/unleash/BackupFileHandler.java | 35 --------- .../java/no/finn/unleash/DefaultStrategy.java | 17 ----- .../finn/unleash/FeatureToggleRepository.java | 67 ---------------- .../no/finn/unleash/HttpToggleFetcher.java | 62 --------------- .../no/finn/unleash/JsonToggleParser.java | 29 ------- .../main/java/no/finn/unleash/Response.java | 28 ------- .../main/java/no/finn/unleash/Strategy.java | 9 --- .../src/main/java/no/finn/unleash/Toggle.java | 43 ----------- .../no/finn/unleash/ToggleCollection.java | 25 ------ .../java/no/finn/unleash/ToggleFetcher.java | 5 -- .../no/finn/unleash/ToggleRepository.java | 5 -- .../java/no/finn/unleash/UnknownStrategy.java | 17 ----- .../main/java/no/finn/unleash/Unleash.java | 55 -------------- .../no/finn/unleash/UnleashException.java | 8 -- .../no/finn/unleash/JsonToggleParserTest.java | 36 --------- .../java/no/finn/unleash/ManualTesting.java | 49 ------------ .../java/no/finn/unleash/UnleashTest.java | 56 -------------- .../finn/unleash/example/CustomStrategy.java | 17 ----- .../unleash/example/UnleashUsageTest.java | 22 ------ .../src/test/resources/features.json | 23 ------ 22 files changed, 697 deletions(-) delete mode 100644 unleash-client-java/README.md delete mode 100644 unleash-client-java/pom.xml delete mode 100644 unleash-client-java/src/main/java/no/finn/unleash/BackupFileHandler.java delete mode 100644 unleash-client-java/src/main/java/no/finn/unleash/DefaultStrategy.java delete mode 100644 unleash-client-java/src/main/java/no/finn/unleash/FeatureToggleRepository.java delete mode 100644 unleash-client-java/src/main/java/no/finn/unleash/HttpToggleFetcher.java delete mode 100644 unleash-client-java/src/main/java/no/finn/unleash/JsonToggleParser.java delete mode 100644 unleash-client-java/src/main/java/no/finn/unleash/Response.java delete mode 100644 unleash-client-java/src/main/java/no/finn/unleash/Strategy.java delete mode 100644 unleash-client-java/src/main/java/no/finn/unleash/Toggle.java delete mode 100644 unleash-client-java/src/main/java/no/finn/unleash/ToggleCollection.java delete mode 100644 unleash-client-java/src/main/java/no/finn/unleash/ToggleFetcher.java delete mode 100644 unleash-client-java/src/main/java/no/finn/unleash/ToggleRepository.java delete mode 100644 unleash-client-java/src/main/java/no/finn/unleash/UnknownStrategy.java delete mode 100644 unleash-client-java/src/main/java/no/finn/unleash/Unleash.java delete mode 100644 unleash-client-java/src/main/java/no/finn/unleash/UnleashException.java delete mode 100644 unleash-client-java/src/test/java/no/finn/unleash/JsonToggleParserTest.java delete mode 100644 unleash-client-java/src/test/java/no/finn/unleash/ManualTesting.java delete mode 100644 unleash-client-java/src/test/java/no/finn/unleash/UnleashTest.java delete mode 100644 unleash-client-java/src/test/java/no/finn/unleash/example/CustomStrategy.java delete mode 100644 unleash-client-java/src/test/java/no/finn/unleash/example/UnleashUsageTest.java delete mode 100644 unleash-client-java/src/test/resources/features.json diff --git a/unleash-client-java/README.md b/unleash-client-java/README.md deleted file mode 100644 index 5834b7f4fc..0000000000 --- a/unleash-client-java/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# The Unleash Client 4 Java - -## Awesome API - -It is really simple to use unleash. - -```java -if(unleash.isEnabled("AwesomeFeature")) { - //do some magic -} else { - //do old boring stuff -} -``` diff --git a/unleash-client-java/pom.xml b/unleash-client-java/pom.xml deleted file mode 100644 index b7bd23e3a1..0000000000 --- a/unleash-client-java/pom.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - 4.0.0 - - - org.sonatype.oss - oss-parent - 7 - - - no.finn.unleash - unleash-client-java - 1.0-SNAPSHOT - - - 2.0-rc1 - - - - - - - com.google.code.gson - gson - 2.2.4 - - - - org.apache.logging.log4j - log4j-api - ${version.log4j2} - - - - - junit - junit - 4.11 - test - - - - org.mockito - mockito-all - 1.9.5 - test - - - - org.apache.logging.log4j - log4j-core - ${version.log4j2} - test - - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.1 - - 1.8 - 1.8 - - - - - \ No newline at end of file diff --git a/unleash-client-java/src/main/java/no/finn/unleash/BackupFileHandler.java b/unleash-client-java/src/main/java/no/finn/unleash/BackupFileHandler.java deleted file mode 100644 index 76a9aa65da..0000000000 --- a/unleash-client-java/src/main/java/no/finn/unleash/BackupFileHandler.java +++ /dev/null @@ -1,35 +0,0 @@ -package no.finn.unleash; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import java.io.*; -import java.util.Collections; - -class BackupFileHandler { - private static final Logger LOG = LogManager.getLogger(); - private static final String BACKUP_FILE = - System.getProperty("java.io.tmpdir") + File.separatorChar + "unleash-repo.json"; - - - ToggleCollection read() { - LOG.info("Unleash will try to load feature toggle states from temporary backup"); - try (FileReader reader = new FileReader(BACKUP_FILE)) { - BufferedReader br = new BufferedReader(reader); - return JsonToggleParser.fromJson(br); - } catch (FileNotFoundException e) { - LOG.warn("Unable to locate backup file:'{}'", BACKUP_FILE, e); - } catch (IOException e) { - LOG.error("Failed to read backup file:'{}'", BACKUP_FILE, e); - } - return new ToggleCollection(Collections.emptyList()); - } - - void write(ToggleCollection toggleCollection) { - try (FileWriter writer = new FileWriter(BACKUP_FILE)) { - writer.write(JsonToggleParser.toJsonString(toggleCollection)); - } catch (IOException e) { - LOG.warn("Unleash was unable to backup feature toggles to file: {}", BACKUP_FILE, e); - } - } -} diff --git a/unleash-client-java/src/main/java/no/finn/unleash/DefaultStrategy.java b/unleash-client-java/src/main/java/no/finn/unleash/DefaultStrategy.java deleted file mode 100644 index 39fcc37c85..0000000000 --- a/unleash-client-java/src/main/java/no/finn/unleash/DefaultStrategy.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.finn.unleash; - -import java.util.Map; - -final class DefaultStrategy implements Strategy { - public static final String NAME = "default"; - - @Override - public String getName() { - return NAME; - } - - @Override - public boolean isEnabled(Map parameters) { - return true; - } -} diff --git a/unleash-client-java/src/main/java/no/finn/unleash/FeatureToggleRepository.java b/unleash-client-java/src/main/java/no/finn/unleash/FeatureToggleRepository.java deleted file mode 100644 index e63e05f06e..0000000000 --- a/unleash-client-java/src/main/java/no/finn/unleash/FeatureToggleRepository.java +++ /dev/null @@ -1,67 +0,0 @@ -package no.finn.unleash; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import java.net.URI; -import java.util.concurrent.*; - -public final class FeatureToggleRepository implements ToggleRepository { - private static final Logger LOG = LogManager.getLogger(); - - private static final ScheduledThreadPoolExecutor TIMER = new ScheduledThreadPoolExecutor( - 1, - new ThreadFactory() { - @Override - public Thread newThread(final Runnable r) { - Thread thread = Executors.defaultThreadFactory().newThread(r); - thread.setName("unleash-toggle-repository"); - thread.setDaemon(true); - return thread; - } - }); - - static { - TIMER.setRemoveOnCancelPolicy(true); - } - - private final BackupFileHandler featureToggleBackupFileHandler; - private final ToggleFetcher toggleFetcher; - - private ToggleCollection toggleCollection; - - public FeatureToggleRepository(URI featuresUri, long pollIntervalSeconds) { - featureToggleBackupFileHandler = new BackupFileHandler(); - toggleFetcher = new HttpToggleFetcher(featuresUri); - - toggleCollection = featureToggleBackupFileHandler.read(); - startBackgroundPolling(pollIntervalSeconds); - } - - private ScheduledFuture startBackgroundPolling(long pollIntervalSeconds) { - try { - return TIMER.scheduleAtFixedRate(new Runnable() { - @Override - public void run() { - try { - Response response = toggleFetcher.fetchToggles(); - if (response.getStatus() == Response.Status.CHANGED) { - featureToggleBackupFileHandler.write(toggleCollection); - toggleCollection = response.getToggleCollection(); - } - } catch (UnleashException e) { - LOG.warn("Could not refresh feature toggles", e); - } - } - }, pollIntervalSeconds, pollIntervalSeconds, TimeUnit.SECONDS); - } catch (RejectedExecutionException ex) { - LOG.error("Unleash background task crashed", ex); - return null; - } - } - - @Override - public Toggle getToggle(String name) { - return toggleCollection.getToggle(name); - } -} diff --git a/unleash-client-java/src/main/java/no/finn/unleash/HttpToggleFetcher.java b/unleash-client-java/src/main/java/no/finn/unleash/HttpToggleFetcher.java deleted file mode 100644 index b905fb4975..0000000000 --- a/unleash-client-java/src/main/java/no/finn/unleash/HttpToggleFetcher.java +++ /dev/null @@ -1,62 +0,0 @@ -package no.finn.unleash; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.HttpURLConnection; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URL; -import java.nio.charset.StandardCharsets; - -final class HttpToggleFetcher implements ToggleFetcher { - public static final int CONNECT_TIMEOUT = 10000; - private String etag = null; - - private final URL toggleUrl; - - public HttpToggleFetcher(URI repo) { - try { - toggleUrl = repo.toURL(); - } catch (MalformedURLException ex) { - throw new UnleashException("Invalid repo uri", ex); - } - } - - @Override - public Response fetchToggles() throws UnleashException { - HttpURLConnection connection = null; - try { - connection = (HttpURLConnection) toggleUrl.openConnection(); - connection.setConnectTimeout(CONNECT_TIMEOUT); - connection.setReadTimeout(CONNECT_TIMEOUT); - connection.setRequestProperty("If-None-Match", etag); - connection.connect(); - - int responseCode = connection.getResponseCode(); - if(responseCode < 300) { - return getToggleResponse(connection); - } else { - return new Response(Response.Status.NOT_CHANGED); - } - } catch (IOException e) { - throw new UnleashException("Could not fetch toggles", e); - } finally { - if(connection != null) { - connection.disconnect(); - } - } - } - - private Response getToggleResponse(HttpURLConnection request) throws IOException { - etag = request.getHeaderField("ETag"); - - try(BufferedReader reader = new BufferedReader( - new InputStreamReader((InputStream) request.getContent(), StandardCharsets.UTF_8))) { - - ToggleCollection toggles = JsonToggleParser.fromJson(reader); - return new Response(Response.Status.CHANGED, toggles); - } - } -} diff --git a/unleash-client-java/src/main/java/no/finn/unleash/JsonToggleParser.java b/unleash-client-java/src/main/java/no/finn/unleash/JsonToggleParser.java deleted file mode 100644 index 3e441b4639..0000000000 --- a/unleash-client-java/src/main/java/no/finn/unleash/JsonToggleParser.java +++ /dev/null @@ -1,29 +0,0 @@ -package no.finn.unleash; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; - -import java.io.Reader; -import java.util.Collection; - -final class JsonToggleParser { - - private JsonToggleParser() { - } - - public static String toJsonString(ToggleCollection toggleCollection) { - Gson gson = new GsonBuilder().create(); - return gson.toJson(toggleCollection); - } - - public static Collection fromJson(String jsonString) { - Gson gson = new GsonBuilder().create(); - return gson.fromJson(jsonString, ToggleCollection.class).getFeatures(); - } - - public static ToggleCollection fromJson(Reader reader) { - Gson gson = new GsonBuilder().create(); - ToggleCollection gsonCollection = gson.fromJson(reader, ToggleCollection.class); - return new ToggleCollection(gsonCollection.getFeatures()); - } -} diff --git a/unleash-client-java/src/main/java/no/finn/unleash/Response.java b/unleash-client-java/src/main/java/no/finn/unleash/Response.java deleted file mode 100644 index 9e02e9dc5c..0000000000 --- a/unleash-client-java/src/main/java/no/finn/unleash/Response.java +++ /dev/null @@ -1,28 +0,0 @@ -package no.finn.unleash; - -import java.util.Collections; - -final class Response { - enum Status {NOT_CHANGED, CHANGED} - - private final Status status; - private final ToggleCollection toggleCollection; - - public Response(Status status, ToggleCollection toggleCollection) { - this.status = status; - this.toggleCollection = toggleCollection; - } - - public Response(Status status) { - this.status = status; - this.toggleCollection = new ToggleCollection(Collections.emptyList()); - } - - public Status getStatus() { - return status; - } - - public ToggleCollection getToggleCollection() { - return toggleCollection; - } -} diff --git a/unleash-client-java/src/main/java/no/finn/unleash/Strategy.java b/unleash-client-java/src/main/java/no/finn/unleash/Strategy.java deleted file mode 100644 index 30bf1f2a90..0000000000 --- a/unleash-client-java/src/main/java/no/finn/unleash/Strategy.java +++ /dev/null @@ -1,9 +0,0 @@ -package no.finn.unleash; - -import java.util.Map; - -public interface Strategy { - String getName(); - - boolean isEnabled(Map parameters); -} diff --git a/unleash-client-java/src/main/java/no/finn/unleash/Toggle.java b/unleash-client-java/src/main/java/no/finn/unleash/Toggle.java deleted file mode 100644 index fa0e7dd3dc..0000000000 --- a/unleash-client-java/src/main/java/no/finn/unleash/Toggle.java +++ /dev/null @@ -1,43 +0,0 @@ -package no.finn.unleash; - -import java.util.Map; - -public final class Toggle { - private final String name; - private final boolean enabled; - private final String strategy; - private final Map parameters; - - public Toggle(String name, boolean enabled, String strategy, Map parameters) { - this.name = name; - this.enabled = enabled; - this.strategy = strategy; - this.parameters = parameters; - } - - public String getName() { - return name; - } - - public boolean isEnabled() { - return enabled; - } - - public String getStrategy() { - return strategy; - } - - public Map getParameters() { - return parameters; - } - - @Override - public String toString() { - return "Toggle{" + - "name='" + name + '\'' + - ", enabled=" + enabled + - ", strategy='" + strategy + '\'' + - ", parameters=" + parameters + - '}'; - } -} diff --git a/unleash-client-java/src/main/java/no/finn/unleash/ToggleCollection.java b/unleash-client-java/src/main/java/no/finn/unleash/ToggleCollection.java deleted file mode 100644 index d80f62c5b0..0000000000 --- a/unleash-client-java/src/main/java/no/finn/unleash/ToggleCollection.java +++ /dev/null @@ -1,25 +0,0 @@ -package no.finn.unleash; - -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -final class ToggleCollection { - private Collection features = Collections.emptyList(); - private Map cache; - - ToggleCollection(final Collection features) { - this.features = features; - cache = new HashMap<>(); - features.forEach(toggle -> cache.put(toggle.getName(), toggle)); - } - - Collection getFeatures() { - return features; - } - - Toggle getToggle(final String name) { - return cache.get(name); - } -} diff --git a/unleash-client-java/src/main/java/no/finn/unleash/ToggleFetcher.java b/unleash-client-java/src/main/java/no/finn/unleash/ToggleFetcher.java deleted file mode 100644 index 3c02837f56..0000000000 --- a/unleash-client-java/src/main/java/no/finn/unleash/ToggleFetcher.java +++ /dev/null @@ -1,5 +0,0 @@ -package no.finn.unleash; - -public interface ToggleFetcher { - Response fetchToggles() throws UnleashException; -} diff --git a/unleash-client-java/src/main/java/no/finn/unleash/ToggleRepository.java b/unleash-client-java/src/main/java/no/finn/unleash/ToggleRepository.java deleted file mode 100644 index f25c87c7e7..0000000000 --- a/unleash-client-java/src/main/java/no/finn/unleash/ToggleRepository.java +++ /dev/null @@ -1,5 +0,0 @@ -package no.finn.unleash; - -public interface ToggleRepository { - Toggle getToggle(String name); -} diff --git a/unleash-client-java/src/main/java/no/finn/unleash/UnknownStrategy.java b/unleash-client-java/src/main/java/no/finn/unleash/UnknownStrategy.java deleted file mode 100644 index 65299977a0..0000000000 --- a/unleash-client-java/src/main/java/no/finn/unleash/UnknownStrategy.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.finn.unleash; - -import java.util.Map; - -final class UnknownStrategy implements Strategy { - public static final String NAME = "unknown"; - - @Override - public String getName() { - return NAME; - } - - @Override - public boolean isEnabled(Map parameters) { - return false; - } -} diff --git a/unleash-client-java/src/main/java/no/finn/unleash/Unleash.java b/unleash-client-java/src/main/java/no/finn/unleash/Unleash.java deleted file mode 100644 index 989c027684..0000000000 --- a/unleash-client-java/src/main/java/no/finn/unleash/Unleash.java +++ /dev/null @@ -1,55 +0,0 @@ -package no.finn.unleash; - -import java.util.HashMap; -import java.util.Map; - -public final class Unleash { - private static final DefaultStrategy DEFAULT_STRATEGY = new DefaultStrategy(); - private static final UnknownStrategy UNKNOWN_STRATEGY = new UnknownStrategy(); - - private final ToggleRepository toggleRepository; - private final Map strategyMap; - - public Unleash(ToggleRepository toggleRepository, Strategy... strategies) { - this.toggleRepository = toggleRepository; - this.strategyMap = buildStrategyMap(strategies); - } - - public boolean isEnabled(final String toggleName) { - return isEnabled(toggleName, false); - } - - public boolean isEnabled(final String toggleName, final boolean defaultSetting) { - Toggle toggle = toggleRepository.getToggle(toggleName); - - if (toggle == null) { - return defaultSetting; - } - - Strategy strategy = getStrategy(toggle.getStrategy()); - return toggle.isEnabled() && strategy.isEnabled(toggle.getParameters()); - } - - private Map buildStrategyMap(Strategy[] strategies) { - Map map = new HashMap<>(); - - map.put(DEFAULT_STRATEGY.getName(), DEFAULT_STRATEGY); - - if (strategies != null) { - for (Strategy strategy : strategies) { - map.put(strategy.getName(), strategy); - } - } - - return map; - } - - - private Strategy getStrategy(String strategy) { - if (strategyMap.containsKey(strategy)) { - return strategyMap.get(strategy); - } else { - return UNKNOWN_STRATEGY; - } - } -} diff --git a/unleash-client-java/src/main/java/no/finn/unleash/UnleashException.java b/unleash-client-java/src/main/java/no/finn/unleash/UnleashException.java deleted file mode 100644 index c245db7ad6..0000000000 --- a/unleash-client-java/src/main/java/no/finn/unleash/UnleashException.java +++ /dev/null @@ -1,8 +0,0 @@ -package no.finn.unleash; - -public class UnleashException extends RuntimeException { - - public UnleashException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/unleash-client-java/src/test/java/no/finn/unleash/JsonToggleParserTest.java b/unleash-client-java/src/test/java/no/finn/unleash/JsonToggleParserTest.java deleted file mode 100644 index 9c13cd27f9..0000000000 --- a/unleash-client-java/src/test/java/no/finn/unleash/JsonToggleParserTest.java +++ /dev/null @@ -1,36 +0,0 @@ -package no.finn.unleash; - -import org.junit.Test; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.List; - -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; - -public class JsonToggleParserTest { - - @Test - public void should_deserialize_correctly() throws IOException { - String content = readFile("/features.json"); - List toggles = new ArrayList<>(JsonToggleParser.fromJson(content)); - - assertThat(toggles.size(), is(3)); - } - - private String readFile(String filename) throws IOException { - InputStream in = this.getClass().getResourceAsStream(filename); - InputStreamReader reader = new InputStreamReader(in); - BufferedReader br = new BufferedReader(reader); - StringBuilder builder = new StringBuilder(); - String line; - while((line = br.readLine()) != null) { - builder.append(line); - } - return builder.toString(); - } -} \ No newline at end of file diff --git a/unleash-client-java/src/test/java/no/finn/unleash/ManualTesting.java b/unleash-client-java/src/test/java/no/finn/unleash/ManualTesting.java deleted file mode 100644 index f5a04bab1e..0000000000 --- a/unleash-client-java/src/test/java/no/finn/unleash/ManualTesting.java +++ /dev/null @@ -1,49 +0,0 @@ -package no.finn.unleash; - -import java.net.URI; -import java.util.Random; - -public class ManualTesting { - public static void main(String[] args) throws Exception { - ToggleRepository repository = new FeatureToggleRepository(URI.create("http://localhost:4242/features"), 1); - - - Unleash unleash = new Unleash(repository); - - for(int i=0;i<100;i++) { - (new Thread(new UnleashThread(unleash, "thread-"+i, 100))).start(); - } - } - - static class UnleashThread implements Runnable { - - final Unleash unleash; - final String name; - final int maxRounds; - int currentRound = 0; - - UnleashThread(Unleash unleash, String name, int maxRounds) { - this.unleash = unleash; - this.name = name; - this.maxRounds = maxRounds; - } - - public void run() { - while(currentRound < maxRounds) { - currentRound++; - long startTime = System.nanoTime(); - boolean enabled = unleash.isEnabled("featureX"); - long timeUsed = System.nanoTime() - startTime; - - System.out.println(name + "\t" +"featureX" +":" + enabled + "\t " + timeUsed + "ns"); - - try { - //Wait 1 to 10ms before next round - Thread.sleep(new Random().nextInt(10000)); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - } - } -} diff --git a/unleash-client-java/src/test/java/no/finn/unleash/UnleashTest.java b/unleash-client-java/src/test/java/no/finn/unleash/UnleashTest.java deleted file mode 100644 index ba7bb3e612..0000000000 --- a/unleash-client-java/src/test/java/no/finn/unleash/UnleashTest.java +++ /dev/null @@ -1,56 +0,0 @@ -package no.finn.unleash; - -import org.junit.Before; -import org.junit.Test; - -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; -import static org.mockito.Mockito.*; - -public class UnleashTest { - - private ToggleRepository toggleRepository; - private Unleash unleash; - - @Before - public void setup() { - toggleRepository = mock(ToggleRepository.class); - unleash = new Unleash(toggleRepository); - } - - @Test - public void known_toogle_and_strategy_should_be_active() { - when(toggleRepository.getToggle("test")).thenReturn(new Toggle("test", true, "default", null)); - - assertThat(unleash.isEnabled("test"), is(true)); - } - - @Test - public void unknown_strategy_should_be_considered_inactive() { - when(toggleRepository.getToggle("test")).thenReturn(new Toggle("test", true, "whoot_strat", null)); - - assertThat(unleash.isEnabled("test"), is(false)); - } - - @Test - public void unknown_feature_should_be_considered_inactive() { - when(toggleRepository.getToggle("test")).thenReturn(null); - - assertThat(unleash.isEnabled("test"), is(false)); - } - - @Test - public void should_register_custom_strategies() { - //custom strategy - Strategy customStrategy = mock(Strategy.class); - when(customStrategy.getName()).thenReturn("custom"); - - //register custom strategy - unleash = new Unleash(toggleRepository, customStrategy); - when(toggleRepository.getToggle("test")).thenReturn(new Toggle("test", true, "custom", null)); - - unleash.isEnabled("test"); - - verify(customStrategy, times(1)).isEnabled(anyMap()); - } -} diff --git a/unleash-client-java/src/test/java/no/finn/unleash/example/CustomStrategy.java b/unleash-client-java/src/test/java/no/finn/unleash/example/CustomStrategy.java deleted file mode 100644 index 371a5811b1..0000000000 --- a/unleash-client-java/src/test/java/no/finn/unleash/example/CustomStrategy.java +++ /dev/null @@ -1,17 +0,0 @@ -package no.finn.unleash.example; - -import no.finn.unleash.Strategy; - -import java.util.Map; - -final class CustomStrategy implements Strategy { - @Override - public String getName() { - return "custom"; - } - - @Override - public boolean isEnabled(Map parameters) { - return false; - } -} diff --git a/unleash-client-java/src/test/java/no/finn/unleash/example/UnleashUsageTest.java b/unleash-client-java/src/test/java/no/finn/unleash/example/UnleashUsageTest.java deleted file mode 100644 index aabab5864e..0000000000 --- a/unleash-client-java/src/test/java/no/finn/unleash/example/UnleashUsageTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package no.finn.unleash.example; - -import no.finn.unleash.FeatureToggleRepository; -import no.finn.unleash.ToggleRepository; -import no.finn.unleash.Unleash; -import org.junit.Test; - -import java.net.URI; - -import static org.junit.Assert.assertFalse; - -public class UnleashUsageTest { - - @Test - public void wire() { - ToggleRepository repository = new FeatureToggleRepository(URI.create("http://localhost:4242/features"), 1); - - Unleash unleash = new Unleash(repository, new CustomStrategy()); - - assertFalse(unleash.isEnabled("myFeature")); - } -} diff --git a/unleash-client-java/src/test/resources/features.json b/unleash-client-java/src/test/resources/features.json deleted file mode 100644 index 17a4fe3413..0000000000 --- a/unleash-client-java/src/test/resources/features.json +++ /dev/null @@ -1,23 +0,0 @@ -{"features": [ - { - "name": "featureX", - "enabled": true, - "strategy": "default" - }, - { - "name": "featureY", - "enabled": false, - "strategy": "baz", - "parameters": { - "foo": "bar" - } - }, - { - "name": "featureZ", - "enabled": true, - "strategy": "baz", - "parameters": { - "foo": "rab" - } - } -]} \ No newline at end of file