Skip to content

Commit df0da09

Browse files
Extracted checking failed message id
1 parent f84a845 commit df0da09

File tree

4 files changed

+43
-44
lines changed

4 files changed

+43
-44
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
using System.Collections.Generic;
2+
using System.Linq;
3+
using System.Threading.Tasks;
4+
using ServiceControl.AcceptanceTesting;
5+
using ServiceControl.AcceptanceTests;
6+
using ServiceControl.MessageFailures.Api;
7+
8+
public static class FailedMessageExtensions
9+
{
10+
internal static async Task<string> GetOnlyFailedUnresolvedMessageId(this AcceptanceTest test)
11+
{
12+
var allFailedMessages =
13+
await test.TryGet<IList<FailedMessageView>>($"/api/errors/?status=unresolved");
14+
if (!allFailedMessages.HasResult)
15+
{
16+
return null;
17+
}
18+
19+
if (allFailedMessages.Item.Count != 1)
20+
{
21+
return null;
22+
}
23+
24+
return allFailedMessages.Item.First().Id;
25+
}
26+
}

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

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -32,19 +32,13 @@ public async Task Should_publish_notification()
3232

3333
if (!ctx.EditedAndRetriedMessage)
3434
{
35-
var allFailedMessages =
36-
await this.TryGet<IList<FailedMessageView>>($"/api/errors/?status=unresolved");
37-
if (!allFailedMessages.HasResult)
35+
var failedMessagedId = await this.GetOnlyFailedUnresolvedMessageId();
36+
if (failedMessagedId == null)
3837
{
3938
return false;
4039
}
4140

42-
if (allFailedMessages.Item.Count != 1)
43-
{
44-
return false;
45-
}
46-
47-
ctx.OriginalMessageFailureId = allFailedMessages.Item.First().Id;
41+
ctx.OriginalMessageFailureId = failedMessagedId;
4842
ctx.EditedAndRetriedMessage = true;
4943

5044
string editedMessage = JsonSerializer.Serialize(new EditResolutionMessage
@@ -66,19 +60,13 @@ public async Task Should_publish_notification()
6660

6761
if (!ctx.RetriedMessage)
6862
{
69-
var allFailedMessagesAfterEdit =
70-
await this.TryGet<IList<FailedMessageView>>($"/api/errors/?status=unresolved");
71-
if (!allFailedMessagesAfterEdit.HasResult)
72-
{
73-
return false;
74-
}
75-
76-
if (allFailedMessagesAfterEdit.Item.Count != 1)
63+
var failedMessageIdAfterId = await this.GetOnlyFailedUnresolvedMessageId();
64+
if (failedMessageIdAfterId == null)
7765
{
7866
return false;
7967
}
8068

81-
ctx.EditedMessageFailureId = allFailedMessagesAfterEdit.Item.First().Id;
69+
ctx.EditedMessageFailureId = failedMessageIdAfterId;
8270
ctx.RetriedMessage = true;
8371

8472
await this.Post<object>($"/api/errors/{ctx.EditedMessageFailureId}/retry");

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

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,13 @@ public async Task Should_publish_notification()
3333

3434
if (!ctx.EditedMessage)
3535
{
36-
var allFailedMessages =
37-
await this.TryGet<IList<FailedMessageView>>($"/api/errors/?status=unresolved");
38-
if (!allFailedMessages.HasResult)
36+
var failedEditedMessage = await this.GetOnlyFailedUnresolvedMessageId();
37+
if (failedEditedMessage == null)
3938
{
4039
return false;
4140
}
4241

43-
if (allFailedMessages.Item.Count != 1)
44-
{
45-
return false;
46-
}
47-
48-
ctx.OriginalMessageFailureId = allFailedMessages.Item.First().Id;
42+
ctx.OriginalMessageFailureId = failedEditedMessage;
4943

5044
ctx.EditedMessage = true;
5145
string editedMessage = JsonSerializer.Serialize(new EditResolutionMessage

src/ServiceControl.AcceptanceTests/Recoverability/When_edited_message_fails_to_process.cs

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using AcceptanceTesting;
99
using AcceptanceTesting.EndpointTemplates;
1010
using AcceptanceTests;
11+
using ExternalIntegration;
1112
using NServiceBus;
1213
using NServiceBus.AcceptanceTesting;
1314
using NUnit.Framework;
@@ -32,18 +33,13 @@ public async Task A_new_message_failure_is_created()
3233

3334
if (!ctx.EditedMessage)
3435
{
35-
var allFailedMessages = await this.TryGet<IList<FailedMessageView>>($"/api/errors/?status=unresolved");
36-
if (!allFailedMessages.HasResult)
36+
var failedMessageId = await this.GetOnlyFailedUnresolvedMessageId();
37+
if (failedMessageId == null)
3738
{
3839
return false;
3940
}
4041

41-
if (allFailedMessages.Item.Count != 1)
42-
{
43-
return false;
44-
}
45-
46-
ctx.OriginalMessageFailureId = allFailedMessages.Item.First().Id;
42+
ctx.OriginalMessageFailureId = failedMessageId;
4743

4844
ctx.EditedMessage = true;
4945
var editedMessageInternalId = Guid.NewGuid().ToString();
@@ -71,23 +67,18 @@ public async Task A_new_message_failure_is_created()
7167
return false;
7268
}
7369

74-
var allFailedMessagesAfterEdit = await this.TryGet<IList<FailedMessageView>>($"/api/errors/?status=unresolved");
75-
if (!allFailedMessagesAfterEdit.HasResult)
76-
{
77-
return false;
78-
}
79-
80-
if (allFailedMessagesAfterEdit.Item.Count != 1)
70+
var failedMessageIdAfterEdit = await this.GetOnlyFailedUnresolvedMessageId();
71+
if (failedMessageIdAfterEdit == null)
8172
{
8273
return false;
8374
}
8475

85-
if (allFailedMessagesAfterEdit.Item.First().Id == ctx.OriginalMessageFailureId)
76+
if (failedMessageIdAfterEdit == ctx.OriginalMessageFailureId)
8677
{
8778
return false;
8879
}
8980

90-
ctx.EditedMessageFailureId = allFailedMessagesAfterEdit.Item.First().Id;
81+
ctx.EditedMessageFailureId = failedMessageIdAfterEdit;
9182

9283
ctx.OriginalMessageFailure = (await this.TryGet<FailedMessage>($"/api/errors/{ctx.OriginalMessageFailureId}")).Item;
9384
ctx.EditedMessageFailure = (await this.TryGet<FailedMessage>($"/api/errors/{ctx.EditedMessageFailureId}")).Item;

0 commit comments

Comments
 (0)