7
7
use Http \Promise \FulfilledPromise ;
8
8
use Http \Promise \RejectedPromise ;
9
9
use Http \Message \Formatter ;
10
+ use Prophecy \Argument ;
10
11
use Psr \Http \Message \RequestInterface ;
11
12
use Psr \Http \Message \ResponseInterface ;
12
13
use Psr \Http \Message \UriInterface ;
@@ -34,14 +35,23 @@ function it_logs_request_and_response(
34
35
LoggerInterface $ logger ,
35
36
Formatter $ formatter ,
36
37
RequestInterface $ request ,
37
- ResponseInterface $ response ,
38
- $ milliseconds
38
+ ResponseInterface $ response
39
39
) {
40
40
$ formatter ->formatRequest ($ request )->willReturn ('GET / 1.1 ' );
41
41
$ formatter ->formatResponse ($ response )->willReturn ('200 OK 1.1 ' );
42
42
43
43
$ 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 ();
45
55
46
56
$ next = function () use ($ response ) {
47
57
return new FulfilledPromise ($ response ->getWrappedObject ());
@@ -50,14 +60,24 @@ function it_logs_request_and_response(
50
60
$ this ->handleRequest ($ request , $ next , function () {});
51
61
}
52
62
53
- function it_logs_exception (LoggerInterface $ logger , Formatter $ formatter , RequestInterface $ request, $ milliseconds )
63
+ function it_logs_exception (LoggerInterface $ logger , Formatter $ formatter , RequestInterface $ request )
54
64
{
55
65
$ formatter ->formatRequest ($ request )->willReturn ('GET / 1.1 ' );
56
66
57
67
$ exception = new NetworkException ('Cannot connect ' , $ request ->getWrappedObject ());
58
68
59
69
$ 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 ();
61
81
62
82
$ next = function () use ($ exception ) {
63
83
return new RejectedPromise ($ exception );
@@ -70,21 +90,26 @@ function it_logs_response_within_exception(
70
90
LoggerInterface $ logger ,
71
91
Formatter $ formatter ,
72
92
RequestInterface $ request ,
73
- ResponseInterface $ response ,
74
- $ milliseconds
93
+ ResponseInterface $ response
75
94
) {
76
95
$ formatter ->formatRequest ($ request )->willReturn ('GET / 1.1 ' );
77
96
$ formatter ->formatResponse ($ response )->willReturn ('403 Forbidden 1.1 ' );
78
97
79
98
$ exception = new HttpException ('Forbidden ' , $ request ->getWrappedObject (), $ response ->getWrappedObject ());
80
99
81
100
$ 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 ();
88
113
89
114
$ next = function () use ($ exception ) {
90
115
return new RejectedPromise ($ exception );
0 commit comments