Skip to content

Commit a971cc8

Browse files
committed
Use unique queue and exchange names
Hopefully will address some test flakes in topology recovery.
1 parent b6b400d commit a971cc8

File tree

2 files changed

+35
-26
lines changed

2 files changed

+35
-26
lines changed

projects/Test/Integration/TestConnectionRecoveryWithoutSetup.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -270,9 +270,9 @@ public async Task TestCreateChannelOnClosedAutorecoveringConnectionDoesNotHang()
270270
[Fact]
271271
public async Task TestTopologyRecoveryConsumerFilter()
272272
{
273-
const string exchange = "topology.recovery.exchange";
274-
const string queueWithRecoveredConsumer = "topology.recovery.queue.1";
275-
const string queueWithIgnoredConsumer = "topology.recovery.queue.2";
273+
string exchange = GenerateExchangeName();
274+
string queueWithRecoveredConsumer = GenerateQueueName();
275+
string queueWithIgnoredConsumer = GenerateQueueName();
276276
const string binding1 = "recovered.binding.1";
277277
const string binding2 = "recovered.binding.2";
278278

@@ -357,6 +357,8 @@ public async Task TestTopologyRecoveryConsumerFilter()
357357
}
358358
finally
359359
{
360+
await ch.QueueDeleteAsync(queueWithRecoveredConsumer);
361+
await ch.QueueDeleteAsync(queueWithIgnoredConsumer);
360362
await ch.CloseAsync();
361363
}
362364
}

