Skip to content

Commit 0ed59e8

Browse files
Add holdout check for Jasckson and Json parser config test
1 parent ba6de31 commit 0ed59e8

File tree

2 files changed

+61
-31
lines changed

2 files changed

+61
-31
lines changed

core-api/src/test/java/com/optimizely/ab/config/parser/JacksonConfigParserTest.java

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,33 +16,38 @@
1616
*/
1717
package com.optimizely.ab.config.parser;
1818

19-
import com.fasterxml.jackson.databind.ObjectMapper;
20-
import com.fasterxml.jackson.databind.module.SimpleModule;
21-
import com.optimizely.ab.config.FeatureFlag;
22-
import com.optimizely.ab.config.FeatureVariable;
23-
import com.optimizely.ab.config.ProjectConfig;
24-
import com.optimizely.ab.config.audience.Audience;
25-
import com.optimizely.ab.config.audience.Condition;
26-
import com.optimizely.ab.config.audience.TypedAudience;
27-
import com.optimizely.ab.internal.InvalidAudienceCondition;
28-
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
29-
import org.junit.Ignore;
19+
import java.util.HashMap;
20+
import java.util.Map;
21+
22+
import static org.junit.Assert.assertEquals;
23+
import static org.junit.Assert.assertNotNull;
24+
import static org.junit.Assert.assertTrue;
25+
import static org.junit.Assert.fail;
3026
import org.junit.Rule;
3127
import org.junit.Test;
3228
import org.junit.rules.ExpectedException;
3329

34-
import java.util.HashMap;
35-
import java.util.Map;
36-
30+
import com.fasterxml.jackson.databind.ObjectMapper;
31+
import com.fasterxml.jackson.databind.module.SimpleModule;
3732
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.nullFeatureEnabledConfigJsonV4;
33+
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.validConfigHoldoutJsonV4;
3834
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.validConfigJsonV2;
3935
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.validConfigJsonV3;
4036
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.validConfigJsonV4;
4137
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.validProjectConfigV2;
4238
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.validProjectConfigV3;
4339
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.validProjectConfigV4;
40+
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.validProjectConfigV4_holdout;
4441
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.verifyProjectConfig;
45-
import static org.junit.Assert.*;
42+
import com.optimizely.ab.config.FeatureFlag;
43+
import com.optimizely.ab.config.FeatureVariable;
44+
import com.optimizely.ab.config.ProjectConfig;
45+
import com.optimizely.ab.config.audience.Audience;
46+
import com.optimizely.ab.config.audience.Condition;
47+
import com.optimizely.ab.config.audience.TypedAudience;
48+
import com.optimizely.ab.internal.InvalidAudienceCondition;
49+
50+
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
4651

4752
/**
4853
* Tests for {@link JacksonConfigParser}.
@@ -80,6 +85,16 @@ public void parseProjectConfigV4() throws Exception {
8085
verifyProjectConfig(actual, expected);
8186
}
8287

88+
@SuppressFBWarnings("NP_NULL_PARAM_DEREF")
89+
@Test
90+
public void parseProjectConfigHoldoutV4() throws Exception {
91+
JacksonConfigParser parser = new JacksonConfigParser();
92+
ProjectConfig actual = parser.parseProjectConfig(validConfigHoldoutJsonV4());
93+
ProjectConfig expected = validProjectConfigV4_holdout();
94+
95+
verifyProjectConfig(actual, expected);
96+
}
97+
8398
@Test
8499
public void parseNullFeatureEnabledProjectConfigV4() throws Exception {
85100
JacksonConfigParser parser = new JacksonConfigParser();

core-api/src/test/java/com/optimizely/ab/config/parser/JsonConfigParserTest.java

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,35 +16,40 @@
1616
*/
1717
package com.optimizely.ab.config.parser;
1818

19-
import com.optimizely.ab.config.FeatureFlag;
20-
import com.optimizely.ab.config.FeatureVariable;
21-
import com.optimizely.ab.config.ProjectConfig;
22-
import com.optimizely.ab.config.audience.AudienceIdCondition;
23-
import com.optimizely.ab.config.audience.Condition;
24-
import com.optimizely.ab.config.audience.UserAttribute;
25-
import com.optimizely.ab.internal.ConditionUtils;
26-
import com.optimizely.ab.internal.InvalidAudienceCondition;
27-
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
19+
import java.util.HashMap;
20+
import java.util.List;
21+
import java.util.Map;
22+
2823
import org.json.JSONArray;
2924
import org.json.JSONObject;
30-
import org.junit.Ignore;
25+
import static org.junit.Assert.assertEquals;
26+
import static org.junit.Assert.assertNotNull;
27+
import static org.junit.Assert.assertTrue;
28+
import static org.junit.Assert.fail;
3129
import org.junit.Rule;
3230
import org.junit.Test;
3331
import org.junit.rules.ExpectedException;
3432

35-
import java.util.HashMap;
36-
import java.util.List;
37-
import java.util.Map;
38-
3933
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.nullFeatureEnabledConfigJsonV4;
34+
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.validConfigHoldoutJsonV4;
4035
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.validConfigJsonV2;
36+
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.validConfigJsonV3;
4137
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.validConfigJsonV4;
4238
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.validProjectConfigV2;
43-
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.validConfigJsonV3;
4439
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.validProjectConfigV3;
4540
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.validProjectConfigV4;
41+
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.validProjectConfigV4_holdout;
4642
import static com.optimizely.ab.config.DatafileProjectConfigTestUtils.verifyProjectConfig;
47-
import static org.junit.Assert.*;
43+
import com.optimizely.ab.config.FeatureFlag;
44+
import com.optimizely.ab.config.FeatureVariable;
45+
import com.optimizely.ab.config.ProjectConfig;
46+
import com.optimizely.ab.config.audience.AudienceIdCondition;
47+
import com.optimizely.ab.config.audience.Condition;
48+
import com.optimizely.ab.config.audience.UserAttribute;
49+
import com.optimizely.ab.internal.ConditionUtils;
50+
import com.optimizely.ab.internal.InvalidAudienceCondition;
51+
52+
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
4853

4954
/**
5055
* Tests for {@link JsonConfigParser}.
@@ -81,6 +86,16 @@ public void parseProjectConfigV4() throws Exception {
8186
verifyProjectConfig(actual, expected);
8287
}
8388

89+
@Test
90+
public void parseProjectConfigHoldoutV4() throws Exception {
91+
JsonConfigParser parser = new JsonConfigParser();
92+
ProjectConfig actual = parser.parseProjectConfig(validConfigHoldoutJsonV4());
93+
ProjectConfig expected = validProjectConfigV4_holdout();
94+
95+
verifyProjectConfig(actual, expected);
96+
}
97+
98+
8499
@Test
85100
public void parseNullFeatureEnabledProjectConfigV4() throws Exception {
86101
JsonConfigParser parser = new JsonConfigParser();

0 commit comments

Comments
 (0)