You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
3.6 KiB
133 lines
3.6 KiB
<?php |
|
|
|
namespace yiiunit\extensions\authclient\oauth; |
|
|
|
use yii\authclient\OAuthToken; |
|
use yiiunit\extensions\authclient\TestCase; |
|
|
|
class TokenTest extends TestCase |
|
{ |
|
public function testCreate() |
|
{ |
|
$config = [ |
|
'tokenParamKey' => 'test_token_param_key', |
|
'tokenSecretParamKey' => 'test_token_secret_param_key', |
|
]; |
|
$oauthToken = new OAuthToken($config); |
|
$this->assertTrue(is_object($oauthToken), 'Unable to create access token!'); |
|
foreach ($config as $name => $value) { |
|
$this->assertEquals($value, $oauthToken->$name, 'Unable to setup attributes by constructor!'); |
|
} |
|
$this->assertTrue($oauthToken->createTimestamp > 0, 'Unable to fill create timestamp!'); |
|
} |
|
|
|
public function testSetupParams() |
|
{ |
|
$oauthToken = new OAuthToken(); |
|
|
|
$params = [ |
|
'name_1' => 'value_1', |
|
'name_2' => 'value_2', |
|
]; |
|
$oauthToken->setParams($params); |
|
$this->assertEquals($params, $oauthToken->getParams(), 'Unable to setup params!'); |
|
|
|
$newParamName = 'new_param_name'; |
|
$newParamValue = 'new_param_value'; |
|
$oauthToken->setParam($newParamName, $newParamValue); |
|
$this->assertEquals($newParamValue, $oauthToken->getParam($newParamName), 'Unable to setup param by name!'); |
|
} |
|
|
|
/** |
|
* @depends testSetupParams |
|
*/ |
|
public function testSetupParamsShortcuts() |
|
{ |
|
$oauthToken = new OAuthToken(); |
|
|
|
$token = 'test_token_value'; |
|
$oauthToken->setToken($token); |
|
$this->assertEquals($token, $oauthToken->getToken(), 'Unable to setup token!'); |
|
|
|
$tokenSecret = 'test_token_secret'; |
|
$oauthToken->setTokenSecret($tokenSecret); |
|
$this->assertEquals($tokenSecret, $oauthToken->getTokenSecret(), 'Unable to setup token secret!'); |
|
|
|
$tokenExpireDuration = rand(1000, 2000); |
|
$oauthToken->setExpireDuration($tokenExpireDuration); |
|
$this->assertEquals($tokenExpireDuration, $oauthToken->getExpireDuration(), 'Unable to setup expire duration!'); |
|
} |
|
|
|
/** |
|
* Data provider for {@link testAutoFetchExpireDuration}. |
|
* @return array test data. |
|
*/ |
|
public function autoFetchExpireDurationDataProvider() |
|
{ |
|
return [ |
|
[ |
|
['expire_in' => 123345], |
|
123345 |
|
], |
|
[ |
|
['expire' => 233456], |
|
233456 |
|
], |
|
[ |
|
['expiry_in' => 34567], |
|
34567 |
|
], |
|
[ |
|
['expiry' => 45678], |
|
45678 |
|
], |
|
]; |
|
} |
|
|
|
/** |
|
* @depends testSetupParamsShortcuts |
|
* @dataProvider autoFetchExpireDurationDataProvider |
|
* |
|
* @param array $params |
|
* @param $expectedExpireDuration |
|
*/ |
|
public function testAutoFetchExpireDuration(array $params, $expectedExpireDuration) |
|
{ |
|
$oauthToken = new OAuthToken(); |
|
$oauthToken->setParams($params); |
|
$this->assertEquals($expectedExpireDuration, $oauthToken->getExpireDuration()); |
|
} |
|
|
|
/** |
|
* @depends testSetupParamsShortcuts |
|
*/ |
|
public function testGetIsExpired() |
|
{ |
|
$oauthToken = new OAuthToken(); |
|
$expireDuration = 3600; |
|
$oauthToken->setExpireDuration($expireDuration); |
|
|
|
$this->assertFalse($oauthToken->getIsExpired(), 'Not expired token check fails!'); |
|
|
|
$oauthToken->createTimestamp = $oauthToken->createTimestamp - ($expireDuration +1); |
|
$this->assertTrue($oauthToken->getIsExpired(), 'Expired token check fails!'); |
|
} |
|
|
|
/** |
|
* @depends testGetIsExpired |
|
*/ |
|
public function testGetIsValid() |
|
{ |
|
$oauthToken = new OAuthToken(); |
|
$expireDuration = 3600; |
|
$oauthToken->setExpireDuration($expireDuration); |
|
|
|
$this->assertFalse($oauthToken->getIsValid(), 'Empty token is valid!'); |
|
|
|
$oauthToken->setToken('test_token'); |
|
$this->assertTrue($oauthToken->getIsValid(), 'Filled up token is invalid!'); |
|
|
|
$oauthToken->createTimestamp = $oauthToken->createTimestamp - ($expireDuration +1); |
|
$this->assertFalse($oauthToken->getIsValid(), 'Expired token is valid!'); |
|
} |
|
} |