public void ProcessChainsTelemetryWhenOverTheThreshold()
        {
            var telemetry = new DependencyTelemetry("Test Dependency", "there", "Test", "ABC123")
            {
                Duration = TimeSpan.FromDays(1)
            };
            var mockProcessor = new Mock <ITelemetryProcessor>();
            var filter        = new ApplicationInsightsDependencyTelemetryFilter(mockProcessor.Object, 100);

            filter.Process(telemetry);
            mockProcessor.Verify(processor => processor.Process(It.Is <ITelemetry>(t => t == telemetry)), Times.Once, "because the dependency duration was greater than the threshold");
        }
        public void ProcessIgnoresTelemetryWhenBelowTheThreshold()
        {
            var telemetry = new DependencyTelemetry("Test Dependency", "there", "Test", "ABC123")
            {
                Duration = TimeSpan.FromMilliseconds(100)
            };
            var mockProcessor = new Mock <ITelemetryProcessor>();
            var filter        = new ApplicationInsightsDependencyTelemetryFilter(mockProcessor.Object, 500);

            filter.Process(telemetry);
            mockProcessor.Verify(processor => processor.Process(It.Is <ITelemetry>(t => t == telemetry)), Times.Never, "because the dependency duration was beneath than the threshold");
        }
        public void ProcessChainsTelemetryWhenNotDependencyTelemetry()
        {
            var telemetry = new RequestTelemetry()
            {
                Duration = TimeSpan.FromMilliseconds(100)
            };
            var mockProcessor = new Mock <ITelemetryProcessor>();
            var filter        = new ApplicationInsightsDependencyTelemetryFilter(mockProcessor.Object, 500);

            filter.Process(telemetry);
            mockProcessor.Verify(processor => processor.Process(It.Is <ITelemetry>(t => t == telemetry)), Times.Once, "because the telemetry was not a dependency");
        }