/// <summary>
        /// Creates a <see cref="HttpClient"/> over the metrics address of the <paramref name="runner"/>.
        /// </summary>
        public static async Task <HttpClient> CreateHttpClientMetricsAddressAsync(this MonitorCollectRunner runner, IHttpClientFactory factory, TimeSpan timeout)
        {
            HttpClient client = factory.CreateClient();

            using CancellationTokenSource cancellation = new(timeout);
            client.BaseAddress = new Uri(await runner.GetMetricsAddressAsync(cancellation.Token), UriKind.Absolute);

            return(client);
        }
        /// <summary>
        /// Creates a named <see cref="HttpClient"/> over the default address of the <paramref name="runner"/>.
        /// </summary>
        public static async Task <HttpClient> CreateHttpClientDefaultAddressAsync(this MonitorCollectRunner runner, IHttpClientFactory factory, string name, TimeSpan timeout)
        {
            HttpClient client = factory.CreateClient(name);

            using CancellationTokenSource cancellation = new(timeout);
            client.BaseAddress = new Uri(await runner.GetDefaultAddressAsync(cancellation.Token), UriKind.Absolute);

            if (runner.UseTempApiKey)
            {
                string monitorApiKey = await runner.GetMonitorApiKey(cancellation.Token);

                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(AuthConstants.ApiKeySchema, monitorApiKey);
            }

            return(client);
        }
 public static async Task WaitForCollectionRuleActionsCompletedAsync(this MonitorCollectRunner runner, string ruleName, TimeSpan timeout)
 {
     using CancellationTokenSource cancellation = new(timeout);
     await runner.WaitForCollectionRuleActionsCompletedAsync(ruleName, cancellation.Token);
 }
 public static Task WaitForCollectionRuleActionsCompletedAsync(this MonitorCollectRunner runner, string ruleName)
 {
     return(runner.WaitForCollectionRuleActionsCompletedAsync(ruleName, TestTimeouts.CollectionRuleActionsCompletedTimeout));
 }
 public static async Task StartAsync(this MonitorCollectRunner runner, TimeSpan timeout)
 {
     using CancellationTokenSource cancellation = new(timeout);
     await runner.StartAsync(cancellation.Token);
 }
 public static Task StartAsync(this MonitorCollectRunner runner)
 {
     return(runner.StartAsync(CommonTestTimeouts.StartProcess));
 }
 /// <summary>
 /// Creates a <see cref="HttpClient"/> over the metrics address of the <paramref name="runner"/>.
 /// </summary>
 public static Task <HttpClient> CreateHttpClientMetricsAddressAsync(this MonitorCollectRunner runner, IHttpClientFactory factory)
 {
     return(runner.CreateHttpClientMetricsAddressAsync(factory, TestTimeouts.HttpApi));
 }
 /// <summary>
 /// Creates a <see cref="HttpClient"/> over the default address of the <paramref name="runner"/>.
 /// </summary>
 public static Task <HttpClient> CreateHttpClientDefaultAddressAsync(this MonitorCollectRunner runner, IHttpClientFactory factory, TimeSpan timeout)
 {
     return(runner.CreateHttpClientDefaultAddressAsync(factory, Extensions.Options.Options.DefaultName, timeout));
 }
 /// <summary>
 /// Creates a named <see cref="HttpClient"/> over the default address of the <paramref name="runner"/>.
 /// </summary>
 public static Task <HttpClient> CreateHttpClientDefaultAddressAsync(this MonitorCollectRunner runner, IHttpClientFactory factory, string name)
 {
     return(runner.CreateHttpClientDefaultAddressAsync(factory, name, TestTimeouts.HttpApi));
 }
 public static async Task WaitForCollectionRulesStoppedAsync(this MonitorCollectRunner runner, TimeSpan timeout)
 {
     using CancellationTokenSource cancellation = new(timeout);
     await runner.WaitForCollectionRulesStoppedAsync(cancellation.Token);
 }
 public static Task WaitForCollectionRulesStoppedAsync(this MonitorCollectRunner runner)
 {
     return(runner.WaitForCollectionRulesStoppedAsync(TestTimeouts.CollectionRuleCompletionTimeout));
 }
 public static Task WaitForCollectionRuleUnmatchedFiltersAsync(this MonitorCollectRunner runner, string ruleName)
 {
     return(runner.WaitForCollectionRuleUnmatchedFiltersAsync(ruleName, TestTimeouts.CollectionRuleFilteredTimeout));
 }