/** @dataProvider provideStorage */
 public function testExpireAccessToken(AccessTokenInterface $storage)
 {
     if ($storage instanceof NullStorage) {
         $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
     }
     // create a valid code
     $expires = time() + 20;
     $success = $storage->setAuthorizationCode('code-to-expire', 'oauth_test_client', '1', 'http://example.com', time() + 20);
     $this->assertTrue($success);
     // verify the new code exists
     $code = $storage->getAuthorizationCode('code-to-expire');
     $this->assertNotNull($code);
     $this->assertArrayHasKey('authorization_code', $code);
     $this->assertEquals($code['authorization_code'], 'code-to-expire');
     // now expire the code and ensure it's no longer available
     $storage->expireAuthorizationCode('code-to-expire');
     $code = $storage->getAuthorizationCode('code-to-expire');
     $this->assertFalse($code);
 }