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
			| 
											12 years ago
										 | <?php
 | ||
|  | 
 | ||
|  | namespace yiiunit\extensions\authclient\oauth;
 | ||
|  | 
 | ||
| 
											12 years ago
										 | use yii\authclient\OAuthToken;
 | ||
| 
											12 years ago
										 | use yiiunit\extensions\authclient\TestCase;
 | ||
|  | 
 | ||
|  | class TokenTest extends TestCase
 | ||
|  | {
 | ||
|  | 	public function testCreate()
 | ||
|  | 	{
 | ||
|  | 		$config = [
 | ||
|  | 			'tokenParamKey' => 'test_token_param_key',
 | ||
|  | 			'tokenSecretParamKey' => 'test_token_secret_param_key',
 | ||
|  | 		];
 | ||
| 
											12 years ago
										 | 		$oauthToken = new OAuthToken($config);
 | ||
| 
											12 years ago
										 | 		$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()
 | ||
|  | 	{
 | ||
| 
											12 years ago
										 | 		$oauthToken = new OAuthToken();
 | ||
| 
											12 years ago
										 | 
 | ||
|  | 		$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()
 | ||
|  | 	{
 | ||
| 
											12 years ago
										 | 		$oauthToken = new OAuthToken();
 | ||
| 
											12 years ago
										 | 
 | ||
|  | 		$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)
 | ||
|  | 	{
 | ||
| 
											12 years ago
										 | 		$oauthToken = new OAuthToken();
 | ||
| 
											12 years ago
										 | 		$oauthToken->setParams($params);
 | ||
|  | 		$this->assertEquals($expectedExpireDuration, $oauthToken->getExpireDuration());
 | ||
|  | 	}
 | ||
|  | 
 | ||
|  | 	/**
 | ||
|  | 	 * @depends testSetupParamsShortcuts
 | ||
|  | 	 */
 | ||
|  | 	public function testGetIsExpired()
 | ||
|  | 	{
 | ||
| 
											12 years ago
										 | 		$oauthToken = new OAuthToken();
 | ||
| 
											12 years ago
										 | 		$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()
 | ||
|  | 	{
 | ||
| 
											12 years ago
										 | 		$oauthToken = new OAuthToken();
 | ||
| 
											12 years ago
										 | 		$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!');
 | ||
|  | 	}
 | ||
|  | }
 |