Exemple #1
0
 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);
                        }
                    }
                }
            }
        }