Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Aug 7, 2023. It is now read-only.

Commit 9f89e0b

Browse files
feat: update test cases.
1 parent 2872ccc commit 9f89e0b

File tree

5 files changed

+79
-78
lines changed

5 files changed

+79
-78
lines changed

‎src/AbstractExtractor.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,7 @@ public function __construct(
3737
}
3838

3939
if (self::IN_HEADER !== $in && self::IN_QUERY_PARAM !== $in) {
40-
throw new \LogicException(
41-
sprintf('Item must in: `%s` or `%s`, can not in: `%s`', self::IN_HEADER, self::IN_QUERY_PARAM, $in)
42-
);
40+
throw new \LogicException(sprintf('Item must in: `%s` or `%s`, can not in: `%s`', self::IN_HEADER, self::IN_QUERY_PARAM, $in));
4341
}
4442

4543
$this->issuer = $issuer;

‎tests/Base64HeaderExtractorTest.php

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,24 +14,24 @@
1414
use PHPUnit\Framework\TestCase;
1515
use Psr\Http\Message\ServerRequestInterface;
1616

17-
class Base64HeaderExtractorTest extends TestCase
17+
finalclass Base64HeaderExtractorTest extends TestCase
1818
{
19-
use RequestDataProviderTrait;
19+
use RequestCreatorTrait;
2020

2121
public function testInitWithBlankIssuer(): void
2222
{
2323
$this->expectException(\LogicException::class);
2424
$this->expectExceptionMessageMatches('~can not be blank!~');
2525

26-
new Base64HeaderExtractor('', 'authorization');
26+
new Base64HeaderExtractor('', 'x-istio-jwt-payload');
2727
}
2828

2929
/**
3030
* @dataProvider invalidRequests
3131
*/
3232
public function testExtractFromInvalidRequests(ServerRequestInterface $inHeader)
3333
{
34-
$extractor = new Base64HeaderExtractor('valid', 'authorization');
34+
$extractor = new Base64HeaderExtractor('valid', 'x-istio-jwt-payload');
3535
$payloadFromHeader = $extractor->extract($inHeader);
3636

3737
$this->assertNull($payloadFromHeader);
@@ -42,20 +42,37 @@ public function testExtractFromInvalidRequests(ServerRequestInterface $inHeader)
4242
*/
4343
public function testExtractFromValidRequests(ServerRequestInterface $inHeader)
4444
{
45-
$extractor = new Base64HeaderExtractor('valid', 'authorization');
45+
$extractor = new Base64HeaderExtractor('valid', 'x-istio-jwt-payload');
4646
$payloadFromHeader = $extractor->extract($inHeader);
4747

4848
$this->assertIsArray($payloadFromHeader);
4949
$this->assertSame('valid', $payloadFromHeader['iss']);
5050
}
5151

52-
protected function getValidToken(): string
52+
public function invalidRequests(): array
5353
{
54-
return base64_encode(json_encode(['iss' => 'valid']));
54+
return [
55+
[
56+
$this->createRequest(),
57+
],
58+
[
59+
$this->createRequest(headers: ['invalid_name' => '']),
60+
],
61+
[
62+
$this->createRequest(headers: ['x-istio-jwt-payload' => 'invalid header']),
63+
],
64+
[
65+
$this->createRequest(headers: ['x-istio-jwt-payload' => 'Bearer ' . base64_encode(json_encode(['iss' => 'invalid']))]),
66+
],
67+
];
5568
}
5669

57-
protected function getInvalidToken(): string
70+
public function validRequests(): array
5871
{
59-
return base64_encode(json_encode(['iss' => 'invalid']));
72+
return [
73+
[
74+
$this->createRequest(headers: ['x-istio-jwt-payload' => base64_encode(json_encode(['iss' => 'valid']))]),
75+
],
76+
];
6077
}
6178
}

‎tests/CompositeExtractorTest.php

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
use PHPUnit\Framework\TestCase;
1616
use Psr\Http\Message\ServerRequestInterface;
1717

18-
class CompositeExtractorTest extends TestCase
18+
finalclass CompositeExtractorTest extends TestCase
1919
{
2020
use RequestCreatorTrait;
2121

@@ -56,8 +56,8 @@ public function testExtractFromInvalidRequests(ServerRequestInterface $request):
5656
public function validRequests(): array
5757
{
5858
return [
59-
[$this->createRequest(headers: ['x-jwt-payload' => $this->getValidBase64Payload()])],
60-
[$this->createRequest(headers: ['authorization' => $this->getValidOriginToken()])],
59+
[$this->createRequest(headers: ['x-istio-jwt-payload' => $this->getValidBase64Payload()])],
60+
[$this->createRequest(headers: ['authorization' => 'Bearer ' . $this->getValidOriginToken()])],
6161
[$this->createRequest(queryParams: ['token' => $this->getValidOriginToken()])],
6262
];
6363
}
@@ -66,21 +66,23 @@ public function invalidRequests(): array
6666
{
6767
return [
6868
[$this->createRequest()],
69-
[$this->createRequest(headers: ['x-jwt-payload' => ''])],
69+
[$this->createRequest(headers: ['x-istio-jwt-payload' => ''])],
7070
[$this->createRequest(headers: ['authorization' => ''])],
7171
[$this->createRequest(queryParams: ['token' => ''])],
72-
[$this->createRequest(headers: ['x-jwt-payload' => $this->getValidOriginToken()])],
72+
[$this->createRequest(headers: ['x-istio-jwt-payload' => $this->getValidOriginToken()])],
7373
[$this->createRequest(headers: ['authorization' => $this->getValidBase64Payload()])],
74-
[$this->createRequest(headers: ['x-jwt-payload' => $this->getInvalidBase64Payload()])],
74+
[$this->createRequest(headers: ['x-istio-jwt-payload' => $this->getInvalidBase64Payload()])],
7575
[$this->createRequest(headers: ['authorization' => $this->getInvalidOriginToken()])],
7676
[$this->createRequest(queryParams: ['token' => $this->getInvalidOriginToken()])],
77+
[$this->createRequest(headers: ['authorization' => 'Bearer=' . $this->getValidOriginToken()])],
78+
[$this->createRequest(headers: ['authorization' => 'BearEr ' . $this->getValidOriginToken()])],
7779
];
7880
}
7981

8082
private function getExtractor(): ExtractorInterface
8183
{
8284
return ExtractorFactory::fromExtractors(
83-
ExtractorFactory::fromBase64Header('valid', 'x-jwt-payload'),
85+
ExtractorFactory::fromBase64Header('valid', 'x-istio-jwt-payload'),
8486
ExtractorFactory::fromOriginTokenHeader('valid', 'authorization'),
8587
ExtractorFactory::fromOriginTokenQueryParam('valid', 'token'),
8688
);

‎tests/OriginTokenExtractorTest.php

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
use PHPUnit\Framework\TestCase;
1616
use Psr\Http\Message\ServerRequestInterface;
1717

18-
class OriginTokenExtractorTest extends TestCase
18+
finalclass OriginTokenExtractorTest extends TestCase
1919
{
20-
use RequestDataProviderTrait;
20+
use RequestCreatorTrait;
2121

2222
public function testInitWithBlankIssuer(): void
2323
{
@@ -50,6 +50,36 @@ public function testExtractFromInvalidRequests(
5050
$this->assertNull($payloadFromQueryParam);
5151
}
5252

53+
public function invalidRequests(): array
54+
{
55+
return [
56+
[
57+
$this->createRequest(),
58+
$this->createRequest(),
59+
],
60+
[
61+
$this->createRequest(headers: ['invalid_name' => '']),
62+
$this->createRequest(queryParams: ['invalid_name' => '']),
63+
],
64+
[
65+
$this->createRequest(headers: ['authorization' => '']),
66+
$this->createRequest(queryParams: ['token' => '']),
67+
],
68+
[
69+
$this->createRequest(headers: ['authorization' => 'Bearer invalid header']),
70+
$this->createRequest(queryParams: ['token' => 'invalid query params']),
71+
],
72+
[
73+
$this->createRequest(headers: ['authorization' => 'Bearer=' . $this->getValidToken()]),
74+
$this->createRequest(queryParams: ['token' => 'Bearer..' . $this->getInvalidToken()]),
75+
],
76+
[
77+
$this->createRequest(headers: ['authorization' => 'Bearer ' . $this->getInvalidToken()]),
78+
$this->createRequest(queryParams: ['token' => $this->getInvalidToken()]),
79+
],
80+
];
81+
}
82+
5383
/**
5484
* @dataProvider validRequests
5585
*/
@@ -63,9 +93,19 @@ public function testExtractFromValidRequests(ServerRequestInterface $inHeader, S
6393
$this->assertSame('valid', $payloadFromQueryParam['iss']);
6494
}
6595

96+
public function validRequests(): array
97+
{
98+
return [
99+
[
100+
$this->createRequest(headers: ['authorization' => 'Bearer ' . $this->getValidToken()]),
101+
$this->createRequest(queryParams: ['token' => $this->getValidToken()]),
102+
],
103+
];
104+
}
105+
66106
private function extractRequests(ServerRequestInterface $inHeader, ServerRequestInterface $inQueryParam): array
67107
{
68-
$headerExtractor = new OriginTokenExtractor('valid', AbstractExtractor::IN_HEADER, 'authorization');
108+
$headerExtractor = new OriginTokenExtractor('valid', AbstractExtractor::IN_HEADER, 'authorization', 'Bearer ');
69109
$queryParamExtractor = new OriginTokenExtractor('valid', AbstractExtractor::IN_QUERY_PARAM, 'token');
70110

71111
return [$headerExtractor->extract($inHeader), $queryParamExtractor->extract($inQueryParam)];

‎tests/RequestDataProviderTrait.php

Lines changed: 0 additions & 56 deletions
This file was deleted.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /