2020import static org .assertj .core .api .Assertions .assertThatThrownBy ;
2121
2222import com .fasterxml .jackson .databind .JsonNode ;
23- import io .serverlessworkflow .api . types . TryTask ;
23+ import io .serverlessworkflow .impl . TaskContextData ;
2424import io .serverlessworkflow .impl .WorkflowApplication ;
2525import io .serverlessworkflow .impl .WorkflowException ;
2626import io .serverlessworkflow .impl .WorkflowModel ;
@@ -65,17 +65,17 @@ void tearDown() throws IOException {
6565 private class RetryListener implements WorkflowExecutionListener {
6666
6767 private Map <String , Short > taskRetried = new ConcurrentHashMap <>();
68- private Map <String , Short > tryTaskCompleted = new ConcurrentHashMap <>();
68+ private Map <String , Short > taskCompleted = new ConcurrentHashMap <>();
6969
70+ @ Override
7071 public void onTaskRetried (TaskRetriedEvent ev ) {
7172 taskRetried .put (ev .taskContext ().position ().jsonPointer (), ev .taskContext ().retryAttempt ());
7273 }
7374
75+ @ Override
7476 public void onTaskCompleted (TaskCompletedEvent ev ) {
75- if (ev .taskContext ().task () instanceof TryTask ) {
76- tryTaskCompleted .put (
77- ev .taskContext ().position ().jsonPointer (), ev .taskContext ().retryAttempt ());
78- }
77+ TaskContextData taskContext = ev .taskContext ();
78+ taskCompleted .put (taskContext .position ().jsonPointer (), taskContext .retryAttempt ());
7979 }
8080 }
8181
@@ -103,7 +103,6 @@ void testRetry(String path) throws IOException {
103103 .until (() -> future .join ().as (JsonNode .class ).orElseThrow ().equals (result ));
104104 assertThat (retryListener .taskRetried ).hasSize (1 );
105105 assertThat (retryListener .taskRetried .get ("do/0/tryGetPet/try/0/getPet" )).isEqualTo ((short ) 2 );
106- assertThat (retryListener .tryTaskCompleted .values ()).containsOnly ((short ) 0 );
107106 }
108107
109108 @ Test
@@ -136,9 +135,9 @@ void testNestedRetry() throws IOException {
136135 retryListener .taskRetried .get (
137136 "do/0/tryServerError/try/0/tryCommunication/try/0/getPet" ))
138137 .isEqualTo ((short ) 5 );
139- assertThat (retryListener .tryTaskCompleted .get ("do/0/tryServerError/try/0/tryCommunication/try" ))
138+ assertThat (retryListener .taskCompleted .get ("do/0/tryServerError/try/0/tryCommunication/try" ))
140139 .isEqualTo ((short ) 2 );
141- assertThat (retryListener .tryTaskCompleted .get ("do/0/tryServerError/try" )).isEqualTo ((short ) 0 );
140+ assertThat (retryListener .taskCompleted .get ("do/0/tryServerError/try" )).isEqualTo ((short ) 0 );
142141 }
143142
144143 @ Test
@@ -158,7 +157,9 @@ void testRetryDo() throws IOException {
158157 .orElseThrow ()
159158 .equals (Map .of ("setAfterFailingTask" , "No problem" )));
160159
161- assertThat (retryListener .tryTaskCompleted .get ("do/0/attemptTask/try" )).isEqualTo ((short ) 0 );
160+ assertThat (retryListener .taskCompleted .get ("do/0/attemptTask/try" )).isEqualTo ((short ) 0 );
161+ assertThat (retryListener .taskCompleted )
162+ .containsKey ("do/0/attemptTask/catch/do/0/executeAfterFailingTask" );
162163 }
163164
164165 @ Test
0 commit comments