Skip to content

Commit d1c7b12

Browse files
refactoring the test
1 parent 29d5535 commit d1c7b12

File tree

1 file changed

+19
-32
lines changed

1 file changed

+19
-32
lines changed

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

Lines changed: 19 additions & 32 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,7 +50,7 @@ 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
6156
{
@@ -74,13 +69,8 @@ public async Task Should_publish_notification()
7469
return false;
7570
}
7671

77-
if (!ctx.EditedAndRetriedMessageHandled)
78-
{
79-
return false;
80-
}
81-
8272
// third message - retry
83-
if (!ctx.RetriedMessageHasBeenSent)
73+
if (ctx.MessageSentCount == 1 && ctx.MessageHandledCount == 2)
8474
{
8575
var failedMessageIdAfterId = await this.GetOnlyFailedUnresolvedMessageId();
8676
if (failedMessageIdAfterId == null)
@@ -89,22 +79,21 @@ public async Task Should_publish_notification()
8979
}
9080

9181
ctx.EditedMessageFailureId = failedMessageIdAfterId;
92-
ctx.RetriedMessageHasBeenSent = true;
93-
ctx.NeedToHandleRetriedMessage = true;
82+
ctx.MessageSentCount = 2;
9483

9584
await this.Post<object>($"/api/errors/{ctx.EditedMessageFailureId}/retry");
9685
return false;
9786
}
9887

99-
if (!ctx.RetriedMessageHandled)
88+
if (ctx.MessageHandledCount != 3)
10089
{
10190
return false;
10291
}
10392

104-
if (ctx.EditedMessageEditOf == null)
105-
{
106-
return false;
107-
}
93+
// if (ctx.EditedMessageEditOf == null)
94+
// {
95+
// return false;
96+
// }
10897

10998
if (!ctx.MessageResolved)
11099
{
@@ -124,19 +113,17 @@ public async Task Should_publish_notification()
124113

125114
public class EditMessageResolutionContext : ScenarioContext
126115
{
127-
public bool OriginalMessageHasBeenHandled { get; set; }
128116
public string OriginalMessageFailureId { get; set; }
117+
public int MessageSentCount { get; set; }
118+
public int MessageHandledCount { get; set; }
129119

130120
public string ResolvedMessageId { get; set; }
131-
public bool MessageResolved { get; set; }
132-
public bool EditedAndRetriedMessageHandled { get; set; }
133-
public bool RetriedMessageHandled { get; set; }
121+
134122
public string EditedMessageFailureId { get; set; }
135-
public bool EditedMessageHasBeenSent { get; set; }
136-
public bool RetriedMessageHasBeenSent { get; set; }
123+
137124
public string EditedMessageEditOf { get; set; }
138125
public bool ExternalProcessorSubscribed { get; set; }
139-
public bool NeedToHandleRetriedMessage { get; set; }
126+
public bool MessageResolved { get; set; }
140127
}
141128

142129
public class MessageReceiver : EndpointConfigurationBuilder
@@ -150,22 +137,22 @@ public class EditMessageResolutionHandler(EditMessageResolutionContext testConte
150137
public Task Handle(EditResolutionMessage message, IMessageHandlerContext context)
151138
{
152139
// First run - supposed to fail
153-
if (!message.ThisIsAnEditedMessage)
140+
if (testContext.MessageSentCount == 0)
154141
{
155-
testContext.OriginalMessageHasBeenHandled = true;
142+
testContext.MessageHandledCount = 1;
156143
throw new SimulatedException();
157144
}
158145

159146
// Second run - edit retry - supposed to fail
160-
if (!testContext.NeedToHandleRetriedMessage)
147+
if (testContext.MessageSentCount == 1)
161148
{
162149
testContext.EditedMessageEditOf = context.MessageHeaders["ServiceControl.EditOf"];
163-
testContext.EditedAndRetriedMessageHandled = true;
150+
testContext.MessageHandledCount = 2;
164151
throw new SimulatedException();
165152
}
166153

167154
// Last run - normal retry - supposed to succeed
168-
testContext.RetriedMessageHandled = true;
155+
testContext.MessageHandledCount = 3;
169156
return Task.CompletedTask;
170157
}
171158

0 commit comments

Comments
 (0)