public PollingProcessorTest() { _mockFeatureRequestor = new Mock <IFeatureRequestor>(); _featureRequestor = _mockFeatureRequestor.Object; _featureStore = new InMemoryFeatureStore(); _config = Configuration.Default("SDK_KEY"); }
public StreamProcessorTest() { _mockEventSource = new Mock <IEventSource>(); _mockEventSource.Setup(es => es.StartAsync()).Returns(Task.CompletedTask); _eventSource = _mockEventSource.Object; _mockRequestor = new Mock <IFeatureRequestor>(); _requestor = _mockRequestor.Object; _featureStore = new InMemoryFeatureStore(); _config = Client.Configuration.Default(SDK_KEY).WithFeatureStore(_featureStore); }
public StreamProcessorTest() { _mockEventSource = new Mock <IEventSource>(); _mockEventSource.Setup(es => es.StartAsync()).Returns(Task.CompletedTask); _eventSource = _mockEventSource.Object; _eventSourceFactory = new TestEventSourceFactory(_eventSource); _mockRequestor = new Mock <IFeatureRequestor>(); _requestor = _mockRequestor.Object; _featureStore = TestUtils.InMemoryFeatureStore(); _config = Client.Configuration.Builder(SDK_KEY) .FeatureStoreFactory(TestUtils.SpecificFeatureStore(_featureStore)) .Build(); }
public void EvaluatingUnknownFlagGeneratesEvent() { IFeatureStore featureStore = new InMemoryFeatureStore(); MockEventProcessor ep = new MockEventProcessor(); LdClient client = MakeClient(featureStore, ep); User user = User.WithKey("user"); client.StringVariation("badflag", user, "default"); Assert.Collection(ep.Events, e => CheckUnknownFlagEvent(e, "badflag", user, new JValue("default"))); }
public void OfflineClientGetsFlagFromFeatureStore() { var featureStore = new InMemoryFeatureStore(); featureStore.Upsert(VersionedDataKind.Features, new FeatureFlagBuilder("key").OffWithValue(new JValue(true)).Build()); var config = Configuration.Default("SDK_KEY") .WithOffline(true) .WithFeatureStoreFactory(TestUtils.SpecificFeatureStore(featureStore)); using (var client = new LdClient(config)) { Assert.Equal(true, client.BoolVariation("key", User.WithKey("user"), false)); } }
public void AllFlagsReturnsNullIfNeitherClientNorFeatureStoreIsInited() { var featureStore = new InMemoryFeatureStore(); var flag = new FeatureFlagBuilder("key").OffWithValue(new JValue(1)).Build(); featureStore.Upsert(VersionedDataKind.Features, flag); // but the store is still not inited var config = Configuration.Default("SDK_KEY").WithStartWaitTime(TimeSpan.Zero) .WithFeatureStoreFactory(TestUtils.SpecificFeatureStore(featureStore)) .WithUpdateProcessorFactory(TestUtils.SpecificUpdateProcessor(updateProcessor)) .WithEventProcessorFactory(Components.NullEventProcessor); using (var client = new LdClient(config)) { Assert.Null(client.AllFlags(User.WithKey("user"))); } }
public void EvaluationUsesFeatureStoreIfClientIsNotInitedButStoreIsInited() { var featureStore = new InMemoryFeatureStore(); featureStore.Init(new Dictionary <IVersionedDataKind, IDictionary <string, IVersionedData> >()); var flag = new FeatureFlagBuilder("key").OffWithValue(new JValue(1)).Build(); featureStore.Upsert(VersionedDataKind.Features, flag); var config = Configuration.Default("SDK_KEY").WithStartWaitTime(TimeSpan.Zero) .WithFeatureStoreFactory(TestUtils.SpecificFeatureStore(featureStore)) .WithUpdateProcessorFactory(TestUtils.SpecificUpdateProcessor(updateProcessor)) .WithEventProcessorFactory(Components.NullEventProcessor); using (var client = new LdClient(config)) { Assert.Equal(1, client.IntVariation("key", User.WithKey("user"), 0)); } }
public void EvaluatingFlagWithNullUserGeneratesEvent() { IFeatureStore featureStore = new InMemoryFeatureStore(); MockEventProcessor ep = new MockEventProcessor(); LdClient client = MakeClient(featureStore, ep); FeatureFlag flag = new FeatureFlagBuilder("flagkey") .OffVariation(0) .Variations(new List <JToken> { new JValue("a"), new JValue("b") }) .Build(); featureStore.Upsert(VersionedDataKind.Features, flag); client.StringVariation("flagkey", null, "default"); Assert.Collection(ep.Events, e => CheckFlagEvent(e, flag, flag.Version, null, null, new JValue("default"), new JValue("default"))); }
public FeatureServiceTests() { _store = new InMemoryFeatureStore(); _sut = new FeatureService(_store); }
public InMemoryFeatureStoreTest() { store = new InMemoryFeatureStore(); }