Skip to content

Commit 17fa7c7

Browse files
Fix (more) EventHubs flaky batch tests (#7768)
## Summary of changes Same issue with flaky tests as #7734, I missed more usages of the function > The test expectations were incorrect, as ReadEventsFromPartitionAsync may call ReceiveAsync [several times depending on timing](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/eventhub/Azure.Messaging.EventHubs/src/Consumer/EventHubConsumerClient.cs#L520).
1 parent 3ded9ec commit 17fa7c7

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

tracer/test/Datadog.Trace.ClrProfiler.IntegrationTests/Azure/AzureEventHubsTests.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -101,15 +101,15 @@ public async Task TestEventHubsEnumerableIntegration(string packageVersion, stri
101101
using (var agent = EnvironmentHelper.GetMockAgent())
102102
using (await RunSampleAndWaitForExit(agent, packageVersion: packageVersion))
103103
{
104-
var spans = await agent.WaitForSpansAsync(2, timeoutInMilliseconds: 30000);
104+
var spans = await agent.WaitForSpansAsync(2, timeoutInMilliseconds: 30000, assertExpectedCount: false);
105105

106106
using var s = new AssertionScope();
107107

108108
var sendSpans = spans.Where(span => span.Name == "azure_eventhubs.send").ToList();
109109
var receiveSpans = spans.Where(span => span.Name == "azure_eventhubs.receive").ToList();
110110

111111
sendSpans.Should().HaveCount(1, "Expected 1 SendAsync span with azure_eventhubs.send operation for enumerable");
112-
receiveSpans.Should().HaveCount(1, "Expected 1 receive span");
112+
receiveSpans.Should().HaveCountGreaterOrEqualTo(1, "Expected at least 1 receive span");
113113

114114
var enumerableSendSpans = sendSpans.Where(s => s.Resource == "samples-eventhubs-hub").ToList();
115115
enumerableSendSpans.Should().HaveCount(1, "Expected 1 enumerable send span from SendAsync operation");
@@ -174,15 +174,15 @@ public async Task TestEventHubsEnumerableIntegrationWithoutBatchLinks(string pac
174174
using (var agent = EnvironmentHelper.GetMockAgent())
175175
using (await RunSampleAndWaitForExit(agent, packageVersion: packageVersion))
176176
{
177-
var spans = await agent.WaitForSpansAsync(2, timeoutInMilliseconds: 30000);
177+
var spans = await agent.WaitForSpansAsync(2, timeoutInMilliseconds: 30000, assertExpectedCount: false);
178178

179179
using var s = new AssertionScope();
180180

181181
var sendSpans = spans.Where(span => span.Name == "azure_eventhubs.send").ToList();
182182
var receiveSpans = spans.Where(span => span.Name == "azure_eventhubs.receive").ToList();
183183

184184
sendSpans.Should().HaveCount(1, "Expected 1 SendAsync span for enumerable (no individual event spans when batch links disabled)");
185-
receiveSpans.Should().HaveCount(1, "Expected 1 receive span");
185+
receiveSpans.Should().HaveCountGreaterOrEqualTo(1, "Expected at least 1 receive span");
186186

187187
var createSpans = spans.Where(span => span.Name == "azure_eventhubs.create").ToList();
188188
createSpans.Should().BeEmpty("Expected no individual message spans (azure_eventhubs.create) when batch links disabled");
@@ -213,7 +213,7 @@ public async Task TestEventHubsBufferedProducerIntegration(string packageVersion
213213
using (var agent = EnvironmentHelper.GetMockAgent())
214214
using (await RunSampleAndWaitForExit(agent, packageVersion: packageVersion))
215215
{
216-
var spans = await agent.WaitForSpansAsync(5, timeoutInMilliseconds: 30000);
216+
var spans = await agent.WaitForSpansAsync(5, timeoutInMilliseconds: 30000, assertExpectedCount: false);
217217

218218
using var s = new AssertionScope();
219219

@@ -223,7 +223,7 @@ public async Task TestEventHubsBufferedProducerIntegration(string packageVersion
223223

224224
createSpans.Should().HaveCount(3, "Expected 3 TryAdd spans with azure_eventhubs.create operation");
225225
sendSpans.Should().HaveCount(1, "Expected 1 buffered send span with azure_eventhubs.send operation");
226-
receiveSpans.Should().HaveCount(1, "Expected 1 receive span");
226+
receiveSpans.Should().HaveCountGreaterOrEqualTo(1, "Expected at least 1 receive span");
227227

228228
var individualMessageSpans = createSpans.Where(s => s.Resource == "samples-eventhubs-hub").ToList();
229229
individualMessageSpans.Should().HaveCount(3, "Expected 3 individual message spans from TryAdd operations");
@@ -255,15 +255,15 @@ public async Task TestEventHubsBufferedProducerIntegrationWithoutBatchLinks(stri
255255
using (var agent = EnvironmentHelper.GetMockAgent())
256256
using (await RunSampleAndWaitForExit(agent, packageVersion: packageVersion))
257257
{
258-
var spans = await agent.WaitForSpansAsync(2, timeoutInMilliseconds: 30000);
258+
var spans = await agent.WaitForSpansAsync(2, timeoutInMilliseconds: 30000, assertExpectedCount: false);
259259

260260
using var s = new AssertionScope();
261261

262262
var sendSpans = spans.Where(span => span.Name == "azure_eventhubs.send").ToList();
263263
var receiveSpans = spans.Where(span => span.Name == "azure_eventhubs.receive").ToList();
264264

265265
sendSpans.Should().HaveCount(1, "Expected 1 buffered send span (no individual TryAdd spans when batch links disabled)");
266-
receiveSpans.Should().HaveCount(1, "Expected 1 receive span");
266+
receiveSpans.Should().HaveCountGreaterOrEqualTo(1, "Expected at least 1 receive span");
267267

268268
var createSpans = spans.Where(span => span.Name == "azure_eventhubs.create").ToList();
269269
createSpans.Should().BeEmpty("Expected no individual message spans (azure_eventhubs.create) when batch links disabled");

0 commit comments

Comments
 (0)