11namespace ServiceControl . AcceptanceTests . Recoverability . ExternalIntegration
22{
3+ using System . Collections . Generic ;
34 using System . Linq ;
45 using System . Threading . Tasks ;
56 using AcceptanceTesting ;
@@ -26,6 +27,7 @@ public async Task Should_publish_notification()
2627 . WithEndpoint < MessageReceiver > ( b => b . When ( async ( bus , c ) =>
2728 {
2829 await bus . Subscribe < MessageFailureResolvedByRetry > ( ) ;
30+ await bus . Subscribe < MessageFailed > ( ) ;
2931
3032 if ( c . HasNativePubSubSupport )
3133 {
@@ -117,9 +119,10 @@ public async Task Should_publish_notification()
117119
118120 Assert . Multiple ( ( ) =>
119121 {
120- Assert . That ( context . ResolvedMessageId , Is . EqualTo ( context . SecondMessageFailureId ) ) ;
121- Assert . That ( context . EditedMessageEditOf1 , Is . EqualTo ( context . OriginalMessageFailureId ) ) ;
122- Assert . That ( context . EditedMessageEditOf2 , Is . EqualTo ( context . SecondMessageFailureId ) ) ;
122+ Assert . That ( context . FirstMessageFailedFailedMessageId , Is . EqualTo ( context . SecondMessageFailedEditOf ) ) ;
123+ //Assert.That(context.ResolvedMessageId, Is.EqualTo(context.SecondMessageFailureId));
124+ //Assert.That(context.EditedMessageEditOf1, Is.EqualTo(context.OriginalMessageFailureId));
125+ //Assert.That(context.EditedMessageEditOf2, Is.EqualTo(context.SecondMessageFailureId));
123126 } ) ;
124127 }
125128
@@ -138,6 +141,8 @@ public class EditMessageResolutionContext : ScenarioContext
138141 public string EditedMessageEditOf2 { get ; set ; }
139142 public string EditedMessageEditOf1 { get ; set ; }
140143 public bool ExternalProcessorSubscribed { get ; set ; }
144+ public string FirstMessageFailedFailedMessageId { get ; set ; }
145+ public string SecondMessageFailedEditOf { get ; set ; }
141146 }
142147
143148 public class MessageReceiver : EndpointConfigurationBuilder
@@ -174,6 +179,21 @@ public Task Handle(MessageFailureResolvedByRetry message, IMessageHandlerContext
174179 testContext . MessageResolved = true ;
175180 return Task . CompletedTask ;
176181 }
182+
183+ public Task Handle ( MessageFailed message , IMessageHandlerContext context )
184+ {
185+ if ( testContext . FirstMessageFailedFailedMessageId == null )
186+ {
187+ testContext . FirstMessageFailedFailedMessageId = message . FailedMessageId ;
188+ }
189+ else
190+ {
191+ testContext . SecondMessageFailedEditOf = message . MessageDetails . Headers [ "ServiceControl.EditOf" ] ;
192+ testContext . MessageResolved = true ;
193+ }
194+ return Task . CompletedTask ;
195+ }
196+
177197 }
178198 }
179199
0 commit comments