BaseMethodTest.php 1.63 KB
Newer Older
1 2
<?php

3
namespace yiiunit\extensions\authclient\signature;
4 5 6 7 8

use yiiunit\extensions\authclient\TestCase;

class BaseMethodTest extends TestCase
{
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
    /**
     * Creates test signature method instance.
     * @return \yii\authclient\signature\BaseMethod
     */
    protected function createTestSignatureMethod()
    {
        $signatureMethod = $this->getMock('\yii\authclient\signature\BaseMethod', ['getName', 'generateSignature']);
        $signatureMethod->expects($this->any())->method('getName')->will($this->returnValue('testMethodName'));
        $signatureMethod->expects($this->any())->method('generateSignature')->will($this->returnValue('testSignature'));

        return $signatureMethod;
    }

    // Tests :

    public function testGenerateSignature()
    {
        $signatureMethod = $this->createTestSignatureMethod();

        $baseString = 'test_base_string';
        $key = 'test_key';

        $signature = $signatureMethod->generateSignature($baseString, $key);

        $this->assertNotEmpty($signature, 'Unable to generate signature!');
    }

    /**
     * @depends testGenerateSignature
     */
    public function testVerify()
    {
        $signatureMethod = $this->createTestSignatureMethod();

        $baseString = 'test_base_string';
        $key = 'test_key';
        $signature = 'unsigned';
        $this->assertFalse($signatureMethod->verify($signature, $baseString, $key), 'Unsigned signature is valid!');

        $generatedSignature = $signatureMethod->generateSignature($baseString, $key);
        $this->assertTrue($signatureMethod->verify($generatedSignature, $baseString, $key), 'Generated signature is invalid!');
    }
AlexGx committed
51
}