Skip to content

Commit 9b34ad9

Browse files
author
chris-hoefgen
committed
changing the unit test to use the new config server and data fixtures
1 parent 0aa7fb2 commit 9b34ad9

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

src/test/java/com/devcycle/sdk/server/local/DVCLocalClientTest.java

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,41 +3,42 @@
33
import java.util.Map;
44
import java.util.UUID;
55

6-
import org.junit.Assert;
7-
import org.junit.BeforeClass;
8-
import org.junit.Test;
6+
import com.devcycle.sdk.server.common.model.*;
7+
import com.devcycle.sdk.server.helpers.LocalConfigServer;
8+
import com.devcycle.sdk.server.helpers.TestDataFixtures;
9+
import org.junit.*;
910
import org.junit.runner.RunWith;
1011
import org.mockito.junit.MockitoJUnitRunner;
1112

12-
import com.devcycle.sdk.server.common.model.Feature;
13-
import com.devcycle.sdk.server.common.model.PlatformData;
14-
import com.devcycle.sdk.server.common.model.User;
15-
import com.devcycle.sdk.server.common.model.Variable;
16-
import com.devcycle.sdk.server.common.model.BaseVariable;
17-
import com.devcycle.sdk.server.helpers.WhiteBox;
1813
import com.devcycle.sdk.server.local.api.DVCLocalClient;
1914
import com.devcycle.sdk.server.local.bucketing.LocalBucketing;
2015
import com.devcycle.sdk.server.local.managers.EventQueueManager;
2116
import com.devcycle.sdk.server.local.model.DVCLocalOptions;
2217

2318
@RunWith(MockitoJUnitRunner.class)
2419
public class DVCLocalClientTest {
25-
2620
private static DVCLocalClient client;
27-
static final String testConfigString = "{\"project\":{\"_id\":\"61f97628ff4afcb6d057dbf0\",\"key\":\"emma-project\",\"a0_organization\":\"org_tPyJN5dvNNirKar7\",\"settings\":{\"edgeDB\":{\"enabled\":false},\"optIn\":{\"enabled\":true,\"title\":\"EarlyAccess\",\"description\":\"Getearlyaccesstobetafeaturesbelow!\",\"imageURL\":\"\",\"colors\":{\"primary\":\"#531cd9\",\"secondary\":\"#16dec0\"}}}},\"environment\":{\"_id\":\"61f97628ff4afcb6d057dbf2\",\"key\":\"development\"},\"features\":[{\"_id\":\"62fbf6566f1ba302829f9e32\",\"key\":\"a-cool-new-feature\",\"type\":\"release\",\"variations\":[{\"key\":\"variation-on\",\"name\":\"VariationOn\",\"variables\":[{\"_var\":\"62fbf6566f1ba302829f9e34\",\"value\":true},{\"_var\":\"63125320a4719939fd57cb2b\",\"value\":\"variationOff\"}],\"_id\":\"62fbf6566f1ba302829f9e38\"},{\"key\":\"variation-off\",\"name\":\"VariationOff\",\"variables\":[{\"_var\":\"62fbf6566f1ba302829f9e34\",\"value\":false},{\"_var\":\"63125320a4719939fd57cb2b\",\"value\":\"variationOn\"}],\"_id\":\"62fbf6566f1ba302829f9e39\"}],\"configuration\":{\"_id\":\"62fbf6576f1ba302829f9e4d\",\"targets\":[{\"_audience\":{\"_id\":\"63125321d31c601f992288b6\",\"filters\":{\"filters\":[{\"type\":\"user\",\"subType\":\"email\",\"comparator\":\"=\",\"values\":[\"giveMeVariationOff@email.com\"],\"filters\":[]}],\"operator\":\"and\"}},\"distribution\":[{\"_variation\":\"62fbf6566f1ba302829f9e38\",\"percentage\":1}],\"_id\":\"63125321d31c601f992288bb\"},{\"_audience\":{\"_id\":\"63125321d31c601f992288b7\",\"filters\":{\"filters\":[{\"type\":\"all\",\"values\":[],\"filters\":[]}],\"operator\":\"and\"}},\"distribution\":[{\"_variation\":\"62fbf6566f1ba302829f9e39\",\"percentage\":1}],\"_id\":\"63125321d31c601f992288bc\"}],\"forcedUsers\":{}}}],\"variables\":[{\"_id\":\"62fbf6566f1ba302829f9e34\",\"key\":\"a-cool-new-feature\",\"type\":\"Boolean\"},{\"_id\":\"63125320a4719939fd57cb2b\",\"key\":\"string-var\",\"type\":\"String\"}],\"variableHashes\":{\"a-cool-new-feature\":1868656757,\"string-var\":2413071944}}";
21+
private static LocalConfigServer localConfigServer;
2822
static final String apiKey = String.format("server-%s", UUID.randomUUID());
29-
private static LocalBucketing localBucketing;
30-
private static EventQueueManager eventQueueManager;
3123

3224
@BeforeClass
3325
public static void setup() throws Exception {
34-
client = new DVCLocalClient(apiKey);
35-
localBucketing = new LocalBucketing();
36-
localBucketing.storeConfig(apiKey, testConfigString);
37-
localBucketing.setPlatformData(PlatformData.builder().build().toString());
38-
eventQueueManager = new EventQueueManager(apiKey, localBucketing, DVCLocalOptions.builder().build());
39-
WhiteBox.setInternalState(client, "localBucketing", localBucketing);
40-
WhiteBox.setInternalState(client, "eventQueueManager", eventQueueManager);
26+
localConfigServer = new LocalConfigServer(TestDataFixtures.SMALL_CONFIG);
27+
localConfigServer.start();
28+
29+
DVCLocalOptions options = DVCLocalOptions.builder().configCdnBaseUrl("http://localhost:8000/").configPollingIntervalMS(60000).build();
30+
client = new DVCLocalClient(apiKey, options);
31+
try {
32+
// wait one second for the config to be loaded by the client
33+
Thread.sleep(1000);
34+
}catch (Exception e) {
35+
System.out.println("Failed to sleep: " + e.getMessage());
36+
}
37+
}
38+
39+
@AfterClass
40+
public static void cleanup() throws Exception {
41+
localConfigServer.stop();
4142
}
4243

4344
@Test

0 commit comments

Comments
 (0)