| @@ 334-356 (lines=23) @@ | ||
| 331 | * | |
| 332 | * @covers Automattic\Jetpack\Connection\Manager::get_signed_token | |
| 333 | */ | |
| 334 | 	public function test_get_signed_token() { | |
| 335 | $access_token = (object) array( | |
| 336 | 'external_user_id' => 1, | |
| 337 | ); | |
| 338 | ||
| 339 | // Missing secret. | |
| 340 | $invalid_token_error = new WP_Error( 'invalid_token' ); | |
| 341 | $this->assertEquals( $invalid_token_error, ( new Tokens() )->get_signed_token( $access_token ) ); | |
| 342 | // Secret is null. | |
| 343 | $access_token->secret = null; | |
| 344 | $this->assertEquals( $invalid_token_error, ( new Tokens() )->get_signed_token( $access_token ) ); | |
| 345 | // Secret is empty. | |
| 346 | $access_token->secret = ''; | |
| 347 | $this->assertEquals( $invalid_token_error, ( new Tokens() )->get_signed_token( $access_token ) ); | |
| 348 | // Valid secret. | |
| 349 | $access_token->secret = 'abcd.1234'; | |
| 350 | ||
| 351 | $signed_token = ( new Tokens() )->get_signed_token( $access_token ); | |
| 352 | $this->assertTrue( strpos( $signed_token, 'token' ) !== false ); | |
| 353 | $this->assertTrue( strpos( $signed_token, 'timestamp' ) !== false ); | |
| 354 | $this->assertTrue( strpos( $signed_token, 'nonce' ) !== false ); | |
| 355 | $this->assertTrue( strpos( $signed_token, 'signature' ) !== false ); | |
| 356 | } | |
| 357 | ||
| 358 | /** | |
| 359 | * Test disconnecting a user from WordPress.com. | |
| @@ 160-182 (lines=23) @@ | ||
| 157 | * | |
| 158 | * @covers Automattic\Jetpack\Connection\Tokens::get_signed_token | |
| 159 | */ | |
| 160 | 	public function test_get_signed_token() { | |
| 161 | $access_token = (object) array( | |
| 162 | 'external_user_id' => 1, | |
| 163 | ); | |
| 164 | ||
| 165 | // Missing secret. | |
| 166 | $invalid_token_error = new WP_Error( 'invalid_token' ); | |
| 167 | $this->assertEquals( $invalid_token_error, ( new Tokens() )->get_signed_token( $access_token ) ); | |
| 168 | // Secret is null. | |
| 169 | $access_token->secret = null; | |
| 170 | $this->assertEquals( $invalid_token_error, ( new Tokens() )->get_signed_token( $access_token ) ); | |
| 171 | // Secret is empty. | |
| 172 | $access_token->secret = ''; | |
| 173 | $this->assertEquals( $invalid_token_error, ( new Tokens() )->get_signed_token( $access_token ) ); | |
| 174 | // Valid secret. | |
| 175 | $access_token->secret = 'abcd.1234'; | |
| 176 | ||
| 177 | $signed_token = ( new Tokens() )->get_signed_token( $access_token ); | |
| 178 | $this->assertTrue( strpos( $signed_token, 'token' ) !== false ); | |
| 179 | $this->assertTrue( strpos( $signed_token, 'timestamp' ) !== false ); | |
| 180 | $this->assertTrue( strpos( $signed_token, 'nonce' ) !== false ); | |
| 181 | $this->assertTrue( strpos( $signed_token, 'signature' ) !== false ); | |
| 182 | } | |
| 183 | ||
| 184 | /** | |
| 185 | * Intercept the `jetpack-token-health` API request sent to WP.com, and mock failed response. | |