public void EventsInBatchRecorded() { var expectedStats = LdValue.BuildObject().Add("stats", "testValue").Build(); var mockDiagnosticStore = MakeDiagnosticStore(null, null, new DiagnosticEvent(expectedStats)); var mockSender = MakeMockSender(); var eventCapture = EventCapture.From(mockSender); var diagnosticCapture = EventCapture.DiagnosticsFrom(mockSender); CountdownEvent diagnosticCountdown = new CountdownEvent(1); using (var ep = MakeProcessor(_config, mockSender, mockDiagnosticStore.Object, null, diagnosticCountdown)) { RecordEval(ep, BasicFlagWithTracking, BasicEval); FlushAndWait(ep); mockDiagnosticStore.Verify(diagStore => diagStore.RecordEventsInBatch(2), Times.Once(), "Diagnostic store's RecordEventsInBatch should be called with the number of events in last flush"); ep.DoDiagnosticSend(null); diagnosticCountdown.Wait(); mockDiagnosticStore.Verify(diagStore => diagStore.CreateEventAndReset(), Times.Once()); Assert.Equal(expectedStats, diagnosticCapture.EventsQueue.Take()); } }
public void DiagnosticStoreInitEventSentToDiagnosticUri() { var expected = LdValue.BuildObject().Add("testKey", "testValue").Build(); var mockDiagnosticStore = MakeDiagnosticStore(null, new DiagnosticEvent(expected), new DiagnosticEvent(LdValue.Null)); var mockSender = MakeMockSender(); var eventCapture = EventCapture.From(mockSender); var diagnosticCapture = EventCapture.DiagnosticsFrom(mockSender); var diagnosticCountdown = new CountdownEvent(1); using (var ep = MakeProcessor(_config, mockSender, mockDiagnosticStore.Object, null, diagnosticCountdown)) { diagnosticCountdown.Wait(); Assert.Equal(expected, diagnosticCapture.EventsQueue.Take()); } }
public void DiagnosticDisablerDisablesInitialDiagnostics() { var testDiagnostic = LdValue.BuildObject().Add("testKey", "testValue").Build(); var mockDiagnosticStore = MakeDiagnosticStore(new DiagnosticEvent(testDiagnostic), new DiagnosticEvent(testDiagnostic), new DiagnosticEvent(LdValue.Null)); var mockDiagnosticDisabler = new Mock <IDiagnosticDisabler>(MockBehavior.Strict); mockDiagnosticDisabler.Setup(diagDisabler => diagDisabler.Disabled).Returns(true); var mockSender = MakeMockSender(); var eventCapture = EventCapture.From(mockSender); var diagnosticCapture = EventCapture.DiagnosticsFrom(mockSender); using (var ep = MakeProcessor(_config, mockSender, mockDiagnosticStore.Object, mockDiagnosticDisabler.Object, null)) { } mockDiagnosticStore.Verify(diagStore => diagStore.InitEvent, Times.Never()); mockDiagnosticStore.Verify(diagStore => diagStore.PersistedUnsentEvent, Times.Never()); Assert.Empty(diagnosticCapture.Events); }
public void DiagnosticDisablerEnabledInitialDiagnostics() { var expectedStats = LdValue.BuildObject().Add("stats", "testValue").Build(); var expectedInit = LdValue.BuildObject().Add("init", "testValue").Build(); var mockDiagnosticStore = MakeDiagnosticStore(new DiagnosticEvent(expectedStats), new DiagnosticEvent(expectedInit), new DiagnosticEvent(LdValue.Null)); var mockDiagnosticDisabler = new Mock <IDiagnosticDisabler>(MockBehavior.Strict); mockDiagnosticDisabler.Setup(diagDisabler => diagDisabler.Disabled).Returns(false); var mockSender = MakeMockSender(); var eventCapture = EventCapture.From(mockSender); var diagnosticCapture = EventCapture.DiagnosticsFrom(mockSender); var diagnosticCountdown = new CountdownEvent(1); using (var ep = MakeProcessor(_config, mockSender, mockDiagnosticStore.Object, mockDiagnosticDisabler.Object, diagnosticCountdown)) { diagnosticCountdown.Wait(); Assert.Equal(expectedStats, diagnosticCapture.EventsQueue.Take()); Assert.Equal(expectedInit, diagnosticCapture.EventsQueue.Take()); } }