projects/Test/Integration/TestConnectionTopologyRecovery.cs

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,9 @@ public async Task TestRecoverTopologyOnDisposedChannel()
8888
[Fact]
8989
public async Task TestTopologyRecoveryQueueFilter()
9090
{
91+
string queueToRecover = GenerateQueueName();
92+
string queueToIgnore = GenerateQueueName() + "-filtered.queue";
93+
9194
var tcs = new TaskCompletionSource<bool>(TaskCreationOptions.RunContinuationsAsynchronously);
9295

9396
var filter = new TopologyRecoveryFilter
@@ -99,8 +102,6 @@ public async Task TestTopologyRecoveryQueueFilter()
99102
conn.RecoverySucceeded += (source, ea) => tcs.SetResult(true);
100103
IChannel ch = await conn.CreateChannelAsync();
101104

102-
string queueToRecover = "recovered.queue";
103-
string queueToIgnore = "filtered.queue";
104105
await ch.QueueDeclareAsync(queueToRecover, false, false, false);
105106
await ch.QueueDeclareAsync(queueToIgnore, false, false, false);
106107

@@ -134,6 +135,9 @@ public async Task TestTopologyRecoveryQueueFilter()
134135
[Fact]
135136
public async Task TestTopologyRecoveryExchangeFilter()
136137
{
138+
string exchangeToRecover = GenerateExchangeName();
139+
string exchangeToIgnore = GenerateExchangeName() + "-filtered.exchange";
140+
137141
var tcs = new TaskCompletionSource<bool>(TaskCreationOptions.RunContinuationsAsynchronously);
138142

139143
var filter = new TopologyRecoveryFilter
@@ -146,8 +150,6 @@ public async Task TestTopologyRecoveryExchangeFilter()
146150
IChannel ch = await conn.CreateChannelAsync();
147151
try
148152
{
149-
string exchangeToRecover = "recovered.exchange";
150-
string exchangeToIgnore = "filtered.exchange";
151153
await ch.ExchangeDeclareAsync(exchangeToRecover, "topic", false, true);
152154
await ch.ExchangeDeclareAsync(exchangeToIgnore, "direct", false, true);
153155

@@ -178,6 +180,12 @@ public async Task TestTopologyRecoveryExchangeFilter()
178180
[Fact]
179181
public async Task TestTopologyRecoveryBindingFilter()
180182
{
183+
string exchange = GenerateExchangeName();
184+
string queueWithRecoveredBinding = GenerateQueueName();
185+
string queueWithIgnoredBinding = GenerateQueueName();
186+
const string bindingToRecover = "recovered.binding";
187+
const string bindingToIgnore = "filtered.binding";
188+
181189
var tcs = new TaskCompletionSource<bool>(TaskCreationOptions.RunContinuationsAsynchronously);
182190

183191
var filter = new TopologyRecoveryFilter
@@ -192,12 +200,6 @@ public async Task TestTopologyRecoveryBindingFilter()
192200

193201
try
194202
{
195-
string exchange = "topology.recovery.exchange";
196-
string queueWithRecoveredBinding = "topology.recovery.queue.1";
197-
string queueWithIgnoredBinding = "topology.recovery.queue.2";
198-
string bindingToRecover = "recovered.binding";
199-
string bindingToIgnore = "filtered.binding";
200-
201203
await ch.ExchangeDeclareAsync(exchange, "direct");
202204
await ch.QueueDeclareAsync(queueWithRecoveredBinding, false, false, false);
203205
await ch.QueueDeclareAsync(queueWithIgnoredBinding, false, false, false);
@@ -218,6 +220,9 @@ public async Task TestTopologyRecoveryBindingFilter()
218220
}
219221
finally
220222
{
223+
await ch.ExchangeDeleteAsync(exchange);
224+
await ch.QueueDeleteAsync(queueWithRecoveredBinding);
225+
await ch.QueueDeleteAsync(queueWithIgnoredBinding);
221226
await ch.CloseAsync();
222227
await conn.CloseAsync();
223228
ch.Dispose();
@@ -228,9 +233,9 @@ public async Task TestTopologyRecoveryBindingFilter()
228233
[Fact]
229234
public async Task TestTopologyRecoveryDefaultFilterRecoversAllEntities()
230235
{
231-
const string exchange = "topology.recovery.exchange";
232-
const string queue1 = "topology.recovery.queue.1";
233-
const string queue2 = "topology.recovery.queue.2";
236+
string exchange = GenerateExchangeName();
237+
string queue1 = GenerateQueueName();
238+
string queue2 = GenerateQueueName();
234239
const string binding1 = "recovered.binding";
235240
const string binding2 = "filtered.binding";
236241

@@ -305,6 +310,9 @@ public async Task TestTopologyRecoveryDefaultFilterRecoversAllEntities()
305310
[Fact]
306311
public async Task TestTopologyRecoveryQueueExceptionHandler()
307312
{
313+
string queueToRecoverWithException = GenerateQueueName() + "-recovery.exception.queue";
314+
string queueToRecoverSuccessfully = GenerateQueueName() + "-successfully.recovered.queue";
315+
308316
var tcs = new TaskCompletionSource<bool>(TaskCreationOptions.RunContinuationsAsynchronously);
309317

310318
var changedQueueArguments = new Dictionary<string, object>
@@ -335,8 +343,6 @@ await channel.QueueDeclareAsync(rq.Name, false, false, false,
335343
conn.RecoverySucceeded += (source, ea) => tcs.SetResult(true);
336344
IChannel ch = await conn.CreateChannelAsync();
337345

338-
string queueToRecoverWithException = "recovery.exception.queue";
339-
string queueToRecoverSuccessfully = "successfully.recovered.queue";
340346
await ch.QueueDeclareAsync(queueToRecoverWithException, false, false, false);
341347
await ch.QueueDeclareAsync(queueToRecoverSuccessfully, false, false, false);
342348

@@ -367,6 +373,9 @@ await _channel.QueueDeclareAsync(queueToRecoverWithException, false, false, fals
367373
[Fact]
368374
public async Task TestTopologyRecoveryExchangeExceptionHandler()
369375
{
376+
string exchangeToRecoverWithException = GenerateExchangeName() + "-recovery.exception.exchange";
377+
string exchangeToRecoverSuccessfully = GenerateExchangeName() + "-successfully.recovered.exchange";
378+
370379
var tcs = new TaskCompletionSource<bool>(TaskCreationOptions.RunContinuationsAsynchronously);
371380

372381
var exceptionHandler = new TopologyRecoveryExceptionHandler
@@ -390,8 +399,6 @@ public async Task TestTopologyRecoveryExchangeExceptionHandler()
390399
AutorecoveringConnection conn = await CreateAutorecoveringConnectionWithTopologyRecoveryExceptionHandlerAsync(exceptionHandler);
391400
conn.RecoverySucceeded += (source, ea) => tcs.SetResult(true);
392401

393-
string exchangeToRecoverWithException = "recovery.exception.exchange";
394-
string exchangeToRecoverSuccessfully = "successfully.recovered.exchange";
395402
IChannel ch = await conn.CreateChannelAsync();
396403
await ch.ExchangeDeclareAsync(exchangeToRecoverWithException, "direct", false, false);
397404
await ch.ExchangeDeclareAsync(exchangeToRecoverSuccessfully, "direct", false, false);
@@ -423,12 +430,12 @@ public async Task TestTopologyRecoveryExchangeExceptionHandler()
423430
[Fact]
424431
public async Task TestTopologyRecoveryBindingExceptionHandler()
425432
{
426-
var connectionRecoveryTcs = new TaskCompletionSource<bool>(TaskCreationOptions.RunContinuationsAsynchronously);
427-
428-
const string exchange = "topology.recovery.exchange";
429-
const string queueWithExceptionBinding = "recovery.exception.queue";
433+
string exchange = GenerateExchangeName();
434+
string queueWithExceptionBinding = GenerateQueueName();
430435
const string bindingToRecoverWithException = "recovery.exception.binding";
431436

437+
var connectionRecoveryTcs = new TaskCompletionSource<bool>(TaskCreationOptions.RunContinuationsAsynchronously);
438+
432439
var exceptionHandler = new TopologyRecoveryExceptionHandler
433440
{
434441
BindingRecoveryExceptionCondition = (b, ex) =>
@@ -484,9 +491,9 @@ public async Task TestTopologyRecoveryBindingExceptionHandler()
484491
[Fact]
485492
public async Task TestTopologyRecoveryConsumerExceptionHandler()
486493
{
487-
var connectionRecoveryTcs = new TaskCompletionSource<bool>(TaskCreationOptions.RunContinuationsAsynchronously);
494+
string queueWithExceptionConsumer = GenerateQueueName() + "-recovery.exception.queue";
488495

489-
string queueWithExceptionConsumer = "recovery.exception.queue";
496+
var connectionRecoveryTcs = new TaskCompletionSource<bool>(TaskCreationOptions.RunContinuationsAsynchronously);
490497

491498
var exceptionHandler = new TopologyRecoveryExceptionHandler
492499
{

0 commit comments

Comments
 (0)