@@ -142,6 +142,7 @@ public function testStart($isTrustedServer, $retainBackgroundJob) {
142142 'url ' => 'url ' ,
143143 'token ' => 'token ' ,
144144 'created ' => 42 ,
145+ 'attempt ' => 1 ,
145146 ]
146147 );
147148 } else {
@@ -164,12 +165,12 @@ public function dataTestStart() {
164165 *
165166 * @param int $statusCode
166167 */
167- public function testRun ($ statusCode) {
168+ public function testRun (int $ statusCode, int $ attempt = 0 ): void {
168169 $ target = 'targetURL ' ;
169170 $ source = 'sourceURL ' ;
170171 $ token = 'token ' ;
171172
172- $ argument = ['url ' => $ target , 'token ' => $ token ];
173+ $ argument = ['url ' => $ target , 'token ' => $ token, ' attempt ' => $ attempt ];
173174
174175 $ this ->timeFactory ->method ('getTime ' )->willReturn (42 );
175176
@@ -196,7 +197,7 @@ public function testRun($statusCode) {
196197 $ this ->invokePrivate ($ this ->requestSharedSecret , 'run ' , [$ argument ]);
197198 if (
198199 $ statusCode !== Http::STATUS_OK
199- && $ statusCode !== Http::STATUS_FORBIDDEN
200+ && ( $ statusCode !== Http::STATUS_FORBIDDEN || $ attempt < 5 )
200201 ) {
201202 $ this ->assertTrue ($ this ->invokePrivate ($ this ->requestSharedSecret , 'retainJob ' ));
202203 } else {
@@ -207,6 +208,7 @@ public function testRun($statusCode) {
207208 public function dataTestRun () {
208209 return [
209210 [Http::STATUS_OK ],
211+ [Http::STATUS_FORBIDDEN , 5 ],
210212 [Http::STATUS_FORBIDDEN ],
211213 [Http::STATUS_CONFLICT ],
212214 ];
0 commit comments