13
13
use Istio \JWTPayloadExtractor \ExtractorFactory ;
14
14
use Istio \JWTPayloadExtractor \ExtractorInterface ;
15
15
use PHPUnit \Framework \TestCase ;
16
- use Symfony \ Component \ HttpFoundation \ Request ;
16
+ use Psr \ Http \ Message \ ServerRequestInterface ;
17
17
18
18
class CompositeExtractorTest extends TestCase
19
19
{
20
+ use RequestCreatorTrait;
21
+
20
22
/**
21
23
* @dataProvider validRequests
22
24
*/
23
- public function testExtractFromValidRequestsWithEmptyExtractors (Request $ request ): void
25
+ public function testExtractFromValidRequestsWithEmptyExtractors (ServerRequestInterface $ request ): void
24
26
{
25
27
$ extractor = ExtractorFactory::fromExtractors ();
26
28
$ payload = $ extractor ->extract ($ request );
@@ -31,7 +33,7 @@ public function testExtractFromValidRequestsWithEmptyExtractors(Request $request
31
33
/**
32
34
* @dataProvider validRequests
33
35
*/
34
- public function testExtractFromValidRequests (Request $ request ): void
36
+ public function testExtractFromValidRequests (ServerRequestInterface $ request ): void
35
37
{
36
38
$ extractor = $ this ->getExtractor ();
37
39
$ payload = $ extractor ->extract ($ request );
@@ -43,7 +45,7 @@ public function testExtractFromValidRequests(Request $request): void
43
45
/**
44
46
* @dataProvider invalidRequests
45
47
*/
46
- public function testExtractFromInvalidRequests (Request $ request ): void
48
+ public function testExtractFromInvalidRequests (ServerRequestInterface $ request ): void
47
49
{
48
50
$ extractor = $ this ->getExtractor ();
49
51
$ payload = $ extractor ->extract ($ request );
@@ -54,32 +56,32 @@ public function testExtractFromInvalidRequests(Request $request): void
54
56
public function validRequests (): array
55
57
{
56
58
return [
57
- [Request:: create ( '' , server : ['HTTP_X_JWT_PAYLOAD ' => $ this ->getValidBase64Payload ()])],
58
- [Request:: create ( '' , server : ['HTTP_AUTHORIZATION ' => $ this ->getValidOriginToken ()])],
59
- [Request:: create ( '' , parameters : ['token ' => $ this ->getValidOriginToken ()])],
59
+ [$ this -> createRequest (headers : ['x-jwt-payload ' => $ this ->getValidBase64Payload ()])],
60
+ [$ this -> createRequest (headers : ['authorization ' => $ this ->getValidOriginToken ()])],
61
+ [$ this -> createRequest (queryParams : ['token ' => $ this ->getValidOriginToken ()])],
60
62
];
61
63
}
62
64
63
65
public function invalidRequests (): array
64
66
{
65
67
return [
66
- [Request:: create ( '' )],
67
- [Request:: create ( '' , server : ['HTTP_X_JWT_PAYLOAD ' => '' ])],
68
- [Request:: create ( '' , server : ['HTTP_AUTHORIZATION ' => '' ])],
69
- [Request:: create ( '' , parameters : ['token ' => '' ])],
70
- [Request:: create ( '' , server : ['HTTP_X_JWT_PAYLOAD ' => $ this ->getValidOriginToken ()])],
71
- [Request:: create ( '' , server : ['HTTP_AUTHORIZATION ' => $ this ->getValidBase64Payload ()])],
72
- [Request:: create ( '' , server : ['HTTP_X_JWT_PAYLOAD ' => $ this ->getInvalidBase64Payload ()])],
73
- [Request:: create ( '' , server : ['HTTP_AUTHORIZATION ' => $ this ->getInvalidOriginToken ()])],
74
- [Request:: create ( '' , parameters : ['token ' => $ this ->getInvalidOriginToken ()])],
68
+ [$ this -> createRequest ( )],
69
+ [$ this -> createRequest (headers : ['x-jwt-payload ' => '' ])],
70
+ [$ this -> createRequest (headers : ['authorization ' => '' ])],
71
+ [$ this -> createRequest (queryParams : ['token ' => '' ])],
72
+ [$ this -> createRequest (headers : ['x-jwt-payload ' => $ this ->getValidOriginToken ()])],
73
+ [$ this -> createRequest (headers : ['authorization ' => $ this ->getValidBase64Payload ()])],
74
+ [$ this -> createRequest (headers : ['x-jwt-payload ' => $ this ->getInvalidBase64Payload ()])],
75
+ [$ this -> createRequest (headers : ['authorization ' => $ this ->getInvalidOriginToken ()])],
76
+ [$ this -> createRequest (queryParams : ['token ' => $ this ->getInvalidOriginToken ()])],
75
77
];
76
78
}
77
79
78
80
private function getExtractor (): ExtractorInterface
79
81
{
80
82
return ExtractorFactory::fromExtractors (
81
- ExtractorFactory::fromBase64Header ('valid ' , 'X-JWT-Payload ' ),
82
- ExtractorFactory::fromOriginTokenHeader ('valid ' , 'Authorization ' ),
83
+ ExtractorFactory::fromBase64Header ('valid ' , 'x-jwt-payload ' ),
84
+ ExtractorFactory::fromOriginTokenHeader ('valid ' , 'authorization ' ),
83
85
ExtractorFactory::fromOriginTokenQueryParam ('valid ' , 'token ' ),
84
86
);
85
87
}
0 commit comments