@@ -86,7 +86,8 @@ public function it_throws_an_invalid_signature_exception_if_the_request_is_not_v
8686
8787 $ request = new Request ();
8888
89- $ this ->middleware ->handle ($ request , function () { });
89+ $ this ->middleware ->handle ($ request , function () {
90+ });
9091 }
9192
9293 /**
@@ -169,7 +170,8 @@ public function it_throws_an_expired_request_exception_if_the_timestamp_on_the_r
169170 $ request = new Request ($ query , $ request , $ attributes , $ cookies , $ files , $ server , 'a ' );
170171 $ request ->headers ->set ('signature ' , (string ) new Signature (new Payload ($ request ), 'sha256 ' , 'key ' ));
171172
172- $ this ->middleware ->handle ($ request , function () { });
173+ $ this ->middleware ->handle ($ request , function () {
174+ });
173175 }
174176
175177 /**
@@ -257,7 +259,8 @@ public function it_should_throw_an_expired_request_exception_if_the_request_id_h
257259 $ request = new Request ($ query , $ request , $ attributes , $ cookies , $ files , $ server , 'a ' );
258260 $ request ->headers ->set ('signature ' , (string ) new Signature (new Payload ($ request ), 'sha256 ' , 'key ' ));
259261
260- $ this ->middleware ->handle ($ request , function () { });
262+ $ this ->middleware ->handle ($ request , function () {
263+ });
261264 }
262265
263266 /**
@@ -303,6 +306,49 @@ public function it_should_throw_an_expired_request_exception_if_the_same_request
303306 $ this ->assertTrue (true );
304307 });
305308
306- $ this ->middleware ->handle ($ request , function () { });
309+ $ this ->middleware ->handle ($ request , function () {
310+ });
311+ }
312+
313+ /**
314+ * @test
315+ * @expectedException \SoapBox\SignedRequests\Exceptions\ExpiredRequestException
316+ */
317+ public function it_throws_an_expired_request_exception_if_the_timestamp_on_the_request_does_not_have_the_correct_format ()
318+ {
319+ $ id = (string ) Uuid::uuid4 ();
320+
321+ $ this ->configurations ->shouldReceive ('get ' )
322+ ->with ('signed-requests.headers.signature ' )
323+ ->andReturn ('signature ' );
324+
325+ $ this ->configurations ->shouldReceive ('get ' )
326+ ->with ('signed-requests.headers.algorithm ' )
327+ ->andReturn ('algorithm ' );
328+
329+ $ this ->configurations ->shouldReceive ('get ' )
330+ ->with ('signed-requests.key ' )
331+ ->andReturn ('key ' );
332+
333+ $ this ->configurations ->shouldReceive ('get ' )
334+ ->with ('signed-requests.request-replay.allow ' )
335+ ->andReturn (false );
336+
337+ $ query = [];
338+ $ request = [];
339+ $ attributes = [];
340+ $ cookies = [];
341+ $ files = [];
342+ $ server = [
343+ 'HTTP_X-SIGNED-ID ' => $ id ,
344+ 'HTTP_X-SIGNED-TIMESTAMP ' => Carbon::now ()->addSeconds (10 )->format ('Y-m-d ' ),
345+ 'HTTP_ALGORITHM ' => 'sha256 '
346+ ];
347+
348+ $ request = new Request ($ query , $ request , $ attributes , $ cookies , $ files , $ server , 'a ' );
349+ $ request ->headers ->set ('signature ' , (string ) new Signature (new Payload ($ request ), 'sha256 ' , 'key ' ));
350+
351+ $ this ->middleware ->handle ($ request , function () {
352+ });
307353 }
308354}
0 commit comments