1313use Istio \JWTPayloadExtractor \ExtractorFactory ;
1414use Istio \JWTPayloadExtractor \ExtractorInterface ;
1515use PHPUnit \Framework \TestCase ;
16- use Symfony \ Component \ HttpFoundation \ Request ;
16+ use Psr \ Http \ Message \ ServerRequestInterface ;
1717
1818class CompositeExtractorTest extends TestCase
1919{
20+ use RequestCreatorTrait;
21+
2022 /**
2123 * @dataProvider validRequests
2224 */
23- public function testExtractFromValidRequestsWithEmptyExtractors (Request $ request ): void
25+ public function testExtractFromValidRequestsWithEmptyExtractors (ServerRequestInterface $ request ): void
2426 {
2527 $ extractor = ExtractorFactory::fromExtractors ();
2628 $ payload = $ extractor ->extract ($ request );
@@ -31,7 +33,7 @@ public function testExtractFromValidRequestsWithEmptyExtractors(Request $request
3133 /**
3234 * @dataProvider validRequests
3335 */
34- public function testExtractFromValidRequests (Request $ request ): void
36+ public function testExtractFromValidRequests (ServerRequestInterface $ request ): void
3537 {
3638 $ extractor = $ this ->getExtractor ();
3739 $ payload = $ extractor ->extract ($ request );
@@ -43,7 +45,7 @@ public function testExtractFromValidRequests(Request $request): void
4345 /**
4446 * @dataProvider invalidRequests
4547 */
46- public function testExtractFromInvalidRequests (Request $ request ): void
48+ public function testExtractFromInvalidRequests (ServerRequestInterface $ request ): void
4749 {
4850 $ extractor = $ this ->getExtractor ();
4951 $ payload = $ extractor ->extract ($ request );
@@ -54,32 +56,32 @@ public function testExtractFromInvalidRequests(Request $request): void
5456 public function validRequests (): array
5557 {
5658 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 ()])],
6062 ];
6163 }
6264
6365 public function invalidRequests (): array
6466 {
6567 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 ()])],
7577 ];
7678 }
7779
7880 private function getExtractor (): ExtractorInterface
7981 {
8082 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 ' ),
8385 ExtractorFactory::fromOriginTokenQueryParam ('valid ' , 'token ' ),
8486 );
8587 }
0 commit comments