public DeduplicationBenchmarks() { _events = ErrorDataReader.GetEvents().ToList(); _client = new ExceptionlessClient(); _errorPlugin = new ErrorPlugin(); _duplicateCheckerPlugin = new DuplicateCheckerPlugin(); }
public void VerifyDeduplicationFromFiles() { var client = CreateClient(); var errorPlugin = new ErrorPlugin(); foreach (var ev in ErrorDataReader.GetEvents()) { using (var duplicateCheckerPlugin = new DuplicateCheckerPlugin(TimeSpan.FromMilliseconds(20))) { for (int index = 0; index < 2; index++) { var contextData = new ContextData(); var context = new EventPluginContext(client, ev, contextData); errorPlugin.Run(context); duplicateCheckerPlugin.Run(context); if (index == 0) { Assert.False(context.Cancel); Assert.Null(context.Event.Count); } else { Assert.True(context.Cancel); Thread.Sleep(50); Assert.Equal(1, context.Event.Count); } } } } }
public void VerifyDeduplicationFromFiles() { var client = CreateClient(); var errorPlugin = new ErrorPlugin(); foreach (var ev in ErrorDataReader.GetEvents()) { using (var duplicateCheckerPlugin = new DuplicateCheckerPlugin(TimeSpan.FromSeconds(1))) { for (int index = 0; index < 2; index++) { var contextData = new ContextData(); var context = new EventPluginContext(client, ev, contextData); errorPlugin.Run(context); duplicateCheckerPlugin.Run(context); if (index == 0) { Assert.False(context.Cancel); Assert.Null(context.Event.Count); } else { Assert.True(context.Cancel); // There is only two executions, so dispose to trigger submitting. duplicateCheckerPlugin.Dispose(); Assert.Equal(1, context.Event.Count); } } } } }