-
Notifications
You must be signed in to change notification settings - Fork 48
/
Copy pathWorksWithQuorumQueue.cs
47 lines (36 loc) · 1.25 KB
/
WorksWithQuorumQueue.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using System;
using System.Threading;
using System.Threading.Tasks;
using NUnit.Framework;
using Rebus.Activation;
using Rebus.Config;
using Rebus.Tests.Contracts;
using Rebus.Tests.Contracts.Extensions;
// ReSharper disable ArgumentsStyleOther
// ReSharper disable ArgumentsStyleLiteral
#pragma warning disable 1998
namespace Rebus.RabbitMq.Tests;
[TestFixture]
public class WorksWithQuorumQueue : FixtureBase
{
[Test]
public async Task CanDoAllThisWithQuorumQueue()
{
var connectionString = RabbitMqTransportFactory.ConnectionString;
var queueName = TestConfig.GetName("quorum-test");
Using(new QueueDeleter(queueName));
var activator = Using(new BuiltinHandlerActivator());
var gotTheString = new ManualResetEvent(initialState: false);
activator.Handle<string>(async str => gotTheString.Set());
Configure.With(activator)
.Transport(t =>
{
t.UseRabbitMq(connectionString, queueName)
.InputQueueOptions(q => q.AddArgument("x-queue-type", "quorum"));
})
.Start();
var bus = activator.Bus;
await bus.SendLocal("HEJ HEJ 😘");
gotTheString.WaitOrDie(timeout: TimeSpan.FromSeconds(2));
}
}