public void StopShouldPostStats() { // Arrange. MockRecordStats(); _telemetrySyncTask = new TelemetrySyncTask(_telemetryStorage.Object, _telemetryAPI.Object, _splitCache.Object, _segmentCache.Object, new SelfRefreshingConfig(), _factoryInstantiationsService.Object, wrapperAdapter: _wrapperAdapter.Object, log: _log.Object, tasksManager: new TasksManager(_wrapperAdapter.Object)); // Act. _telemetrySyncTask.Start(); _telemetrySyncTask.Stop(); Thread.Sleep(2000); // Assert. _telemetryAPI.Verify(mock => mock.RecordStats(It.IsAny <Stats>()), Times.AtLeastOnce); _telemetryStorage.Verify(mock => mock.PopAuthRejections(), Times.AtLeastOnce); _telemetryStorage.Verify(mock => mock.GetEventsStats(EventsEnum.EventsDropped), Times.AtLeastOnce); _telemetryStorage.Verify(mock => mock.GetEventsStats(EventsEnum.EventsQueued), Times.AtLeastOnce); _telemetryStorage.Verify(mock => mock.PopHttpErrors(), Times.AtLeastOnce); _telemetryStorage.Verify(mock => mock.PopHttpLatencies(), Times.AtLeastOnce); _telemetryStorage.Verify(mock => mock.GetImpressionsStats(ImpressionsEnum.ImpressionsDeduped), Times.AtLeastOnce); _telemetryStorage.Verify(mock => mock.GetImpressionsStats(ImpressionsEnum.ImpressionsDropped), Times.AtLeastOnce); _telemetryStorage.Verify(mock => mock.GetImpressionsStats(ImpressionsEnum.ImpressionsQueued), Times.AtLeastOnce); _telemetryStorage.Verify(mock => mock.GetLastSynchronizations(), Times.AtLeastOnce); _telemetryStorage.Verify(mock => mock.PopExceptions(), Times.AtLeastOnce); _telemetryStorage.Verify(mock => mock.PopLatencies(), Times.AtLeastOnce); _telemetryStorage.Verify(mock => mock.GetSessionLength(), Times.AtLeastOnce); _telemetryStorage.Verify(mock => mock.PopStreamingEvents(), Times.AtLeastOnce); _telemetryStorage.Verify(mock => mock.PopTags(), Times.AtLeastOnce); _telemetryStorage.Verify(mock => mock.PopTokenRefreshes(), Times.AtLeastOnce); _splitCache.Verify(mock => mock.SplitsCount(), Times.AtLeastOnce); _segmentCache.Verify(mock => mock.SegmentsCount(), Times.AtLeastOnce); _segmentCache.Verify(mock => mock.SegmentKeysCount(), Times.AtLeastOnce); }
public void StartPeriodicDataRecording() { _telemetrySyncTask.Start(); _impressionsLog.Start(); _eventsLog.Start(); _impressionsCountSender.Start(); _log.Debug("Periodic Data Recording started..."); }