public function testPersistsCustomAttributes()
 {
     $data = array('operations' => array('foo' => array('class' => 'foo', 'parameters' => array())), 'name' => 'Name', 'description' => 'Test', 'apiVersion' => '1.24', 'auth' => 'foo', 'keyParam' => 'bar');
     $d = new ServiceDescription($data);
     $d->setData('hello', 'baz');
     $this->assertEquals('foo', $d->getData('auth'));
     $this->assertEquals('baz', $d->getData('hello'));
     $this->assertEquals('bar', $d->getData('keyParam'));
     // responseClass and responseType are added by default
     $data['operations']['foo']['responseClass'] = 'array';
     $data['operations']['foo']['responseType'] = 'primitive';
     $this->assertEquals($data + array('hello' => 'baz'), json_decode($d->serialize(), true));
 }