blob: 314c93195b615d8c492dc81154815e5685332743 [file] [log] [blame]
Matthias Andreas Benkardb382b102021-01-02 15:32:21 +01001<?php
2
3namespace OAuth2\Storage;
4
5class RefreshTokenTest extends BaseTest
6{
7 /** @dataProvider provideStorage */
8 public function testSetRefreshToken(RefreshTokenInterface $storage)
9 {
10 if ($storage instanceof NullStorage) {
11 $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
12
13 return;
14 }
15
16 // assert token we are about to add does not exist
17 $token = $storage->getRefreshToken('refreshtoken');
18 $this->assertFalse($token);
19
20 // add new token
21 $expires = time() + 20;
22 $success = $storage->setRefreshToken('refreshtoken', 'client ID', 'SOMEUSERID', $expires);
23 $this->assertTrue($success);
24
25 $token = $storage->getRefreshToken('refreshtoken');
26 $this->assertNotNull($token);
27 $this->assertArrayHasKey('refresh_token', $token);
28 $this->assertArrayHasKey('client_id', $token);
29 $this->assertArrayHasKey('user_id', $token);
30 $this->assertArrayHasKey('expires', $token);
31 $this->assertEquals($token['refresh_token'], 'refreshtoken');
32 $this->assertEquals($token['client_id'], 'client ID');
33 $this->assertEquals($token['user_id'], 'SOMEUSERID');
34 $this->assertEquals($token['expires'], $expires);
35
36 // add token with scope having an empty string value
37 $expires = time() + 20;
38 $success = $storage->setRefreshToken('refreshtoken2', 'client ID', 'SOMEUSERID', $expires, '');
39 $this->assertTrue($success);
40 }
41}