77use Http \Promise \FulfilledPromise ;
88use Http \Promise \RejectedPromise ;
99use Http \Message \Formatter ;
10+ use Prophecy \Argument ;
1011use Psr \Http \Message \RequestInterface ;
1112use Psr \Http \Message \ResponseInterface ;
1213use Psr \Http \Message \UriInterface ;
@@ -34,14 +35,23 @@ function it_logs_request_and_response(
3435 LoggerInterface $ logger ,
3536 Formatter $ formatter ,
3637 RequestInterface $ request ,
37- ResponseInterface $ response ,
38- $ milliseconds
38+ ResponseInterface $ response
3939 ) {
4040 $ formatter ->formatRequest ($ request )->willReturn ('GET / 1.1 ' );
4141 $ formatter ->formatResponse ($ response )->willReturn ('200 OK 1.1 ' );
4242
4343 $ logger ->info ("Sending request: \nGET / 1.1 " , ['request ' => $ request ])->shouldBeCalled ();
44- $ logger ->info ("Received response: \n200 OK 1.1 \n\nfor request: \nGET / 1.1 " , ['request ' => $ request , 'response ' => $ response , 'milliseconds ' => $ milliseconds ])->shouldBeCalled ();
44+ $ logger ->info (
45+ "Received response: \n200 OK 1.1 \n\nfor request: \nGET / 1.1 " ,
46+ Argument::that (
47+ function (array $ context ) use ($ request , $ response ) {
48+ return $ context ['request ' ] === $ request
49+ && $ context ['response ' ] === $ response
50+ && is_int ($ context ['milliseconds ' ])
51+ ;
52+ }
53+ )
54+ )->shouldBeCalled ();
4555
4656 $ next = function () use ($ response ) {
4757 return new FulfilledPromise ($ response ->getWrappedObject ());
@@ -50,14 +60,24 @@ function it_logs_request_and_response(
5060 $ this ->handleRequest ($ request , $ next , function () {});
5161 }
5262
53- function it_logs_exception (LoggerInterface $ logger , Formatter $ formatter , RequestInterface $ request, $ milliseconds )
63+ function it_logs_exception (LoggerInterface $ logger , Formatter $ formatter , RequestInterface $ request )
5464 {
5565 $ formatter ->formatRequest ($ request )->willReturn ('GET / 1.1 ' );
5666
5767 $ exception = new NetworkException ('Cannot connect ' , $ request ->getWrappedObject ());
5868
5969 $ logger ->info ("Sending request: \nGET / 1.1 " , ['request ' => $ request ])->shouldBeCalled ();
60- $ logger ->error ("Error: \nCannot connect \nwhen sending request: \nGET / 1.1 " , ['request ' => $ request , 'exception ' => $ exception , 'milliseconds ' => $ milliseconds ])->shouldBeCalled ();
70+ $ logger ->error (
71+ "Error: \nCannot connect \nwhen sending request: \nGET / 1.1 " ,
72+ Argument::that (
73+ function (array $ context ) use ($ request , $ exception ) {
74+ return $ context ['request ' ] === $ request
75+ && $ context ['exception ' ] === $ exception
76+ && is_int ($ context ['milliseconds ' ])
77+ ;
78+ }
79+ )
80+ )->shouldBeCalled ();
6181
6282 $ next = function () use ($ exception ) {
6383 return new RejectedPromise ($ exception );
@@ -70,21 +90,26 @@ function it_logs_response_within_exception(
7090 LoggerInterface $ logger ,
7191 Formatter $ formatter ,
7292 RequestInterface $ request ,
73- ResponseInterface $ response ,
74- $ milliseconds
93+ ResponseInterface $ response
7594 ) {
7695 $ formatter ->formatRequest ($ request )->willReturn ('GET / 1.1 ' );
7796 $ formatter ->formatResponse ($ response )->willReturn ('403 Forbidden 1.1 ' );
7897
7998 $ exception = new HttpException ('Forbidden ' , $ request ->getWrappedObject (), $ response ->getWrappedObject ());
8099
81100 $ logger ->info ("Sending request: \nGET / 1.1 " , ['request ' => $ request ])->shouldBeCalled ();
82- $ logger ->error ("Error: \nForbidden \nwith response: \n403 Forbidden 1.1 \n\nwhen sending request: \nGET / 1.1 " , [
83- 'request ' => $ request ,
84- 'response ' => $ response ,
85- 'exception ' => $ exception ,
86- 'milliseconds ' => $ milliseconds
87- ])->shouldBeCalled ();
101+ $ logger ->error (
102+ "Error: \nForbidden \nwith response: \n403 Forbidden 1.1 \n\nwhen sending request: \nGET / 1.1 " ,
103+ Argument::that (
104+ function (array $ context ) use ($ request , $ response , $ exception ) {
105+ return $ context ['request ' ] === $ request
106+ && $ context ['response ' ] === $ response
107+ && $ context ['exception ' ] === $ exception
108+ && is_int ($ context ['milliseconds ' ])
109+ ;
110+ }
111+ )
112+ )->shouldBeCalled ();
88113
89114 $ next = function () use ($ exception ) {
90115 return new RejectedPromise ($ exception );
0 commit comments