Completed
Push — master ( a677a3...75203f )
by Ryan
04:40
created

SignerTest::testGetSelfKey()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
/**
3
 * Copyright (c) 2015 WePay
4
 *
5
 * http://opensource.org/licenses/Apache2.0
6
 */
7
8
namespace WePay\Test\Signer;
9
10
use \PHPUnit_Framework_TestCase;
11
use WePay\Signer\Signer;
12
13
class SignerTest extends PHPUnit_Framework_TestCase
14
{
15
    /** @var string */
16
    const DEFAULT_CLIENT_ID = '12173158495';
17
18
    /** @var string */
19
    const DEFAULT_CLIENT_SECRET = '1594122c5c36f438f8ba';
20
21
    /** @var string */
22
    const DEFAULT_SIGNATURE = 'c2de34c15cd76f797cf80781747da3874639a827a4cb79dcd862cc17b35cf2e2c721ea7d49ab9f60590d637ae0f51fd4ed8ddb551b922e0cd7e35a13b86de360';
23
24
    /** @var string */
25
    const DEFAULT_PAGE = 'https://wepay.com/account/12345';
26
27
    /** @var string */
28
    const DEFAULT_REDIRECT_URI = 'https://partnersite.com/home';
29
30
    /** @var string */
31
    const DEFAULT_QS = 'client_id=%s&page=%s&redirect_uri=%s&stoken=%s&token=%s';
32
33
    /** @var string */
34
    const DEFAULT_TOKEN = '10c936ca-5e7c-508b-9e60-b211c20be9bc';
35
36
    /** @var \WePay\Signer\Signer */
37
    public $signer;
38
39
    public function setUp()
40
    {
41
        $this->signer = new Signer(self::DEFAULT_CLIENT_ID, self::DEFAULT_CLIENT_SECRET);
42
    }
43
44
    public function testAttributes()
45
    {
46
        $this->assertEquals(self::DEFAULT_CLIENT_ID, $this->readAttribute($this->signer, 'client_id'));
47
        $this->assertEquals(self::DEFAULT_CLIENT_SECRET, $this->readAttribute($this->signer, 'client_secret'));
48
    }
49
50
    public function testGetSelfKey()
51
    {
52
        $this->assertEquals('WePay', $this->signer->getSelfKey());
53
    }
54
55
    public function testGetClientKey()
56
    {
57
        $this->assertEquals(self::DEFAULT_CLIENT_ID, $this->signer->getClientId());
58
    }
59
60
    public function testGetClientSecret()
61
    {
62
        $this->assertEquals(self::DEFAULT_CLIENT_SECRET, $this->signer->getClientSecret());
63
    }
64
65
    public function testSign()
66
    {
67
        $signature = $this->signer->sign([
68
            'page'         => 'https://wepay.com/account/12345',
69
            'redirect_uri' => 'https://partnersite.com/home',
70
            'token'        =>  self::DEFAULT_TOKEN,
71
        ]);
72
73
        $this->assertEquals(self::DEFAULT_SIGNATURE, $signature);
74
    }
75
76
    public function testGenerateQueryStringParams()
77
    {
78
        $querystring = $this->signer->generateQueryStringParams([
79
            'page'         => 'https://wepay.com/account/12345',
80
            'redirect_uri' => 'https://partnersite.com/home',
81
            'token'        =>  self::DEFAULT_TOKEN,
82
        ]);
83
84
        $this->assertEquals(
85
            sprintf(
86
                self::DEFAULT_QS,
87
                self::DEFAULT_CLIENT_ID,
88
                self::DEFAULT_PAGE,
89
                self::DEFAULT_REDIRECT_URI,
90
                self::DEFAULT_SIGNATURE,
91
                self::DEFAULT_TOKEN
92
            ),
93
            $querystring
94
        );
95
    }
96
97
    public function testGenerateQueryStringParamsClientSecret()
98
    {
99
        $querystring = $this->signer->generateQueryStringParams([
100
            'page'          => 'https://wepay.com/account/12345',
101
            'redirect_uri'  => 'https://partnersite.com/home',
102
            'token'         =>  self::DEFAULT_TOKEN,
103
            'client_id'     =>  self::DEFAULT_CLIENT_ID,
104
            'client_secret' =>  self::DEFAULT_CLIENT_SECRET,
105
        ]);
106
107
        $this->assertEquals(
108
            sprintf(
109
                self::DEFAULT_QS,
110
                self::DEFAULT_CLIENT_ID,
111
                self::DEFAULT_PAGE,
112
                self::DEFAULT_REDIRECT_URI,
113
                self::DEFAULT_SIGNATURE,
114
                self::DEFAULT_TOKEN
115
            ),
116
            $querystring
117
        );
118
    }
119
}
120