Skip to content

Commit aeb1dc9

Browse files
committed
Ensure we wait for all messages to be consumed
1 parent b200208 commit aeb1dc9

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

projects/Unit/TestBasicPublish.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,12 @@ public void TestBasicRoundtripArray()
3030
};
3131
string tag = m.BasicConsume(q.QueueName, true, consumer);
3232

33-
3433
m.BasicPublish("", q.QueueName, bp, sendBody);
3534
bool waitResFalse = are.WaitOne(2000);
3635
m.BasicCancel(tag);
3736

38-
3937
Assert.IsTrue(waitResFalse);
40-
Assert.AreEqual(sendBody, consumeBody);
38+
CollectionAssert.AreEqual(sendBody, consumeBody);
4139
}
4240
}
4341

@@ -62,14 +60,12 @@ public void TestBasicRoundtripReadOnlyMemory()
6260
};
6361
string tag = m.BasicConsume(q.QueueName, true, consumer);
6462

65-
6663
m.BasicPublish("", q.QueueName, bp, new ReadOnlyMemory<byte>(sendBody));
6764
bool waitResFalse = are.WaitOne(2000);
6865
m.BasicCancel(tag);
6966

70-
7167
Assert.IsTrue(waitResFalse);
72-
Assert.AreEqual(sendBody, consumeBody);
68+
CollectionAssert.AreEqual(sendBody, consumeBody);
7369
}
7470
}
7571
}

projects/Unit/TestFloodPublishing.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ public void TestMultithreadFloodPublishing()
103103
byte[] sendBody = Encoding.UTF8.GetBytes(message);
104104
int publishCount = 4096;
105105
int receivedCount = 0;
106+
AutoResetEvent autoResetEvent = new AutoResetEvent(false);
106107

107108
var cf = new ConnectionFactory()
108109
{
@@ -139,11 +140,17 @@ public void TestMultithreadFloodPublishing()
139140
string receivedMessage = Encoding.UTF8.GetString(a.Body.ToArray());
140141
Assert.AreEqual(message, receivedMessage);
141142
Interlocked.Increment(ref receivedCount);
143+
if (receivedCount == publishCount)
144+
{
145+
autoResetEvent.Set();
146+
}
142147
};
143148
consumerModel.BasicConsume(queueName, true, consumer);
144149
Assert.IsTrue(pub.Wait(_tenSeconds));
145-
Assert.AreEqual(publishCount, receivedCount);
150+
Assert.IsTrue(autoResetEvent.WaitOne(_tenSeconds));
146151
}
152+
153+
Assert.AreEqual(publishCount, receivedCount);
147154
}
148155
}
149156
}

projects/Unit/TestRecoverAfterCancel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public void TestRecoverAfterCancel_()
9696
Channel.BasicConsume(Queue, false, Consumer2);
9797
BasicDeliverEventArgs Event2 = EventQueue2.Dequeue();
9898

99-
Assert.AreEqual(Event.Body, Event2.Body);
99+
CollectionAssert.AreEqual(Event.Body.ToArray(), Event2.Body.ToArray());
100100
Assert.IsFalse(Event.Redelivered);
101101
Assert.IsTrue(Event2.Redelivered);
102102
}

0 commit comments

Comments
 (0)