19 $this->serviceData = array(
21 'name' =>
'test_command',
22 'description' =>
'documentationForCommand',
23 'httpMethod' =>
'DELETE',
24 'class' =>
'Guzzle\\Tests\\Service\\Mock\\Command\\MockCommand',
25 'parameters' => array(
26 'bucket' => array(
'required' =>
true),
27 'key' => array(
'required' =>
true)
39 $jsonFile = __DIR__ .
'/../../TestData/test_service.json';
46 $this->assertEquals(1, count($service->getOperations()));
47 $this->assertFalse($service->hasOperation(
'foobar'));
48 $this->assertTrue($service->hasOperation(
'test_command'));
54 $data = serialize($service);
55 $d2 = unserialize($data);
56 $this->assertEquals(serialize($service), serialize($d2));
62 'operations' => array(
63 'foo' =>
new Operation(array(
'parameters' => array(
'foo' => array(
'type' =>
'string'))))
66 $serialized = serialize($service);
67 $this->assertContains(
'"parameters":{"foo":', $serialized);
68 $service = unserialize($serialized);
69 $this->assertTrue($service->getOperation(
'foo')->hasParam(
'foo'));
75 'operations' => array(
77 'httpMethod' =>
'PUT',
78 'parameters' => array(
81 'filters' =>
'json_encode',
89 $client->setDescription($description);
90 $command = $client->getCommand(
'test', array(
96 $request = $command->prepare();
97 $this->assertEquals(
'{"foo":"bar"}', (
string) $request->getBody());
103 'operations' => array(
'foo' => array()),
105 'Tag' => array(
'type' =>
'object'),
106 'Person' => array(
'type' =>
'object')
109 $this->assertTrue($d->hasModel(
'Tag'));
110 $this->assertTrue($d->hasModel(
'Person'));
111 $this->assertFalse($d->hasModel(
'Foo'));
112 $this->assertInstanceOf(
'Guzzle\Service\Description\Parameter', $d->getModel(
'Tag'));
113 $this->assertNull($d->getModel(
'Foo'));
114 $this->assertContains(
'"models":{', serialize($d));
115 $this->assertEquals(array(
'Tag',
'Person'), array_keys($d->getModels()));
121 $this->assertFalse($d->hasModel(
'Foo'));
122 $d->addModel(
new Parameter(array(
'name' =>
'Foo')));
123 $this->assertTrue($d->hasModel(
'Foo'));
129 'operations' => array(),
131 'description' =>
'Description',
132 'apiVersion' =>
'1.24'
135 $this->assertEquals(
'Name', $d->getName());
136 $this->assertEquals(
'Description', $d->getDescription());
137 $this->assertEquals(
'1.24', $d->getApiVersion());
140 $this->assertContains(
'"name":"Name"', $s);
141 $this->assertContains(
'"description":"Description"', $s);
142 $this->assertContains(
'"apiVersion":"1.24"', $s);
144 $d = unserialize($s);
145 $this->assertEquals(
'Name', $d->getName());
146 $this->assertEquals(
'Description', $d->getDescription());
147 $this->assertEquals(
'1.24', $d->getApiVersion());
153 'operations' => array(
'foo' => array(
'class' =>
'foo',
'parameters' => array())),
155 'description' =>
'Test',
156 'apiVersion' =>
'1.24',
161 $d->setData(
'hello',
'baz');
162 $this->assertEquals(
'foo', $d->getData(
'auth'));
163 $this->assertEquals(
'baz', $d->getData(
'hello'));
164 $this->assertEquals(
'bar', $d->getData(
'keyParam'));
166 $data[
'operations'][
'foo'][
'responseClass'] =
'array';
167 $data[
'operations'][
'foo'][
'responseType'] =
'primitive';
168 $this->assertEquals($data + array(
'hello' =>
'baz'), json_decode($d->serialize(),
true));
174 'operations' => array(),
176 'description' =>
'Test'
179 $arr = $d->toArray();
180 $this->assertEquals(
'Name', $arr[
'name']);
181 $this->assertEquals(
'Test', $arr[
'description']);
187 $this->assertNull($s->getOperation(
'foo'));
193 $this->assertFalse($s->hasOperation(
'Foo'));
194 $s->addOperation(
new Operation(array(
'name' =>
'Foo')));
195 $this->assertTrue($s->hasOperation(
'Foo'));
204 'operations' => array(
'foo' =>
new \stdClass())
211 $this->assertEquals(
'http://foo.com', $description->getBaseUrl());
212 $description->setBaseUrl(
'http://foobar.com');
213 $this->assertEquals(
'http://foobar.com', $description->getBaseUrl());
219 $this->assertEquals(
'http://foo.com', $description->getBaseUrl());
226 'date' => array(
'type' =>
'string'),
229 'properties' => array(
230 'dob' => array(
'$ref' =>
'date')
237 $this->assertEquals(
'date', $s->getModel(
'date')->getName());
238 $this->assertEquals(
'dob', $s->getModel(
'user')->getProperty(
'dob')->getName());