4
4
5
5
namespace Sentry \SentryBundle \Tests \Integration ;
6
6
7
- use GuzzleHttp \Psr7 \ServerRequest ;
8
7
use PHPUnit \Framework \MockObject \MockObject ;
9
8
use PHPUnit \Framework \TestCase ;
10
9
use Psr \Http \Message \ServerRequestInterface ;
@@ -37,24 +36,36 @@ protected function setUp(): void
37
36
$ this ->requestFetcher = new RequestFetcher ($ this ->requestStack , $ this ->httpMessageFactory );
38
37
}
39
38
40
- /**
41
- * @dataProvider fetchRequestDataProvider
42
- */
43
- public function testFetchRequest (?Request $ request , ?ServerRequestInterface $ expectedRequest ): void
39
+ public function testFetchRequest (): void
44
40
{
41
+ $ request = Request::create ('https://www.example.com ' );
42
+ $ expectedRequest = $ this ->createMock (ServerRequestInterface::class);
43
+
45
44
$ this ->requestStack ->expects ($ this ->once ())
46
45
->method ('getCurrentRequest ' )
47
46
->willReturn ($ request );
48
47
49
- $ this ->httpMessageFactory ->expects (null !== $ expectedRequest ? $ this ->once () : $ this -> never ())
48
+ $ this ->httpMessageFactory ->expects ($ this ->once ())
50
49
->method ('createRequest ' )
51
50
->with ($ request )
52
51
->willReturn ($ expectedRequest );
53
52
54
53
$ this ->assertSame ($ expectedRequest , $ this ->requestFetcher ->fetchRequest ());
55
54
}
56
55
57
- public function testFetchRequestFailsSilently (): void
56
+ public function testFetchRequestReturnsNullIfTheRequestStackIsEmpty (): void
57
+ {
58
+ $ this ->requestStack ->expects ($ this ->once ())
59
+ ->method ('getCurrentRequest ' )
60
+ ->willReturn (null );
61
+
62
+ $ this ->httpMessageFactory ->expects ($ this ->never ())
63
+ ->method ('createRequest ' );
64
+
65
+ $ this ->assertNull ($ this ->requestFetcher ->fetchRequest ());
66
+ }
67
+
68
+ public function testFetchRequestReturnsNullIfTheRequestFactoryThrowsAnException (): void
58
69
{
59
70
$ this ->requestStack ->expects ($ this ->once ())
60
71
->method ('getCurrentRequest ' )
@@ -66,20 +77,4 @@ public function testFetchRequestFailsSilently(): void
66
77
67
78
$ this ->assertNull ($ this ->requestFetcher ->fetchRequest ());
68
79
}
69
-
70
- /**
71
- * @return \Generator<array{Request|null,ServerRequest|null}>
72
- */
73
- public function fetchRequestDataProvider (): \Generator
74
- {
75
- yield [
76
- null ,
77
- null ,
78
- ];
79
-
80
- yield [
81
- Request::create ('http://www.example.com ' ),
82
- new ServerRequest ('GET ' , 'http://www.example.com ' ),
83
- ];
84
- }
85
80
}
0 commit comments