Skip to content

Commit

Permalink
ci: adding testing related to identify
Browse files Browse the repository at this point in the history
  • Loading branch information
tanderson-ld committed Mar 25, 2024
1 parent 9e8a61e commit 4150e05
Showing 1 changed file with 34 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -144,4 +144,38 @@ public void clientUsesStoredFlagsIfInitializationTimesOutInPollingMode() throws
assertEquals(flagValue, client.stringVariation(flagKey, "default"));
}
}

@Test
public void identifyWhenPollingFailsAndCacheAlreadyExists() throws Exception {
// set up data store with flag data for ContextA and ContextB
// insert ContextA's flags
LDContext contextA = LDContext.create("ContextA");
String flagKeyA = "flag-keyA", flagValueA = "stored-valueA";
Flag flagA = new FlagBuilder(flagKeyA).version(1).value(LDValue.of(flagValueA)).build();
TestUtil.writeFlagUpdateToStore(store, MOBILE_KEY, contextA, flagA);
// insert contextB's flags
LDContext contextB = LDContext.create("ContextB");
String flagKeyB = "flag-keyB", flagValueB = "stored-valueB";
Flag flagB = new FlagBuilder(flagKeyB).version(1).value(LDValue.of(flagValueB)).build();
TestUtil.writeFlagUpdateToStore(store, MOBILE_KEY, contextB, flagB);

// response to initialization for ContextA
mockPollingServer.enqueue(new MockResponse().setResponseCode(401));

// response to contextB's identify
mockPollingServer.enqueue(new MockResponse().setResponseCode(401));

LDConfig config = baseConfig()
.dataSource(Components.pollingDataSource())
.serviceEndpoints(Components.serviceEndpoints().polling(mockPollingServerUri))
.build();

LDClient client = LDClient.init(application, config, contextA, 1);
assertFalse("client should not have been initialized", client.isInitialized());
assertFalse("client was offline", client.isOffline());
assertEquals(flagValueA, client.stringVariation(flagKeyA, "defaultA"));

client.identify(contextB).get();
assertEquals(flagValueB, client.stringVariation(flagKeyB, "defaultB"));
}
}

0 comments on commit 4150e05

Please sign in to comment.