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!'); | |
| 	} | |
| } |