Skip to content

Commit 3df4bb7

Browse files
committed
Fix test
1 parent 9e05c9e commit 3df4bb7

File tree

1 file changed

+33
-2
lines changed

1 file changed

+33
-2
lines changed

src/NServiceBus.Persistence.DynamoDB.AcceptanceTests/When_subscribers_handles_the_same_event.cs

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ namespace NServiceBus.AcceptanceTests.Outbox;
66
using AcceptanceTesting.Customization;
77
using AcceptanceTests;
88
using EndpointTemplates;
9+
using Features;
910
using NUnit.Framework;
1011

1112
public class When_subscribers_handles_the_same_event : NServiceBusAcceptanceTest
@@ -19,8 +20,32 @@ public async Task Should_be_processed_by_all_subscribers()
1920
.WithEndpoint<Publisher>(b =>
2021
b.When(c => c.Subscriber1Subscribed && c.Subscriber2Subscribed, session => session.Publish(new MyEvent()))
2122
)
22-
.WithEndpoint<Subscriber1>()
23-
.WithEndpoint<Subscriber2>()
23+
.WithEndpoint<Subscriber1>(b => b.When(async (session, ctx) =>
24+
{
25+
await session.Subscribe<MyEvent>();
26+
if (ctx.HasNativePubSubSupport)
27+
{
28+
ctx.Subscriber1Subscribed = true;
29+
ctx.AddTrace("Subscriber1 is now subscribed (at least we have asked the broker to be subscribed)");
30+
}
31+
else
32+
{
33+
ctx.AddTrace("Subscriber1 has now asked to be subscribed to MyEvent");
34+
}
35+
}))
36+
.WithEndpoint<Subscriber2>(b => b.When(async (session, ctx) =>
37+
{
38+
await session.Subscribe<MyEvent>();
39+
if (ctx.HasNativePubSubSupport)
40+
{
41+
ctx.Subscriber2Subscribed = true;
42+
ctx.AddTrace("Subscriber2 is now subscribed (at least we have asked the broker to be subscribed)");
43+
}
44+
else
45+
{
46+
ctx.AddTrace("Subscriber2 has now asked to be subscribed to MyEvent");
47+
}
48+
}))
2449
.Done(c => c.Subscriber1GotTheEvent && c.Subscriber2GotTheEvent)
2550
.Run(TimeSpan.FromSeconds(10));
2651

@@ -50,12 +75,14 @@ public Publisher() => EndpointSetup<DefaultPublisher>(c =>
5075
if (s.SubscriberEndpoint.Contains(subscriber1))
5176
{
5277
context.Subscriber1Subscribed = true;
78+
context.AddTrace($"{subscriber1} is now subscribed");
5379
}
5480

5581
var subscriber2 = Conventions.EndpointNamingConvention(typeof(Subscriber2));
5682
if (s.SubscriberEndpoint.Contains(subscriber2))
5783
{
5884
context.Subscriber2Subscribed = true;
85+
context.AddTrace($"{subscriber2} is now subscribed");
5986
}
6087
});
6188
}, metadata => metadata.RegisterSelfAsPublisherFor<MyEvent>(this));
@@ -66,6 +93,8 @@ public class Subscriber1 : EndpointConfigurationBuilder
6693
public Subscriber1() =>
6794
EndpointSetup<DefaultServer>(c =>
6895
{
96+
c.DisableFeature<AutoSubscribe>();
97+
6998
c.ConfigureTransport().TransportTransactionMode = TransportTransactionMode.ReceiveOnly;
7099
c.EnableOutbox();
71100
}, metadata => metadata.RegisterPublisherFor<MyEvent>(typeof(Publisher)));
@@ -85,6 +114,8 @@ public class Subscriber2 : EndpointConfigurationBuilder
85114
public Subscriber2() =>
86115
EndpointSetup<DefaultServer>(c =>
87116
{
117+
c.DisableFeature<AutoSubscribe>();
118+
88119
c.ConfigureTransport().TransportTransactionMode = TransportTransactionMode.ReceiveOnly;
89120
c.EnableOutbox();
90121
}, metadata => metadata.RegisterPublisherFor<MyEvent>(typeof(Publisher)));

0 commit comments

Comments
 (0)