public void GetAlertConfigurationsValidatesArguments() { MetricsAdvisorAdministrationClient adminClient = GetMetricsAdvisorAdministrationClient(); Assert.That(() => adminClient.GetAlertConfigurationsAsync(null), Throws.InstanceOf <ArgumentNullException>()); Assert.That(() => adminClient.GetAlertConfigurationsAsync(""), Throws.InstanceOf <ArgumentException>()); Assert.That(() => adminClient.GetAlertConfigurationsAsync("metricId"), Throws.InstanceOf <ArgumentException>().With.InnerException.TypeOf(typeof(FormatException))); Assert.That(() => adminClient.GetAlertConfigurations(null), Throws.InstanceOf <ArgumentNullException>()); Assert.That(() => adminClient.GetAlertConfigurations(""), Throws.InstanceOf <ArgumentException>()); Assert.That(() => adminClient.GetAlertConfigurations("metricId"), Throws.InstanceOf <ArgumentException>().With.InnerException.TypeOf(typeof(FormatException))); }
public async Task GetAlertConfigurationsAsync() { string endpoint = MetricsAdvisorUri; string subscriptionKey = MetricsAdvisorSubscriptionKey; string apiKey = MetricsAdvisorApiKey; var credential = new MetricsAdvisorKeyCredential(subscriptionKey, apiKey); var adminClient = new MetricsAdvisorAdministrationClient(new Uri(endpoint), credential); string detectionConfigurationId = DetectionConfigurationId; int configCount = 0; await foreach (AnomalyAlertConfiguration alertConfiguration in adminClient.GetAlertConfigurationsAsync(detectionConfigurationId)) { Console.WriteLine($"Alert configuration ID: {alertConfiguration.Id}"); Console.WriteLine($"Name: {alertConfiguration.Name}"); Console.WriteLine($"Description: {alertConfiguration.Description}"); Console.WriteLine(); // Print at most 5 alert configurations. if (++configCount >= 5) { break; } } }
public async Task GetAlertConfigurations(bool useTokenCredential) { MetricsAdvisorAdministrationClient adminClient = GetMetricsAdvisorAdministrationClient(useTokenCredential); var configCount = 0; await foreach (AnomalyAlertConfiguration config in adminClient.GetAlertConfigurationsAsync(DetectionConfigurationId)) { Assert.That(config.Id, Is.Not.Null.And.Not.Empty); Assert.That(config.Name, Is.Not.Null.And.Not.Empty); Assert.That(config.Description, Is.Not.Null); Assert.That(config.IdsOfHooksToAlert, Is.Not.Null); Assert.That(config.DimensionsToSplitAlert, Is.Not.Null); Assert.That(config.MetricAlertConfigurations, Is.Not.Null.And.Not.Empty); if (config.MetricAlertConfigurations.Count == 1) { Assert.That(config.CrossMetricsOperator, Is.Null); } else if (config.MetricAlertConfigurations.Count == 2) { Assert.That(config.CrossMetricsOperator, Is.Not.Null); Assert.That(config.CrossMetricsOperator, Is.Not.EqualTo(default(MetricAlertConfigurationsOperator))); } else { Assert.That(config.CrossMetricsOperator, Is.Not.Null); Assert.That(config.CrossMetricsOperator, Is.Not.EqualTo(default(MetricAlertConfigurationsOperator))); Assert.That(config.CrossMetricsOperator, Is.Not.EqualTo(MetricAlertConfigurationsOperator.Xor)); } foreach (string hookId in config.IdsOfHooksToAlert) { Assert.That(hookId, Is.Not.Null.And.Not.Empty); } foreach (MetricAlertConfiguration metricConfig in config.MetricAlertConfigurations) { ValidateMetricAlertConfiguration(metricConfig); } if (++configCount >= MaximumSamplesCount) { break; } } Assert.That(configCount, Is.GreaterThan(0)); }
public void GetAlertConfigurationsRespectsTheCancellationToken() { MetricsAdvisorAdministrationClient adminClient = GetMetricsAdvisorAdministrationClient(); using var cancellationSource = new CancellationTokenSource(); cancellationSource.Cancel(); IAsyncEnumerator <AnomalyAlertConfiguration> asyncEnumerator = adminClient.GetAlertConfigurationsAsync(FakeGuid, cancellationSource.Token).GetAsyncEnumerator(); Assert.That(async() => await asyncEnumerator.MoveNextAsync(), Throws.InstanceOf <OperationCanceledException>()); IEnumerator <AnomalyAlertConfiguration> enumerator = adminClient.GetAlertConfigurations(FakeGuid, cancellationSource.Token).GetEnumerator(); Assert.That(() => enumerator.MoveNext(), Throws.InstanceOf <OperationCanceledException>()); }