@@ -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