/** @dataProvider provideStorage */
 public function testSaveClient(ClientInterface $storage)
 {
     if ($storage instanceof NullStorage) {
         $this->markTestSkipped('Skipped Storage: ' . $storage->getMessage());
         return;
     }
     $clientId = 'some-client-' . rand();
     // create a new client
     $success = $storage->setClientDetails($clientId, 'somesecret', 'http://test.com', 'client_credentials', 'clientscope1', '*****@*****.**');
     $this->assertTrue($success);
     // valid client_id
     $details = $storage->getClientDetails($clientId);
     $this->assertEquals($details['client_secret'], 'somesecret');
     $this->assertEquals($details['redirect_uri'], 'http://test.com');
     $this->assertEquals($details['grant_types'], 'client_credentials');
     $this->assertEquals($details['scope'], 'clientscope1');
     $this->assertEquals($details['user_id'], '*****@*****.**');
 }