public function testGettersAndSetters()
 {
     $owner = $this->getMock(TokenOwnerInterface::class);
     $client = new Client();
     $expiresAt = new DateTime();
     $refreshToken = new RefreshToken();
     $refreshToken->setToken('token');
     $refreshToken->setScopes(['scope1', 'scope2']);
     $refreshToken->setClient($client);
     $refreshToken->setExpiresAt($expiresAt);
     $refreshToken->setOwner($owner);
     $this->assertEquals('token', $refreshToken->getToken());
     $this->assertCount(2, $refreshToken->getScopes());
     $this->assertTrue($refreshToken->matchScopes('scope1'));
     $this->assertFalse($refreshToken->matchScopes('scope3'));
     $this->assertSame($client, $refreshToken->getClient());
     $this->assertEquals($expiresAt, $refreshToken->getExpiresAt());
     $this->assertSame($owner, $refreshToken->getOwner());
 }
 /**
  * @return RefreshToken
  */
 private function getValidRefreshToken()
 {
     $refreshToken = new RefreshToken();
     $refreshToken->setToken('azerty_refresh');
     $refreshToken->setScopes('read');
     $validDate = new DateTime();
     $validDate->add(DateInterval::createFromDateString('3600 seconds'));
     $refreshToken->setExpiresAt($validDate);
     return $refreshToken;
 }
 /**
  * @return RefreshToken
  */
 private function getValidRefreshToken()
 {
     $refreshToken = new RefreshToken();
     $refreshToken->setToken('azerty_refresh');
     $refreshToken->setScopes('read');
     $validDate = new DateTime();
     $validDate->add(new DateInterval('P1D'));
     $refreshToken->setExpiresAt($validDate);
     return $refreshToken;
 }