Skip to content

Commit f7bc017

Browse files
refactoring the test
fix
1 parent 29d5535 commit f7bc017

File tree

1 file changed

+20
-36
lines changed

1 file changed

+20
-36
lines changed

src/ServiceControl.AcceptanceTests/Recoverability/ExternalIntegration/When_a_failed_edit_is_resolved_by_retry.cs

Lines changed: 20 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,8 @@ public async Task Should_publish_notification()
4040
return false;
4141
}
4242

43-
if (!ctx.OriginalMessageHasBeenHandled)
44-
{
45-
return false;
46-
}
47-
4843
// second message - edit & retry
49-
if (!ctx.EditedMessageHasBeenSent)
44+
if (ctx.MessageSentCount == 0 && ctx.MessageHandledCount == 1)
5045
{
5146
var failedMessagedId = await this.GetOnlyFailedUnresolvedMessageId();
5247
if (failedMessagedId == null)
@@ -55,12 +50,10 @@ public async Task Should_publish_notification()
5550
}
5651

5752
ctx.OriginalMessageFailureId = failedMessagedId;
58-
ctx.EditedMessageHasBeenSent = true;
53+
ctx.MessageSentCount = 1;
5954

6055
string editedMessage = JsonSerializer.Serialize(new EditResolutionMessage
61-
{
62-
ThisIsAnEditedMessage = true
63-
});
56+
{ });
6457

6558
SingleResult<FailedMessage> failedMessage =
6659
await this.TryGet<FailedMessage>($"/api/errors/{ctx.OriginalMessageFailureId}");
@@ -74,13 +67,8 @@ public async Task Should_publish_notification()
7467
return false;
7568
}
7669

77-
if (!ctx.EditedAndRetriedMessageHandled)
78-
{
79-
return false;
80-
}
81-
8270
// third message - retry
83-
if (!ctx.RetriedMessageHasBeenSent)
71+
if (ctx.MessageSentCount == 1 && ctx.MessageHandledCount == 2)
8472
{
8573
var failedMessageIdAfterId = await this.GetOnlyFailedUnresolvedMessageId();
8674
if (failedMessageIdAfterId == null)
@@ -89,22 +77,21 @@ public async Task Should_publish_notification()
8977
}
9078

9179
ctx.EditedMessageFailureId = failedMessageIdAfterId;
92-
ctx.RetriedMessageHasBeenSent = true;
93-
ctx.NeedToHandleRetriedMessage = true;
80+
ctx.MessageSentCount = 2;
9481

9582
await this.Post<object>($"/api/errors/{ctx.EditedMessageFailureId}/retry");
9683
return false;
9784
}
9885

99-
if (!ctx.RetriedMessageHandled)
86+
if (ctx.MessageHandledCount != 3)
10087
{
10188
return false;
10289
}
10390

104-
if (ctx.EditedMessageEditOf == null)
105-
{
106-
return false;
107-
}
91+
// if (ctx.EditedMessageEditOf == null)
92+
// {
93+
// return false;
94+
// }
10895

10996
if (!ctx.MessageResolved)
11097
{
@@ -124,19 +111,17 @@ public async Task Should_publish_notification()
124111

125112
public class EditMessageResolutionContext : ScenarioContext
126113
{
127-
public bool OriginalMessageHasBeenHandled { get; set; }
128114
public string OriginalMessageFailureId { get; set; }
115+
public int MessageSentCount { get; set; }
116+
public int MessageHandledCount { get; set; }
129117

130118
public string ResolvedMessageId { get; set; }
131-
public bool MessageResolved { get; set; }
132-
public bool EditedAndRetriedMessageHandled { get; set; }
133-
public bool RetriedMessageHandled { get; set; }
119+
134120
public string EditedMessageFailureId { get; set; }
135-
public bool EditedMessageHasBeenSent { get; set; }
136-
public bool RetriedMessageHasBeenSent { get; set; }
121+
137122
public string EditedMessageEditOf { get; set; }
138123
public bool ExternalProcessorSubscribed { get; set; }
139-
public bool NeedToHandleRetriedMessage { get; set; }
124+
public bool MessageResolved { get; set; }
140125
}
141126

142127
public class MessageReceiver : EndpointConfigurationBuilder
@@ -150,22 +135,22 @@ public class EditMessageResolutionHandler(EditMessageResolutionContext testConte
150135
public Task Handle(EditResolutionMessage message, IMessageHandlerContext context)
151136
{
152137
// First run - supposed to fail
153-
if (!message.ThisIsAnEditedMessage)
138+
if (testContext.MessageSentCount == 0)
154139
{
155-
testContext.OriginalMessageHasBeenHandled = true;
140+
testContext.MessageHandledCount = 1;
156141
throw new SimulatedException();
157142
}
158143

159144
// Second run - edit retry - supposed to fail
160-
if (!testContext.NeedToHandleRetriedMessage)
145+
if (testContext.MessageSentCount == 1)
161146
{
162147
testContext.EditedMessageEditOf = context.MessageHeaders["ServiceControl.EditOf"];
163-
testContext.EditedAndRetriedMessageHandled = true;
148+
testContext.MessageHandledCount = 2;
164149
throw new SimulatedException();
165150
}
166151

167152
// Last run - normal retry - supposed to succeed
168-
testContext.RetriedMessageHandled = true;
153+
testContext.MessageHandledCount = 3;
169154
return Task.CompletedTask;
170155
}
171156

@@ -180,7 +165,6 @@ public Task Handle(MessageFailureResolvedByRetry message, IMessageHandlerContext
180165

181166
public class EditResolutionMessage : IMessage
182167
{
183-
public bool ThisIsAnEditedMessage { get; init; }
184168
}
185169
}
186170
}

0 commit comments

Comments
 (0)