Skip to content

Commit

Permalink
[MetricsAdvisor] Updated alert config tests to use newly created data…
Browse files Browse the repository at this point in the history
… feeds (Azure#21823)
  • Loading branch information
kinelski authored Jun 16, 2021
1 parent ccf146e commit 46b5314
Show file tree
Hide file tree
Showing 25 changed files with 6,658 additions and 2,272 deletions.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure.AI.MetricsAdvisor.Administration;
using Azure.AI.MetricsAdvisor.Models;
using Azure.Core.TestFramework;
Expand All @@ -12,6 +13,10 @@ namespace Azure.AI.MetricsAdvisor.Tests
{
public class MetricsAdvisorLiveTestBase : RecordedTestBase<MetricsAdvisorTestEnvironment>
{
protected const string TempDataFeedMetricName = "metric";
protected const string TempDataFeedDimensionNameA = "dimensionA";
protected const string TempDataFeedDimensionNameB = "dimensionB";

public MetricsAdvisorLiveTestBase(bool isAsync, RecordedTestMode mode) : base(isAsync, mode)
{
Sanitizer = new MetricsAdvisorRecordedTestSanitizer();
Expand Down Expand Up @@ -59,6 +64,24 @@ public MetricsAdvisorClient GetMetricsAdvisorClient(bool useTokenCredential = fa
return InstrumentClient(client);
}

protected async Task<DisposableDataFeed> CreateTempDataFeedAsync(MetricsAdvisorAdministrationClient adminClient)
{
var dataFeed = new DataFeed()
{
Name = Recording.GenerateAlphaNumericId("dataFeed"),
DataSource = new SqlServerDataFeedSource("connString", "query"),
Granularity = new DataFeedGranularity(DataFeedGranularityType.Daily),
Schema = new DataFeedSchema()
{
MetricColumns = { new DataFeedMetric(TempDataFeedMetricName) },
DimensionColumns = { new DataFeedDimension(TempDataFeedDimensionNameA), new DataFeedDimension(TempDataFeedDimensionNameB) }
},
IngestionSettings = new DataFeedIngestionSettings() { IngestionStartTime = SamplingStartTime }
};

return await DisposableDataFeed.CreateDataFeedAsync(adminClient, dataFeed);
}

protected void ValidateSeriesKey(DimensionKey seriesKey)
{
Assert.That(seriesKey, Is.Not.Null);
Expand Down Expand Up @@ -89,6 +112,30 @@ protected void ValidateGroupKey(DimensionKey groupKey)
}
}

protected void ValidateTempDataFeedDimensionKey(DimensionKey dimensionKey, string expectedDimensionA)
{
Assert.That(dimensionKey, Is.Not.Null);

Dictionary<string, string> dimensionColumns = dimensionKey.AsDictionary();

Assert.That(dimensionColumns.Count, Is.EqualTo(1));
Assert.That(dimensionColumns.ContainsKey(TempDataFeedDimensionNameA));
Assert.That(dimensionColumns[TempDataFeedDimensionNameA], Is.EqualTo(expectedDimensionA));
}

protected void ValidateTempDataFeedDimensionKey(DimensionKey dimensionKey, string expectedDimensionA, string expectedDimensionB)
{
Assert.That(dimensionKey, Is.Not.Null);

Dictionary<string, string> dimensionDictionary = dimensionKey.AsDictionary();

Assert.That(dimensionDictionary.Count, Is.EqualTo(2));
Assert.That(dimensionDictionary.ContainsKey(TempDataFeedDimensionNameA));
Assert.That(dimensionDictionary.ContainsKey(TempDataFeedDimensionNameB));
Assert.That(dimensionDictionary[TempDataFeedDimensionNameA], Is.EqualTo(expectedDimensionA));
Assert.That(dimensionDictionary[TempDataFeedDimensionNameB], Is.EqualTo(expectedDimensionB));
}

private MetricsAdvisorClientsOptions GetInstrumentedOptions()
{
var options = new MetricsAdvisorClientsOptions();
Expand Down
Loading

0 comments on commit 46b5314

Please sign in to comment.