Skip to content

Commit 319cf6e

Browse files
Adding more conditions to the test
1 parent 0b17fe4 commit 319cf6e

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

src/ServiceControl.AcceptanceTests/Recoverability/When_edited_message_fails_to_process.cs

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
namespace ServiceControl.AcceptanceTests.Recoverability
22
{
33
using System;
4+
using System.Collections.Generic;
45
using System.Linq;
56
using System.Text.Json;
67
using System.Threading.Tasks;
78
using AcceptanceTesting;
89
using AcceptanceTesting.EndpointTemplates;
910
using AcceptanceTests;
10-
using Contracts.MessageFailures;
1111
using NServiceBus;
1212
using NServiceBus.AcceptanceTesting;
1313
using NUnit.Framework;
@@ -37,6 +37,11 @@ public async Task A_new_message_failure_is_created()
3737
.DoNotFailOnErrorMessages())
3838
.Done(async ctx =>
3939
{
40+
if (!ctx.ExternalProcessorSubscribed)
41+
{
42+
return false;
43+
}
44+
4045
if (!ctx.OriginalMessageHandled)
4146
{
4247
return false;
@@ -109,6 +114,10 @@ public async Task A_new_message_failure_is_created()
109114
"FailedMessages/" + context.EditedMessageFailure.ProcessingAttempts.Last().Headers["ServiceControl.EditOf"],
110115
Is.EqualTo(context.OriginalMessageFailure.Id));
111116
Assert.That(editedMessageBody.MessageInternalId, Is.EqualTo(context.EditedMessageInternalId));
117+
Assert.That(context.MessageFailedIds, Has.Count.EqualTo(2));
118+
Assert.That(context.MessageFailedIds, Is.Unique);
119+
Assert.That(context.MessageFailedIds, Has.Some.EqualTo(context.OriginalMessageFailureId));
120+
Assert.That(context.MessageFailedIds, Has.Some.EqualTo(context.EditedMessageFailureId));
112121
});
113122
}
114123

@@ -119,14 +128,12 @@ class EditMessageFailureContext : ScenarioContext
119128
public bool EditedMessageHandled { get; set; }
120129
public FailedMessage OriginalMessageFailure { get; set; }
121130
public FailedMessage EditedMessageFailure { get; set; }
122-
123131
public string OriginalMessageFailureId { get; set; }
124132
public string EditedMessageFailureId { get; set; }
125133
public string EditedMessageInternalId { get; set; }
126134
public bool ExternalProcessorSubscribed { get; set; }
127-
public string FirstMessageFailedId { get; set; }
128-
public string SecondMessageFailedId { get; set; }
129135
public bool MessageFailedHandled { get; set; }
136+
public List<string> MessageFailedIds { get; } = [];
130137
}
131138

132139
class FailingEditedMessageReceiver : EndpointConfigurationBuilder
@@ -152,13 +159,9 @@ public Task Handle(FailingMessage message, IMessageHandlerContext context)
152159

153160
public Task Handle(ServiceControl.Contracts.MessageFailed message, IMessageHandlerContext context)
154161
{
155-
if (testContext.FirstMessageFailedId == null)
156-
{
157-
testContext.FirstMessageFailedId = message.FailedMessageId;
158-
}
159-
else
162+
testContext.MessageFailedIds.Add(message.FailedMessageId);
163+
if (testContext.MessageFailedIds.Count == 2)
160164
{
161-
testContext.SecondMessageFailedId = message.FailedMessageId;
162165
testContext.MessageFailedHandled = true;
163166
}
164167
return Task.CompletedTask;

0 commit comments

Comments
 (0)