Search in sources :

Example 21 with ProjectConfig

use of com.optimizely.ab.config.ProjectConfig in project java-sdk by optimizely.

the class JsonSimpleConfigParserTest method parseFeatureVariablesWithFutureType.

@Test
public void parseFeatureVariablesWithFutureType() throws Exception {
    JsonSimpleConfigParser parser = new JsonSimpleConfigParser();
    ProjectConfig actual = parser.parseProjectConfig(validConfigJsonV4());
    // unknown type
    FeatureFlag featureFlag = actual.getFeatureKeyMapping().get("multi_variate_future_feature");
    FeatureVariable variable = featureFlag.getVariableKeyToFeatureVariableMap().get("future_variable");
    assertEquals(variable.getType(), "future_type");
}
Also used : ProjectConfig(com.optimizely.ab.config.ProjectConfig) DatafileProjectConfigTestUtils.verifyProjectConfig(com.optimizely.ab.config.DatafileProjectConfigTestUtils.verifyProjectConfig) FeatureFlag(com.optimizely.ab.config.FeatureFlag) FeatureVariable(com.optimizely.ab.config.FeatureVariable) Test(org.junit.Test)

Example 22 with ProjectConfig

use of com.optimizely.ab.config.ProjectConfig in project java-sdk by optimizely.

the class JsonSimpleConfigParserTest method parseProjectConfigV3.

@Test
public void parseProjectConfigV3() throws Exception {
    JsonSimpleConfigParser parser = new JsonSimpleConfigParser();
    ProjectConfig actual = parser.parseProjectConfig(validConfigJsonV3());
    ProjectConfig expected = validProjectConfigV3();
    verifyProjectConfig(actual, expected);
}
Also used : ProjectConfig(com.optimizely.ab.config.ProjectConfig) DatafileProjectConfigTestUtils.verifyProjectConfig(com.optimizely.ab.config.DatafileProjectConfigTestUtils.verifyProjectConfig) Test(org.junit.Test)

Example 23 with ProjectConfig

use of com.optimizely.ab.config.ProjectConfig in project java-sdk by optimizely.

the class BatchEventProcessorTest method testFlushOnMismatchProjectId.

@Test
public void testFlushOnMismatchProjectId() throws Exception {
    setEventProcessor(logEvent -> eventHandlerRule.dispatchEvent(logEvent));
    ProjectConfig projectConfig1 = mock(ProjectConfig.class);
    when(projectConfig1.getRevision()).thenReturn("1");
    when(projectConfig1.getProjectId()).thenReturn("X");
    UserEvent userEvent1 = buildConversionEvent(EVENT_NAME, projectConfig1);
    eventProcessor.process(userEvent1);
    eventHandlerRule.expectConversion(EVENT_NAME, USER_ID);
    ProjectConfig projectConfig2 = mock(ProjectConfig.class);
    when(projectConfig1.getRevision()).thenReturn("1");
    when(projectConfig2.getProjectId()).thenReturn("Y");
    UserEvent userEvent2 = buildConversionEvent(EVENT_NAME, projectConfig2);
    eventProcessor.process(userEvent2);
    eventHandlerRule.expectConversion(EVENT_NAME, USER_ID);
    eventProcessor.close();
    eventHandlerRule.expectCalls(2);
}
Also used : ProjectConfig(com.optimizely.ab.config.ProjectConfig) Test(org.junit.Test)

Example 24 with ProjectConfig

use of com.optimizely.ab.config.ProjectConfig in project java-sdk by optimizely.

the class JacksonConfigParserTest method parseFeatureVariablesWithJsonPatched.

@Test
public void parseFeatureVariablesWithJsonPatched() throws Exception {
    JsonSimpleConfigParser parser = new JsonSimpleConfigParser();
    ProjectConfig actual = parser.parseProjectConfig(validConfigJsonV4());
    // "string" type + "json" subType
    FeatureFlag featureFlag = actual.getFeatureKeyMapping().get("multi_variate_feature");
    FeatureVariable variable = featureFlag.getVariableKeyToFeatureVariableMap().get("json_patched");
    assertEquals(variable.getType(), "json");
}
Also used : DatafileProjectConfigTestUtils.verifyProjectConfig(com.optimizely.ab.config.DatafileProjectConfigTestUtils.verifyProjectConfig) ProjectConfig(com.optimizely.ab.config.ProjectConfig) FeatureFlag(com.optimizely.ab.config.FeatureFlag) FeatureVariable(com.optimizely.ab.config.FeatureVariable) Test(org.junit.Test)

Example 25 with ProjectConfig

use of com.optimizely.ab.config.ProjectConfig in project java-sdk by optimizely.

the class JacksonConfigParserTest method parseNullFeatureEnabledProjectConfigV4.

@Test
public void parseNullFeatureEnabledProjectConfigV4() throws Exception {
    JacksonConfigParser parser = new JacksonConfigParser();
    ProjectConfig actual = parser.parseProjectConfig(nullFeatureEnabledConfigJsonV4());
    assertNotNull(actual);
    assertNotNull(actual.getExperiments());
    assertNotNull(actual.getFeatureFlags());
}
Also used : DatafileProjectConfigTestUtils.verifyProjectConfig(com.optimizely.ab.config.DatafileProjectConfigTestUtils.verifyProjectConfig) ProjectConfig(com.optimizely.ab.config.ProjectConfig) Test(org.junit.Test)

Aggregations

ProjectConfig (com.optimizely.ab.config.ProjectConfig)51 Test (org.junit.Test)45 DatafileProjectConfigTestUtils.verifyProjectConfig (com.optimizely.ab.config.DatafileProjectConfigTestUtils.verifyProjectConfig)28 Experiment (com.optimizely.ab.config.Experiment)19 FeatureFlag (com.optimizely.ab.config.FeatureFlag)14 FeatureVariable (com.optimizely.ab.config.FeatureVariable)12 LogEvent (com.optimizely.ab.event.LogEvent)10 Variation (com.optimizely.ab.config.Variation)9 Attribute (com.optimizely.ab.config.Attribute)7 EventBatch (com.optimizely.ab.event.internal.payload.EventBatch)7 ExhaustiveTest (com.optimizely.ab.categories.ExhaustiveTest)6 EventType (com.optimizely.ab.config.EventType)6 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)6 HashMap (java.util.HashMap)3 DecisionService (com.optimizely.ab.bucketing.DecisionService)2 Group (com.optimizely.ab.config.Group)2 LiveVariable (com.optimizely.ab.config.LiveVariable)2 Rollout (com.optimizely.ab.config.Rollout)2 Audience (com.optimizely.ab.config.audience.Audience)2 EventBuilder (com.optimizely.ab.event.internal.EventBuilder)2