Skip to content

Commit 9079018

Browse files
Add additional test to OptimizelyTest.java
1 parent 00fbc21 commit 9079018

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

core-api/src/main/java/com/optimizely/ab/Optimizely.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1345,10 +1345,12 @@ private DecisionResponse<Map<String, Object>> getDecisionVariableMap(@Nonnull Fe
13451345
*/
13461346
public Variation getFlagVariationByKey(String flagKey, String variationKey) {
13471347
Map<String, List<Variation>> flagVariationsMap = getProjectConfig().getFlagVariationsMap();
1348-
List<Variation> variations = flagVariationsMap.get(flagKey);
1349-
for (Variation variation : variations) {
1350-
if (variation.getKey().equals(variationKey)) {
1351-
return variation;
1348+
if (flagVariationsMap.containsKey(flagKey)) {
1349+
List<Variation> variations = flagVariationsMap.get(flagKey);
1350+
for (Variation variation : variations) {
1351+
if (variation.getKey().equals(variationKey)) {
1352+
return variation;
1353+
}
13521354
}
13531355
}
13541356
return null;

core-api/src/test/java/com/optimizely/ab/OptimizelyTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4655,4 +4655,15 @@ public void createUserContext_multiple() {
46554655
assertTrue(user2.getAttributes().isEmpty());
46564656
}
46574657

4658+
@Test
4659+
public void getFlagVariationByKey() throws IOException {
4660+
String flagKey = "double_single_variable_feature";
4661+
String variationKey = "pi_variation";
4662+
Optimizely optimizely = Optimizely.builder().withDatafile(validConfigJsonV4()).build();
4663+
Variation variation = optimizely.getFlagVariationByKey(flagKey, variationKey);
4664+
4665+
assertNotNull(variation);
4666+
assertEquals(variationKey, variation.getKey());
4667+
}
4668+
46584669
}

0 commit comments

Comments
 (0)