6
6
7
7
use GuzzleHttp \Psr7 \Request ;
8
8
use GuzzleHttp \Psr7 \Utils ;
9
+ use PHPUnit \Framework \Attributes \CoversClass ;
10
+ use PHPUnit \Framework \Attributes \DataProvider ;
9
11
use PHPUnit \Framework \TestCase ;
10
12
use Psr \Http \Client \ClientInterface ;
11
13
use Psr \Http \Message \RequestFactoryInterface ;
14
16
use Psr \Http \Message \StreamInterface ;
15
17
use Redmine \Client \Psr18Client ;
16
18
19
+ #[CoversClass(Psr18Client::class)]
17
20
class Psr18ClientRequestGenerationTest extends TestCase
18
21
{
19
22
/**
20
- * @covers \Redmine\Client\Psr18Client
21
- * @test
22
- *
23
23
* @dataProvider createdGetRequestsData
24
24
*/
25
+ #[DataProvider('createdGetRequestsData ' )]
25
26
public function testPsr18ClientCreatesCorrectRequests (
26
27
string $ url ,
27
28
string $ apikeyOrUsername ,
@@ -34,42 +35,39 @@ public function testPsr18ClientCreatesCorrectRequests(
34
35
) {
35
36
$ response = $ this ->createMock (ResponseInterface::class);
36
37
38
+ /** @var ClientInterface|\PHPUnit\Framework\MockObject\MockObject */
37
39
$ httpClient = $ this ->createMock (ClientInterface::class);
38
- $ httpClient ->method ('sendRequest ' )->will (
39
- $ this ->returnCallback (function ($ request ) use ($ response , $ expectedOutput ) {
40
- // Create a text representation of the HTTP request
41
- $ content = $ request ->getBody ()->__toString ();
40
+ $ httpClient ->method ('sendRequest ' )->willReturnCallback (function ($ request ) use ($ response , $ expectedOutput ) {
41
+ // Create a text representation of the HTTP request
42
+ $ content = $ request ->getBody ()->__toString ();
42
43
43
- $ headers = '' ;
44
+ $ headers = '' ;
44
45
45
- foreach ($ request ->getHeaders () as $ k => $ v ) {
46
- $ headers .= $ k . ': ' . $ request ->getHeaderLine ($ k ) . \PHP_EOL ;
47
- }
46
+ foreach ($ request ->getHeaders () as $ k => $ v ) {
47
+ $ headers .= $ k . ': ' . $ request ->getHeaderLine ($ k ) . \PHP_EOL ;
48
+ }
48
49
49
- $ statusLine = sprintf (
50
- '%s %s HTTP/%s ' ,
51
- $ request ->getMethod (),
52
- $ request ->getUri ()->__toString (),
53
- $ request ->getProtocolVersion ()
54
- );
50
+ $ statusLine = sprintf (
51
+ '%s %s HTTP/%s ' ,
52
+ $ request ->getMethod (),
53
+ $ request ->getUri ()->__toString (),
54
+ $ request ->getProtocolVersion ()
55
+ );
55
56
56
- $ fullRequest = $ statusLine . \PHP_EOL .
57
- $ headers . \PHP_EOL .
58
- $ content
59
- ;
57
+ $ fullRequest = $ statusLine . \PHP_EOL .
58
+ $ headers . \PHP_EOL .
59
+ $ content
60
+ ;
60
61
61
- $ this ->assertSame ($ expectedOutput , $ fullRequest );
62
+ $ this ->assertSame ($ expectedOutput , $ fullRequest );
62
63
63
- return $ response ;
64
- })
65
- );
64
+ return $ response ;
65
+ });
66
66
67
67
$ requestFactory = $ this ->createMock (RequestFactoryInterface::class);
68
- $ requestFactory ->method ('createRequest ' )->will (
69
- $ this ->returnCallback (function ($ method , $ uri ) {
70
- return new Request ($ method , $ uri );
71
- })
72
- );
68
+ $ requestFactory ->method ('createRequest ' )->willReturnCallback (function ($ method , $ uri ) {
69
+ return new Request ($ method , $ uri );
70
+ });
73
71
74
72
$ streamFactory = new class () implements StreamFactoryInterface {
75
73
public function createStream (string $ content = '' ): StreamInterface
0 commit comments