public void ValidateReturnsFalseWhenNotStarted() { var metric = new ManualMetric(Name, Description); metric.Validate(out var message).Should().BeFalse(); message.Should().Contain("was not started and stopped"); }
public void DurationDoesNotHaveValueAtFirstStart() { var metric = new ManualMetric(Name, Description); metric.Start(); metric.Duration.HasValue.Should().BeFalse(); }
public void ManualMetric() { var metric = new ManualMetric(MetricName); metric.Start(); metric.Stop(); metric.Validate(out _); }
public void StopThrowsWhenNotStarted() { var metric = new ManualMetric(Name, Description); Action validate = () => metric.Stop(); validate.Should().Throw <InvalidOperationException>() .Which.Message.Should().Be("The manual timing has not been started."); }
public void ValidateReturnsTrueWhenStartedAndStopped() { var metric = new ManualMetric(Name, Description); metric.Start(); metric.Stop(); metric.Validate(out _).Should().BeTrue(); }
public void InitialStateSetFromConstructor(string name, string description) { var metric = new ManualMetric(name, description); metric.Name.Should().Be(name); metric.Description.Should().Be(description); metric.Duration.HasValue.Should().BeFalse(); }
public void DurationHasValueOnceStopped() { var metric = new ManualMetric(Name, Description); metric.Start(); metric.Stop(); metric.Duration.HasValue.Should().BeTrue(); }
public void IsRunningUpdatedWhenStartingAndStopping() { var metric = new ManualMetric(Name, Description); metric.IsRunning.Should().BeFalse(); metric.Start(); metric.IsRunning.Should().BeTrue(); metric.Stop(); metric.IsRunning.Should().BeFalse(); }
public Task OnResponseStarting() { _requestTimingOptions.IncludeCustomMetrics = IncludeCustomMetrics; _serverTimingOptions.ValidateMetrics = ValidateMetrics; _requestTimingOptions.IncludeDescriptions = IncludeDescriptions; _httpContext.Response.Headers.Clear(); var totalMetric = new ManualMetric(_serverTimingOptions.TotalMetricName); totalMetric.Start(); return(_middleware.OnResponseStarting(_httpContext, totalMetric, _serverTiming, _requestTimingOptions)); }
public async Task CanStartAndStoppedMultipleTimes() { var metric = new ManualMetric(Name, Description); const int iterations = 10; var durations = new List <double?>(iterations); for (var i = 0; i < iterations; i++) { metric.Start(); await Task.Delay(1); metric.Stop(); durations.Add(metric.Duration); } durations.Should().NotContainNulls().And.BeInAscendingOrder(); }
public void DurationDoesNotHaveInitialValue() { var metric = new ManualMetric(Name, Description); metric.Duration.HasValue.Should().BeFalse(); }