Skip to content

Commit 56c24b1

Browse files
Test editions
format fix
1 parent 62979e3 commit 56c24b1

File tree

3 files changed

+75
-37
lines changed

3 files changed

+75
-37
lines changed

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

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace ServiceControl.AcceptanceTests.Recoverability.ExternalIntegration
1212
using ServiceControl.MessageFailures.Api;
1313
using JsonSerializer = System.Text.Json.JsonSerializer;
1414

15-
class When_a_failed_edit_is_resolved_by_retry : ExternalIntegrationAcceptanceTest
15+
class When_a_failed_edit_is_resolved_by_retry : AcceptanceTest
1616
{
1717
[Test]
1818
public async Task Should_publish_notification()
@@ -26,6 +26,8 @@ public async Task Should_publish_notification()
2626
.WithEndpoint<MessageReceiver>(b => b.When(async (bus, c) =>
2727
{
2828
await bus.Subscribe<MessageFailureResolvedByRetry>();
29+
await bus.Subscribe<MessageFailed>();
30+
await bus.Subscribe<MessageEditedAndRetried>();
2931

3032
if (c.HasNativePubSubSupport)
3133
{
@@ -87,12 +89,7 @@ public async Task Should_publish_notification()
8789
return false;
8890
}
8991

90-
// if (ctx.EditedMessageEditOf == null)
91-
// {
92-
// return false;
93-
// }
94-
95-
if (!ctx.MessageResolved)
92+
if (!ctx.MessageResolved || !ctx.EditAndRetryHandled || !ctx.MessageFailedResolved)
9693
{
9794
return false;
9895
}
@@ -104,6 +101,9 @@ public async Task Should_publish_notification()
104101
{
105102
Assert.That(context.ResolvedMessageId, Is.EqualTo(context.OriginalMessageFailureId));
106103
Assert.That(context.EditedMessageEditOf, Is.EqualTo(context.OriginalMessageFailureId));
104+
Assert.That(context.FirstMessageFailedFailedMessageId, Is.EqualTo(context.OriginalMessageFailureId));
105+
Assert.That(context.RetryFailedMessageId, Is.EqualTo(context.OriginalMessageFailureId));
106+
Assert.That(context.SecondMessageFailedFailedMessageId, Is.EqualTo(context.EditedMessageFailureId));
107107
});
108108
}
109109

@@ -113,14 +113,16 @@ public class EditMessageResolutionContext : ScenarioContext
113113
public string OriginalMessageFailureId { get; set; }
114114
public int MessageSentCount { get; set; }
115115
public int MessageHandledCount { get; set; }
116-
117116
public string ResolvedMessageId { get; set; }
118-
119117
public string EditedMessageFailureId { get; set; }
120-
121118
public string EditedMessageEditOf { get; set; }
122119
public bool ExternalProcessorSubscribed { get; set; }
123120
public bool MessageResolved { get; set; }
121+
public string FirstMessageFailedFailedMessageId { get; set; }
122+
public string SecondMessageFailedFailedMessageId { get; set; }
123+
public bool MessageFailedResolved { get; set; }
124+
public string RetryFailedMessageId { get; set; }
125+
public bool EditAndRetryHandled { get; set; }
124126
}
125127

126128
public class MessageReceiver : EndpointConfigurationBuilder
@@ -129,7 +131,7 @@ public class MessageReceiver : EndpointConfigurationBuilder
129131

130132

131133
public class EditMessageResolutionHandler(EditMessageResolutionContext testContext)
132-
: IHandleMessages<EditResolutionMessage>, IHandleMessages<MessageFailureResolvedByRetry>
134+
: IHandleMessages<EditResolutionMessage>, IHandleMessages<MessageFailureResolvedByRetry>, IHandleMessages<MessageFailed>, IHandleMessages<MessageEditedAndRetried>
133135
{
134136
public Task Handle(EditResolutionMessage message, IMessageHandlerContext context)
135137
{
@@ -159,6 +161,27 @@ public Task Handle(MessageFailureResolvedByRetry message, IMessageHandlerContext
159161
testContext.MessageResolved = true;
160162
return Task.CompletedTask;
161163
}
164+
165+
public Task Handle(MessageFailed message, IMessageHandlerContext context)
166+
{
167+
if (testContext.FirstMessageFailedFailedMessageId == null)
168+
{
169+
testContext.FirstMessageFailedFailedMessageId = message.FailedMessageId;
170+
}
171+
else
172+
{
173+
testContext.SecondMessageFailedFailedMessageId = message.FailedMessageId;
174+
testContext.MessageFailedResolved = true;
175+
}
176+
return Task.CompletedTask;
177+
}
178+
179+
public Task Handle(MessageEditedAndRetried message, IMessageHandlerContext context)
180+
{
181+
testContext.RetryFailedMessageId = message.FailedMessageId;
182+
testContext.EditAndRetryHandled = true;
183+
return Task.CompletedTask;
184+
}
162185
}
163186
}
164187

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

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public async Task Should_publish_notification()
2525
var context = await Define<EditMessageResolutionContext>()
2626
.WithEndpoint<MessageReceiver>(b => b.When(async (bus, c) =>
2727
{
28-
await bus.Subscribe<MessageFailureResolvedByRetry>();
28+
await bus.Subscribe<MessageFailed>();
2929
await bus.Subscribe<MessageEditedAndRetried>();
3030

3131
if (c.HasNativePubSubSupport)
@@ -73,12 +73,12 @@ public async Task Should_publish_notification()
7373
return false;
7474
}
7575

76-
if (!ctx.EditedMessageHandled || ctx.EditedMessageEditOf == null)
76+
if (!ctx.EditedMessageHandled)
7777
{
7878
return false;
7979
}
8080

81-
if (!ctx.MessageResolved || !ctx.MessageEdited)
81+
if (!ctx.MessageFailedHandled || !ctx.MessageEdited)
8282
{
8383
return false;
8484
}
@@ -88,8 +88,9 @@ public async Task Should_publish_notification()
8888

8989
Assert.Multiple(() =>
9090
{
91-
Assert.That(context.ResolvedMessageId, Is.EqualTo(context.OriginalMessageFailureId));
91+
Assert.That(context.EditedMessageId, Is.EqualTo(context.OriginalMessageFailureId));
9292
Assert.That(context.EditedMessageEditOf, Is.EqualTo(context.OriginalMessageFailureId));
93+
Assert.That(context.FailedMessageId, Is.EqualTo(context.OriginalMessageFailureId));
9394
});
9495
}
9596

@@ -100,21 +101,21 @@ class EditMessageResolutionContext : ScenarioContext
100101
public bool EditedMessage { get; set; }
101102
public string OriginalMessageFailureId { get; set; }
102103
public bool EditedMessageHandled { get; set; }
103-
public string ResolvedMessageId { get; set; }
104-
public bool MessageResolved { get; set; }
104+
public string EditedMessageId { get; set; }
105105
public string EditedMessageEditOf { get; set; }
106106
public bool ExternalProcessorSubscribed { get; set; }
107-
public string EditId { get; set; }
108107
public bool MessageEdited { get; set; }
108+
public string FailedMessageId { get; set; }
109+
public bool MessageFailedHandled { get; set; }
109110
}
110111

111112
class MessageReceiver : EndpointConfigurationBuilder
112113
{
113114
public MessageReceiver() => EndpointSetup<DefaultServerWithoutAudit>(c => c.NoRetries());
114115

115116
class EditMessageResolutionHandler(EditMessageResolutionContext testContext) : IHandleMessages<EditResolutionMessage>,
116-
IHandleMessages<MessageFailureResolvedByRetry>,
117-
IHandleMessages<MessageEditedAndRetried>
117+
IHandleMessages<MessageEditedAndRetried>,
118+
IHandleMessages<MessageFailed>
118119
{
119120
public Task Handle(EditResolutionMessage message, IMessageHandlerContext context)
120121
{
@@ -129,18 +130,17 @@ public Task Handle(EditResolutionMessage message, IMessageHandlerContext context
129130
throw new SimulatedException();
130131
}
131132

132-
public Task Handle(MessageFailureResolvedByRetry message, IMessageHandlerContext context)
133+
public Task Handle(MessageEditedAndRetried message, IMessageHandlerContext context)
133134
{
134-
testContext.ResolvedMessageId = message.FailedMessageId;
135-
testContext.MessageResolved = true;
135+
testContext.EditedMessageId = message.FailedMessageId;
136+
testContext.MessageEdited = true;
136137
return Task.CompletedTask;
137138
}
138139

139-
public Task Handle(MessageEditedAndRetried message, IMessageHandlerContext context)
140+
public Task Handle(MessageFailed message, IMessageHandlerContext context)
140141
{
141-
testContext.ResolvedMessageId = message.FailedMessageId;
142-
testContext.EditId = message.EditId;
143-
testContext.MessageEdited = true;
142+
testContext.FailedMessageId = message.FailedMessageId;
143+
testContext.MessageFailedHandled = true;
144144
return Task.CompletedTask;
145145
}
146146
}

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

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
namespace ServiceControl.AcceptanceTests.Recoverability.ExternalIntegration
22
{
3-
using System.Collections.Generic;
43
using System.Linq;
54
using System.Threading.Tasks;
65
using AcceptanceTesting;
@@ -28,6 +27,7 @@ public async Task Should_publish_notification()
2827
{
2928
await bus.Subscribe<MessageFailureResolvedByRetry>();
3029
await bus.Subscribe<MessageFailed>();
30+
await bus.Subscribe<MessageEditedAndRetried>();
3131

3232
if (c.HasNativePubSubSupport)
3333
{
@@ -73,7 +73,7 @@ public async Task Should_publish_notification()
7373
return false;
7474
}
7575

76-
if (ctx.EditedMessageEditOf1 == null || !ctx.FirstEditHandled)
76+
if (!ctx.FirstEditHandled)
7777
{
7878
return false;
7979
}
@@ -104,12 +104,12 @@ public async Task Should_publish_notification()
104104
return false;
105105
}
106106

107-
if (!ctx.SecondEditHandled || ctx.EditedMessageEditOf2 == null)
107+
if (!ctx.SecondEditHandled)
108108
{
109109
return false;
110110
}
111111

112-
if (!ctx.MessageResolved)
112+
if (!ctx.MessageResolved || !ctx.EditAndRetryHandled)
113113
{
114114
return false;
115115
}
@@ -119,13 +119,12 @@ public async Task Should_publish_notification()
119119

120120
Assert.Multiple(() =>
121121
{
122-
Assert.That(context.FirstMessageFailedFailedMessageId, Is.EqualTo(context.SecondMessageFailedEditOf));
123-
Assert.That(context.EditedMessageEditOf1, Is.EqualTo(context.OriginalMessageFailureId));
124122
Assert.That(context.FirstMessageFailedFailedMessageId, Is.EqualTo(context.OriginalMessageFailureId));
123+
Assert.That(context.EditedMessageEditOf1, Is.EqualTo(context.OriginalMessageFailureId));
124+
Assert.That(context.SecondMessageFailedEditOf, Is.EqualTo(context.OriginalMessageFailureId));
125+
Assert.That(context.FirstRetryFailedMessageId, Is.EqualTo(context.OriginalMessageFailureId));
125126
Assert.That(context.EditedMessageEditOf2, Is.EqualTo(context.SecondMessageFailureId));
126-
//Assert.That(context.ResolvedMessageId, Is.EqualTo(context.SecondMessageFailureId));
127-
//Assert.That(context.EditedMessageEditOf1, Is.EqualTo(context.OriginalMessageFailureId));
128-
//Assert.That(context.EditedMessageEditOf2, Is.EqualTo(context.SecondMessageFailureId));
127+
Assert.That(context.SecondRetryFailedMessageId, Is.EqualTo(context.SecondMessageFailureId));
129128
});
130129
}
131130

@@ -145,6 +144,9 @@ public class EditMessageResolutionContext : ScenarioContext
145144
public bool ExternalProcessorSubscribed { get; set; }
146145
public string FirstMessageFailedFailedMessageId { get; set; }
147146
public string SecondMessageFailedEditOf { get; set; }
147+
public string FirstRetryFailedMessageId { get; set; }
148+
public string SecondRetryFailedMessageId { get; set; }
149+
public bool EditAndRetryHandled { get; set; }
148150
}
149151

150152
public class MessageReceiver : EndpointConfigurationBuilder
@@ -153,7 +155,7 @@ public class MessageReceiver : EndpointConfigurationBuilder
153155

154156

155157
public class EditMessageResolutionHandler(EditMessageResolutionContext testContext)
156-
: IHandleMessages<EditResolutionMessage>, IHandleMessages<MessageFailed>
158+
: IHandleMessages<EditResolutionMessage>, IHandleMessages<MessageFailed>, IHandleMessages<MessageEditedAndRetried>
157159
{
158160
public Task Handle(EditResolutionMessage message, IMessageHandlerContext context)
159161
{
@@ -189,6 +191,19 @@ public Task Handle(MessageFailed message, IMessageHandlerContext context)
189191
return Task.CompletedTask;
190192
}
191193

194+
public Task Handle(MessageEditedAndRetried message, IMessageHandlerContext context)
195+
{
196+
if (testContext.FirstRetryFailedMessageId == null)
197+
{
198+
testContext.FirstRetryFailedMessageId = message.FailedMessageId;
199+
}
200+
else
201+
{
202+
testContext.SecondRetryFailedMessageId = message.FailedMessageId;
203+
testContext.EditAndRetryHandled = true;
204+
}
205+
return Task.CompletedTask;
206+
}
192207
}
193208
}
194209

0 commit comments

Comments
 (0)