public void FlagsAreSavedToPersistentStorageByDefault() { var storage = new MockPersistentDataStore(); var initialFlags = new DataSetBuilder().Add("flag", 1, LdValue.Of(100), 0).Build(); var config = BasicConfig() .DataSource(MockPollingProcessor.Factory(initialFlags)) .Persistence(Components.Persistence().Storage(storage.AsSingletonFactory())) .Build(); using (var client = TestUtil.CreateClient(config, BasicUser)) { var storedData = storage.InspectUserData(config.MobileKey, BasicUser.Key); Assert.NotNull(storedData); AssertHelpers.DataSetsEqual(initialFlags, storedData.Value); } }
public void EventsAreSentToCorrectEndpointAsync( string baseUriExtraPath, string expectedAnalyticsPath, string expectedDiagnosticsPath ) { using (var server = HttpServer.Start(Handlers.Status(202))) { var config = BasicConfig() .DataSource(MockPollingProcessor.Factory(DataSetBuilder.Empty)) .Events(Components.SendEvents()) .ServiceEndpoints(Components.ServiceEndpoints().Events(server.Uri.ToString().TrimEnd('/') + baseUriExtraPath)) .Build(); using (var client = TestUtil.CreateClient(config, _user)) { client.Flush(); var req1 = server.Recorder.RequireRequest(TimeSpan.FromSeconds(5)); var req2 = server.Recorder.RequireRequest(TimeSpan.FromSeconds(5)); if (req1.Path.EndsWith("diagnostic")) { var temp = req1; req1 = req2; req2 = temp; } Assert.Equal("POST", req1.Method); Assert.Equal(expectedAnalyticsPath, req1.Path); Assert.Equal(LdValueType.Array, LdValue.Parse(req1.Body).Type); Assert.Equal("POST", req2.Method); Assert.Equal(expectedDiagnosticsPath, req2.Path); Assert.Equal(LdValueType.Object, LdValue.Parse(req2.Body).Type); } } }