Completed
Push — master ( ebfac1...3f8005 )
by Pieter
01:32 queued 15s
created

CsrfTokenTest::testGetWhenNotStoredAddedCustomAlgo()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 20
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 20
rs 9.4285
cc 1
eloc 13
nc 1
nop 0
1
<?php
2
3
namespace OpCacheGUI\Unit\Security;
4
5
use OpCacheGUI\Security\CsrfToken;
6
7
class CsrfTokenTest extends \PHPUnit_Framework_TestCase
8
{
9
    /**
10
     * @covers OpCacheGUI\Security\CsrfToken::__construct
11
     * @covers OpCacheGUI\Security\CsrfToken::get
12
     */
13
    public function testGetWhenAlreadyStored()
14
    {
15
        $storage = $this->getMock('\\OpCacheGUI\\Storage\\KeyValuePair');
16
        $storage->method('isKeyValid')->willReturn(true);
17
        $storage->method('get')->will($this->returnArgument(0));
18
19
        $token = new CsrfToken($storage);
20
21
        $this->assertSame('csrfToken', $token->get());
22
    }
23
24
    /**
25
     * @covers OpCacheGUI\Security\CsrfToken::__construct
26
     * @covers OpCacheGUI\Security\CsrfToken::get
27
     * @covers OpCacheGUI\Security\CsrfToken::generate
28
     */
29
    public function testGetWhenNotStored()
30
    {
31
        $storage = $this->getMock('\\OpCacheGUI\\Storage\\KeyValuePair');
32
        $storage->method('isKeyValid')->willReturn(false);
33
        $storage->method('get')->will($this->returnArgument(0));
34
35
        $generator = $this->getMock('\\OpCacheGUI\\Security\\Generator');
36
        $generator->method('generate')->willReturn('12345678901234567890123456789012345678901234567890123456');
37
38
        $token = new CsrfToken($storage);
39
40
        $this->assertSame('csrfToken', $token->get());
41
    }
42
43
    /**
44
     * @covers OpCacheGUI\Security\CsrfToken::__construct
45
     * @covers OpCacheGUI\Security\CsrfToken::validate
46
     * @covers OpCacheGUI\Security\CsrfToken::get
47
     */
48
    public function testValidateValid()
49
    {
50
        $storage = $this->getMock('\\OpCacheGUI\\Storage\\KeyValuePair');
51
        $storage->method('isKeyValid')->willReturn(true);
52
        $storage->method('get')->will($this->returnArgument(0));
53
54
        $token = new CsrfToken($storage);
55
56
        $this->assertTrue($token->validate('csrfToken'));
57
    }
58
59
    /**
60
     * @covers OpCacheGUI\Security\CsrfToken::__construct
61
     * @covers OpCacheGUI\Security\CsrfToken::validate
62
     * @covers OpCacheGUI\Security\CsrfToken::get
63
     */
64
    public function testValidateNotValid()
65
    {
66
        $storage = $this->getMock('\\OpCacheGUI\\Storage\\KeyValuePair');
67
        $storage->method('isKeyValid')->willReturn(true);
68
        $storage->method('get')->will($this->returnArgument(0));
69
70
        $token = new CsrfToken($storage);
71
72
        $this->assertFalse($token->validate('notvalid'));
73
    }
74
}
75