/**
  * Get an instance of Entity\AccessTokenEntity
  *
  * @param string $token The access token
  *
  * @return \League\OAuth2\Server\Entity\AccessTokenEntity | null
  */
 public function get($token)
 {
     //Try to get result from cache
     $result = $this->cache->getAccessToken($token);
     //If cache is empty
     if (empty($result)) {
         //Get from storage
         $result = $this->storage->get($token);
         //If we have find data from storage, put to cache
         if ($result) {
             $this->cache->putAccessToken($result);
         }
         //Else we have find data from cache, build the entity !
     } else {
         $result = (new AccessTokenEntity($this->server))->setId($result['id'])->setExpireTime((int) $result['expire_time']);
     }
     return $result;
 }
 public function testInvalidateAccessToken()
 {
     $this->cache->invalidateAccessToken('my_token');
     $accessToken = $this->cache->getAccessToken('my_token');
     $this->assertNull($accessToken);
 }