public void FlagsAreSavedToPersistentStorageByDefault() { var storage = new MockPersistentStorage(); var flagsJson = "{\"flag\": {\"value\": 100}}"; var config = TestUtil.ConfigWithFlagsJson(simpleUser, appKey, flagsJson) .FlagCacheManager(null) .UpdateProcessorFactory(MockPollingProcessor.Factory(flagsJson)) .PersistentStorage(storage) .Build(); using (var client = TestUtil.CreateClient(config, simpleUser)) { var storedJson = storage.GetValue(Constants.FLAGS_KEY_PREFIX + simpleUser.Key); var flags = JsonConvert.DeserializeObject <IDictionary <string, FeatureFlag> >(storedJson); Assert.Equal(new JValue(100), flags["flag"].value); } }
public void FlagsAreLoadedFromPersistentStorageByDefault() { var storage = new MockPersistentStorage(); var flagsJson = "{\"flag\": {\"value\": 100}}"; storage.Save(Constants.FLAGS_KEY_PREFIX + simpleUser.Key, flagsJson); var config = TestUtil.ConfigWithFlagsJson(simpleUser, appKey, "{}") .PersistentStorage(storage) .FlagCacheManager(null) // use actual cache logic, not mock component (even though persistence layer is a mock) .Offline(true) .Build(); using (var client = TestUtil.CreateClient(config, simpleUser)) { Assert.Equal(100, client.IntVariation("flag", 99)); } }