/** @dataProvider provideStorage */ public function testSetAccessToken(AccessTokenInterface $storage) { if ($storage instanceof NullStorage) { $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage()); return; } // assert token we are about to add does not exist $token = $storage->getAccessToken('newtoken'); $this->assertFalse($token); // add new token; get user from previous token $testToken = $storage->getAccessToken('testtoken'); $expires = time() + 20; $success = $storage->setAccessToken('newtoken', 'oauth_test_client', $testToken['user_id'], $expires); $this->assertTrue($success); $token = $storage->getAccessToken('newtoken'); $this->assertNotNull($token); $this->assertArrayHasKey('access_token', $token); $this->assertArrayHasKey('client_id', $token); $this->assertArrayHasKey('user_id', $token); $this->assertArrayHasKey('expires', $token); $this->assertEquals($token['access_token'], 'newtoken'); $this->assertEquals($token['client_id'], 'oauth_test_client'); $this->assertEquals($token['user_id'], $testToken['user_id']); $this->assertEquals($token['expires'], $expires); // change existing token $expires = time() + 42; $success = $storage->setAccessToken('newtoken', 'oauth_test_client2', $testToken['user_id'], $expires); $this->assertTrue($success); $token = $storage->getAccessToken('newtoken'); $this->assertNotNull($token); $this->assertArrayHasKey('access_token', $token); $this->assertArrayHasKey('client_id', $token); $this->assertArrayHasKey('user_id', $token); $this->assertArrayHasKey('expires', $token); $this->assertEquals($token['access_token'], 'newtoken'); $this->assertEquals($token['client_id'], 'oauth_test_client2'); $this->assertEquals($token['user_id'], $testToken['user_id']); $this->assertEquals($token['expires'], $expires); $this->assertTrue($storage->setAccessToken('event_stop_propagation', '', '', '', '')); $this->assertTrue($storage->getAccessToken('event_stop_propagation')); }