Skip to content

Commit f5868fa

Browse files
authored
Convert monitor test-resources to bicep (Azure#22512)
1 parent 132760c commit f5868fa

23 files changed

+381
-419
lines changed

sdk/monitor/Azure.Monitor.Query/tests/LogsQueryClientClientLiveTests.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public async Task CanQuery()
4646
var client = CreateClient();
4747

4848
var results = await client.QueryAsync(TestEnvironment.WorkspaceId,
49-
$"{_logsTestData.TableAName} |" +
49+
$"{_logsTestData.TableAName} | distinct * |" +
5050
$"project {LogsTestData.StringColumnName}, {LogsTestData.IntColumnName}, {LogsTestData.BoolColumnName}, {LogsTestData.FloatColumnName} |" +
5151
$"order by {LogsTestData.StringColumnName} asc",
5252
_logsTestData.DataTimeRange);
@@ -73,7 +73,7 @@ public async Task CanQueryIntoPrimitiveString()
7373
var client = CreateClient();
7474

7575
var results = await client.QueryAsync<string>(TestEnvironment.WorkspaceId,
76-
$"{_logsTestData.TableAName} | project {LogsTestData.StringColumnName} | order by {LogsTestData.StringColumnName} asc",
76+
$"{_logsTestData.TableAName} | distinct * | project {LogsTestData.StringColumnName} | order by {LogsTestData.StringColumnName} asc",
7777
_logsTestData.DataTimeRange);
7878

7979
CollectionAssert.AreEqual(new[] {"a", "b", "c"}, results.Value);
@@ -99,7 +99,7 @@ public async Task CanQueryAdditionalWorkspace()
9999
var client = CreateClient();
100100

101101
var results = await client.QueryAsync<string>(TestEnvironment.WorkspaceId,
102-
$"{_logsTestData.TableAName} | project {LogsTestData.StringColumnName} | order by {LogsTestData.StringColumnName} asc",
102+
$"{_logsTestData.TableAName} | distinct * | project {LogsTestData.StringColumnName} | order by {LogsTestData.StringColumnName} asc",
103103
_logsTestData.DataTimeRange, new LogsQueryOptions()
104104
{
105105
AdditionalWorkspaces = { TestEnvironment.SecondaryWorkspaceId }
@@ -113,7 +113,7 @@ public async Task CanQueryIntoPrimitiveInt()
113113
{
114114
var client = CreateClient();
115115

116-
var results = await client.QueryAsync<int>(TestEnvironment.WorkspaceId, $"{_logsTestData.TableAName} | count",
116+
var results = await client.QueryAsync<int>(TestEnvironment.WorkspaceId, $"{_logsTestData.TableAName} | distinct * | count",
117117
_logsTestData.DataTimeRange);
118118

119119
Assert.AreEqual(_logsTestData.TableA.Count, results.Value[0]);
@@ -125,7 +125,7 @@ public async Task CanQueryIntoClass()
125125
var client = CreateClient();
126126

127127
var results = await client.QueryAsync<TestModel>(TestEnvironment.WorkspaceId,
128-
$"{_logsTestData.TableAName} |" +
128+
$"{_logsTestData.TableAName} | distinct * |" +
129129
$"project-rename Name = {LogsTestData.StringColumnName}, Age = {LogsTestData.IntColumnName} |" +
130130
$"order by Name asc",
131131
_logsTestData.DataTimeRange);
@@ -144,7 +144,7 @@ public async Task CanQueryIntoDictionary()
144144
var client = CreateClient();
145145

146146
var results = await client.QueryAsync<Dictionary<string, object>>(TestEnvironment.WorkspaceId,
147-
$"{_logsTestData.TableAName} |" +
147+
$"{_logsTestData.TableAName} | distinct * |" +
148148
$"project-rename Name = {LogsTestData.StringColumnName}, Age = {LogsTestData.IntColumnName} |" +
149149
$"project Name, Age |" +
150150
$"order by Name asc",
@@ -164,7 +164,7 @@ public async Task CanQueryIntoIDictionary()
164164
var client = CreateClient();
165165

166166
var results = await client.QueryAsync<IDictionary<string, object>>(TestEnvironment.WorkspaceId,
167-
$"{_logsTestData.TableAName} |" +
167+
$"{_logsTestData.TableAName} | distinct * |" +
168168
$"project-rename Name = {LogsTestData.StringColumnName}, Age = {LogsTestData.IntColumnName} |" +
169169
$"project Name, Age |" +
170170
$"order by Name asc",
@@ -432,7 +432,7 @@ public async Task CanQueryWithTimespan()
432432
var client = CreateClient();
433433
var results = await client.QueryAsync<DateTimeOffset>(
434434
TestEnvironment.WorkspaceId,
435-
$"{_logsTestData.TableAName} | project {LogsTestData.TimeGeneratedColumnName}",
435+
$"{_logsTestData.TableAName} | distinct * | project {LogsTestData.TimeGeneratedColumnName}",
436436
timespan);
437437

438438
// We should get the second and the third events
@@ -451,8 +451,8 @@ public async Task CanQueryBatchWithTimespan()
451451

452452
var client = CreateClient();
453453
LogsBatchQuery batch = new LogsBatchQuery();
454-
string id1 = batch.AddQuery(TestEnvironment.WorkspaceId, $"{_logsTestData.TableAName} | project {LogsTestData.TimeGeneratedColumnName}", _logsTestData.DataTimeRange);
455-
string id2 = batch.AddQuery(TestEnvironment.WorkspaceId, $"{_logsTestData.TableAName} | project {LogsTestData.TimeGeneratedColumnName}", timespan);
454+
string id1 = batch.AddQuery(TestEnvironment.WorkspaceId, $"{_logsTestData.TableAName} | distinct * | project {LogsTestData.TimeGeneratedColumnName}", _logsTestData.DataTimeRange);
455+
string id2 = batch.AddQuery(TestEnvironment.WorkspaceId, $"{_logsTestData.TableAName} | distinct * | project {LogsTestData.TimeGeneratedColumnName}", timespan);
456456
Response<LogsBatchQueryResults> response = await client.QueryBatchAsync(batch);
457457

458458
var result1 = response.Value.GetResult<DateTimeOffset>(id1);

sdk/monitor/Azure.Monitor.Query/tests/LogsTestData.cs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ namespace Azure.Monitor.Query.Tests
1616
public class LogsTestData
1717
{
1818
private static readonly string DataVersion = "1";
19+
private static Task _initialization;
20+
private static readonly object _initializationLock = new object();
1921
// The data retention time is 31 day by-default so we need to make sure the data we posted is still
2022
// being retained.
2123
// Make the windows start the monday of a previous week.
@@ -43,13 +45,11 @@ public class LogsTestData
4345
public DateTimeRange DataTimeRange => new DateTimeRange(RetentionWindowStart, TimeSpan.FromDays(7));
4446

4547
private readonly MonitorQueryClientTestEnvironment _testEnvironment;
46-
private static bool _initialized;
4748

4849
public LogsTestData(RecordedTestBase<MonitorQueryClientTestEnvironment> test)
4950
{
5051
_testEnvironment = test.TestEnvironment;
5152

52-
// Make sure we don't need to re-record every week
5353
var recordingUtcNow = DateTime.SpecifyKind(test.Recording.UtcNow.Date, DateTimeKind.Utc);
5454
RetentionWindowStart = recordingUtcNow.AddDays(DayOfWeek.Monday - recordingUtcNow.DayOfWeek - 7);
5555

@@ -84,16 +84,19 @@ public LogsTestData(RecordedTestBase<MonitorQueryClientTestEnvironment> test)
8484

8585
public async Task InitializeAsync()
8686
{
87-
if (_testEnvironment.Mode == RecordedTestMode.Playback || _initialized)
87+
if (_testEnvironment.Mode == RecordedTestMode.Playback)
8888
{
8989
return;
9090
}
9191

92-
_initialized = true;
92+
lock (_initializationLock)
93+
{
94+
_initialization ??= Task.WhenAll(
95+
InitializeData(_testEnvironment.WorkspaceId, _testEnvironment.WorkspaceKey),
96+
InitializeData(_testEnvironment.SecondaryWorkspaceId, _testEnvironment.SecondaryWorkspaceKey));
97+
}
9398

94-
await Task.WhenAll(
95-
InitializeData(_testEnvironment.WorkspaceId, _testEnvironment.WorkspaceKey),
96-
InitializeData(_testEnvironment.SecondaryWorkspaceId, _testEnvironment.SecondaryWorkspaceKey));
99+
await _initialization;
97100
}
98101

99102
private async Task InitializeData(string workspaceId, string workspaceKey)

sdk/monitor/Azure.Monitor.Query/tests/MetricsTestData.cs

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,11 @@ namespace Azure.Monitor.Query.Tests
1212
{
1313
public class MetricsTestData
1414
{
15-
private static bool _initialized;
15+
private static Task _initialization;
16+
private static readonly object _initializationLock = new object();
17+
1618
private readonly MonitorQueryClientTestEnvironment _testEnvironment;
19+
private static TimeSpan AllowedMetricAge = TimeSpan.FromMinutes(25);
1720
public string Name1 { get; } = "Guinness";
1821
public string Name2 { get; } = "Bessie";
1922
public TimeSpan Duration { get; } = TimeSpan.FromMinutes(15);
@@ -36,24 +39,23 @@ public MetricsTestData(MonitorQueryClientTestEnvironment environment, DateTimeOf
3639

3740
public async Task InitializeAsync()
3841
{
39-
if (_testEnvironment.Mode == RecordedTestMode.Playback || _initialized)
42+
if (_testEnvironment.Mode == RecordedTestMode.Playback)
4043
{
4144
return;
4245
}
4346

44-
_initialized = true;
45-
var metricClient = new MetricsQueryClient(_testEnvironment.MetricsEndpoint, _testEnvironment.Credential);
46-
47-
await SendData();
48-
49-
while (!await MetricsPropagated(metricClient))
47+
lock (_initializationLock)
5048
{
51-
await Task.Delay(TimeSpan.FromSeconds(5));
49+
_initialization ??= Initialize();
5250
}
51+
52+
await _initialization;
5353
}
5454

55-
private async Task SendData()
55+
private async Task Initialize()
5656
{
57+
var metricClient = new MetricsQueryClient(_testEnvironment.MetricsEndpoint, _testEnvironment.Credential);
58+
5759
var senderClient = new MetricsSenderClient(
5860
_testEnvironment.Location,
5961
_testEnvironment.MetricsIngestionEndpoint,
@@ -64,7 +66,21 @@ private async Task SendData()
6466
Diagnostics = { IsLoggingContentEnabled = true }
6567
});
6668

67-
var names = new[] {Name1, Name2};
69+
do
70+
{
71+
// Stop sending when we are past the allowed threshold
72+
if (DateTimeOffset.UtcNow - StartTime < AllowedMetricAge)
73+
{
74+
await SendData(senderClient);
75+
}
76+
77+
await Task.Delay(TimeSpan.FromSeconds(5));
78+
} while (!await MetricsPropagated(metricClient));
79+
}
80+
81+
private async Task SendData(MetricsSenderClient senderClient)
82+
{
83+
var names = new[] { Name1, Name2 };
6884

6985
foreach (var name in names)
7086
{
@@ -76,7 +92,7 @@ private async Task SendData()
7692
new[] { "Name" },
7793
new SeriesValue[]
7894
{
79-
new(new[] {name}, 5 * i, 20 * i, 30 * i, 1 + i)
95+
new(new[] { name }, 5 * i, 20 * i, 30 * i, 1 + i)
8096
}))));
8197
}
8298
}

sdk/monitor/Azure.Monitor.Query/tests/SessionRecords/LogsQueryClientClientLiveTests/CanQuery.json

Lines changed: 13 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/monitor/Azure.Monitor.Query/tests/SessionRecords/LogsQueryClientClientLiveTests/CanQueryAdditionalWorkspace.json

Lines changed: 15 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)