Skip to content

Commit be9289e

Browse files
committed
Refactored test methods
2 parents d637139 + 37d5c85 commit be9289e

File tree

1 file changed

+25
-50
lines changed

1 file changed

+25
-50
lines changed

tests/PersistentTokenContextTest.php

Lines changed: 25 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -20,68 +20,58 @@
2020

2121
class PersistentTokenContextTest extends TestCase
2222
{
23-
/**
24-
* @dataProvider safeMethods
25-
*
26-
* @param $method
27-
*/
28-
public function testMatchingSkippedForSafeMethodRequests($method)
23+
public static function unsafeMethods(): iterable
24+
{
25+
return [['POST'], ['PUT'], ['DELETE'], ['PATCH'], ['TRACE'], ['CONNECT']];
26+
}
27+
28+
public static function safeMethods(): iterable
29+
{
30+
return [['GET'], ['HEAD'], ['OPTIONS']];
31+
}
32+
33+
/** @dataProvider safeMethods */
34+
public function test_ForSafeMethodRequests_TokenIsIgnored(string $method)
2935
{
3036
$this->assertResponse($this->guard(), $this->request($method));
3137
$this->assertResponse($this->guard($this->token('foo', 'x')), $this->request($method));
3238
$this->assertResponse($this->guard($this->token('foo', 'x')), $this->request($method, ['bar' => 'y']));
3339
}
3440

35-
/**
36-
* @dataProvider unsafeMethods
37-
*
38-
* @param $method
39-
*/
40-
public function testMissingSessionToken_ThrowsException($method)
41+
/** @dataProvider unsafeMethods */
42+
public function test_MissingSessionToken_ThrowsException(string $method)
4143
{
4244
$guard = $this->guard();
4345
$request = $this->request($method);
4446
$this->expectException(Exception\TokenMismatchException::class);
4547
$guard->process($request, $this->handler());
4648
}
4749

48-
/**
49-
* @dataProvider unsafeMethods
50-
*
51-
* @param $method
52-
*/
53-
public function testMatchingRequestToken_ReturnsResponse($method)
50+
/** @dataProvider unsafeMethods */
51+
public function test_MatchingRequestToken_ReturnsResponse(string $method)
5452
{
5553
$this->assertResponse($this->guard($this->token('foo', 'hash')), $this->request($method, ['foo' => 'hash']));
5654
}
5755

58-
/**
59-
* @dataProvider unsafeMethods
60-
*
61-
* @param $method
62-
*/
63-
public function testRequestTokenHashMismatch_ThrowsException($method)
56+
/** @dataProvider unsafeMethods */
57+
public function test_RequestTokenHashMismatch_ThrowsException(string $method)
6458
{
6559
$guard = $this->guard($this->token('name', 'hash-0001'));
6660
$request = $this->request($method, ['name' => 'hash-foo']);
6761
$this->expectException(Exception\TokenMismatchException::class);
6862
$guard->process($request, $this->handler());
6963
}
7064

71-
/**
72-
* @dataProvider unsafeMethods
73-
*
74-
* @param $method
75-
*/
76-
public function testRequestTokenKeyMismatch_ThrowsException($method)
65+
/** @dataProvider unsafeMethods */
66+
public function test_RequestTokenKeyMismatch_ThrowsException(string $method)
7767
{
7868
$guard = $this->guard($this->token('foo', 'hash-0001'));
7969
$request = $this->request($method, ['bar' => 'hash-0001']);
8070
$this->expectException(Exception\TokenMismatchException::class);
8171
$guard->process($request, $this->handler());
8272
}
8373

84-
public function testSessionTokenIsClearedOnTokenMismatch()
74+
public function test_OnTokenMismatch_SessionTokenIsCleared()
8575
{
8676
$token = $this->token('foo', 'bar');
8777
$session = new Doubles\FakeSessionStorage($token + ['other_data' => 'baz']);
@@ -96,21 +86,17 @@ public function testSessionTokenIsClearedOnTokenMismatch()
9686
}
9787
}
9888

99-
public function testSessionTokenIsPreservedForValidRequest()
89+
public function test_ForValidRequest_SessionTokenIsPreserved()
10090
{
10191
$token = $this->token('foo', 'bar');
10292
$session = new Doubles\FakeSessionStorage($token);
10393
$guard = new PersistentTokenContext($session);
10494
$request = $this->request('POST', ['foo' => 'bar']);
10595
$guard->process($request, $this->handler());
10696
$this->assertTrue($session->tokenExists($token));
107-
108-
$request = $this->request('GET');
109-
$guard->process($request, $this->handler());
110-
$this->assertTrue($session->tokenExists($token));
11197
}
11298

113-
public function testGenerateTokenGeneratesTokenOnce()
99+
public function test_Token_IsGeneratedOnce()
114100
{
115101
$guard = $this->guard($this->token('name', 'hash'));
116102
$token = $guard->appSignature();
@@ -121,7 +107,7 @@ public function testGenerateTokenGeneratesTokenOnce()
121107
$this->assertSame($token, $guard->appSignature());
122108
}
123109

124-
public function testResetTokenRemovesToken()
110+
public function test_ResetToken_RemovesToken()
125111
{
126112
$guard = $this->guard();
127113
$token = $guard->appSignature();
@@ -133,20 +119,9 @@ public function testResetTokenRemovesToken()
133119
$this->assertNotEquals($token, $newToken);
134120
}
135121

136-
public function unsafeMethods(): array
137-
{
138-
return [['POST'], ['PUT'], ['DELETE'], ['PATCH'], ['TRACE'], ['CONNECT']];
139-
}
140-
141-
public function safeMethods(): array
142-
{
143-
return [['GET'], ['HEAD'], ['OPTIONS']];
144-
}
145-
146122
private function assertResponse(PersistentTokenContext $guard, Doubles\FakeServerRequest $request)
147123
{
148-
$handler = new Doubles\FakeRequestHandler(new Doubles\DummyResponse());
149-
$this->assertInstanceOf(ResponseInterface::class, $guard->process($request, $handler));
124+
$this->assertInstanceOf(ResponseInterface::class, $guard->process($request, $this->handler()));
150125
}
151126

152127
private function guard(array $token = []): PersistentTokenContext

0 commit comments

Comments
 (0)