11<?php
2-
32namespace spec \rosette \api ;
4-
53use PhpSpec \ObjectBehavior ;
64use Prophecy \Argument ;
7-
85class ApiSpec extends ObjectBehavior
96{
107 public function let ()
118 {
129 $ this ->beConstructedWith ('randomkey ' );
1310 }
14-
1511 public function it_is_initializable ()
1612 {
1713 $ this ->shouldHaveType ('rosette\api\Api ' );
1814 }
19-
2015 public function it_instantiates_correctly ()
2116 {
2217 $ this ->getServiceUrl ()->shouldEndWith ('/rest/v1/ ' );
2318 }
24-
2519 public function it_sets_gets_response_code ()
2620 {
2721 $ responseCode = 404 ;
2822 $ this ->setResponseCode ($ responseCode );
2923 $ this ->getResponseCode ()->shouldBe ($ responseCode );
3024 }
31-
3225 public function it_sets_gets_timeout ()
3326 {
3427 $ timeout = 120 ;
3528 $ this ->setTimeout ($ timeout );
3629 $ this ->getTimeout ()->shouldBe ($ timeout );
3730 }
38-
3931 public function it_sets_gets_clears_options ()
4032 {
4133 $ this ->setOption ("test " , "foo " );
4234 $ this ->getOption ("test " )->shouldBe ("foo " );
4335 $ this ->clearOptions ();
4436 $ this ->getOption ("test " )->shouldBeNull ();
4537 }
46-
4738 public function it_sets_gets_clears_single_option ()
4839 {
4940 $ this ->setOption ("test " , "foo " );
5041 $ this ->getOption ("test " )->shouldBe ("foo " );
5142 $ this ->setOption ("test " , null );
5243 $ this ->getOption ("test " )->shouldBeNull ();
5344 }
54-
5545 public function it_sets_gets_debug ()
5646 {
5747 $ debug = true ;
@@ -61,81 +51,65 @@ public function it_sets_gets_debug()
6151 $ this ->setDebug ($ debug );
6252 $ this ->getDebug ()->shouldBe ($ debug );
6353 }
64-
6554 public function it_can_ping ($ request )
6655 {
6756 $ request ->beADoubleOf ('rosette\api\RosetteRequest ' );
6857 $ request ->makeRequest (Argument::any (), Argument::any (), Argument::any (), Argument::any ())->willReturn (true );
6958 $ request ->getResponseCode ()->willReturn (200 );
7059 $ request ->getResponse ()->willReturn ([ 'name ' => 'Rosette API ' ]);
71-
7260 $ this ->setMockRequest ($ request );
7361 $ this ->ping ()->shouldHaveKeyWithValue ('name ' , 'Rosette API ' );
7462 }
75-
7663 public function it_gets_info ($ request )
7764 {
7865 $ request ->beADoubleOf ('rosette\api\RosetteRequest ' );
7966 $ request ->makeRequest (Argument::any (), Argument::any (), Argument::any (), Argument::any ())->willReturn (true );
8067 $ request ->getResponseCode ()->willReturn (200 );
8168 $ request ->getResponse ()->willReturn ([ 'name ' => 'Rosette API ' ]);
82-
8369 $ this ->setMockRequest ($ request );
8470 $ this ->info ()->shouldHaveKeyWithValue ('name ' , 'Rosette API ' );
8571 }
86-
8772 public function it_calls_the_language_endpoint ($ params , $ request )
8873 {
8974 $ params ->beADoubleOf ('\rosette\api\DocumentParameters ' );
9075 $ params ->content = 'Sample Data ' ;
91-
9276 $ request ->beADoubleOf ('rosette\api\RosetteRequest ' );
9377 $ request ->makeRequest (Argument::any (), Argument::any (), Argument::any (), Argument::any ())->willReturn (true );
9478 $ request ->getResponseCode ()->willReturn (200 );
9579 $ request ->getResponse ()->willReturn ([ 'name ' => 'Rosette API ' ]);
96-
9780 $ this ->setMockRequest ($ request );
9881 $ this ->language ($ params )->shouldHaveKeyWithValue ('name ' , 'Rosette API ' );
9982 }
100-
10183 public function it_calls_the_sentences_endpoint ($ params , $ request )
10284 {
10385 $ params ->beADoubleOf ('\rosette\api\DocumentParameters ' );
10486 $ params ->content = 'Sample Data ' ;
105-
10687 $ request ->beADoubleOf ('rosette\api\RosetteRequest ' );
10788 $ request ->makeRequest (Argument::any (), Argument::any (), Argument::any (), Argument::any ())->willReturn (true );
10889 $ request ->getResponseCode ()->willReturn (200 );
10990 $ request ->getResponse ()->willReturn ([ 'name ' => 'Rosette API ' ]);
110-
11191 $ this ->setMockRequest ($ request );
11292 $ this ->sentences ($ params )->shouldHaveKeyWithValue ('name ' , 'Rosette API ' );
11393 }
114-
11594 public function it_calls_the_tokens_endpoint ($ params , $ request )
11695 {
11796 $ params ->beADoubleOf ('\rosette\api\DocumentParameters ' );
11897 $ params ->content = 'Sample Data ' ;
119-
12098 $ request ->beADoubleOf ('rosette\api\RosetteRequest ' );
12199 $ request ->makeRequest (Argument::any (), Argument::any (), Argument::any (), Argument::any ())->willReturn (true );
122100 $ request ->getResponseCode ()->willReturn (200 );
123101 $ request ->getResponse ()->willReturn ([ 'name ' => 'Rosette API ' ]);
124-
125102 $ this ->setMockRequest ($ request );
126103 $ this ->tokens ($ params )->shouldHaveKeyWithValue ('name ' , 'Rosette API ' );
127104 }
128-
129105 public function it_calls_the_morphology_endpoint ($ params , $ request )
130106 {
131107 $ params ->beADoubleOf ('\rosette\api\DocumentParameters ' );
132108 $ params ->content = 'Sample Data ' ;
133-
134109 $ request ->beADoubleOf ('rosette\api\RosetteRequest ' );
135110 $ request ->makeRequest (Argument::any (), Argument::any (), Argument::any (), Argument::any ())->willReturn (true );
136111 $ request ->getResponseCode ()->willReturn (200 );
137112 $ request ->getResponse ()->willReturn ([ 'name ' => 'Rosette API ' ]);
138-
139113 $ this ->setMockRequest ($ request );
140114 $ this ->morphology ($ params )->shouldHaveKeyWithValue ('name ' , 'Rosette API ' );
141115 $ facet = 'lemmas ' ;
@@ -147,45 +121,36 @@ public function it_calls_the_morphology_endpoint($params, $request)
147121 $ facet = 'han-readings ' ;
148122 $ this ->morphology ($ params , $ facet )->shouldHaveKeyWithValue ('name ' , 'Rosette API ' );
149123 }
150-
151124 public function it_calls_the_entities_endpoint ($ params , $ request )
152125 {
153126 $ params ->beADoubleOf ('\rosette\api\DocumentParameters ' );
154127 $ params ->content = 'Sample Data ' ;
155-
156128 $ request ->beADoubleOf ('rosette\api\RosetteRequest ' );
157129 $ request ->makeRequest (Argument::any (), Argument::any (), Argument::any (), Argument::any ())->willReturn (true );
158130 $ request ->getResponseCode ()->willReturn (200 );
159131 $ request ->getResponse ()->willReturn ([ 'name ' => 'Rosette API ' ]);
160-
161132 $ this ->setMockRequest ($ request );
162133 $ this ->entities ($ params )->shouldHaveKeyWithValue ('name ' , 'Rosette API ' );
163134 }
164-
165135 public function it_calls_the_categories_endpoint ($ params , $ request )
166136 {
167137 $ params ->beADoubleOf ('\rosette\api\DocumentParameters ' );
168138 $ params ->content = 'Sample Data ' ;
169-
170139 $ request ->beADoubleOf ('rosette\api\RosetteRequest ' );
171140 $ request ->makeRequest (Argument::any (), Argument::any (), Argument::any (), Argument::any ())->willReturn (true );
172141 $ request ->getResponseCode ()->willReturn (200 );
173142 $ request ->getResponse ()->willReturn ([ 'name ' => 'Rosette API ' ]);
174-
175143 $ this ->setMockRequest ($ request );
176144 $ this ->categories ($ params )->shouldHaveKeyWithValue ('name ' , 'Rosette API ' );
177145 }
178-
179146 public function it_calls_the_sentiment_endpoint ($ params , $ request )
180147 {
181148 $ params ->beADoubleOf ('\rosette\api\DocumentParameters ' );
182149 $ params ->content = 'Sample Data ' ;
183-
184150 $ request ->beADoubleOf ('rosette\api\RosetteRequest ' );
185151 $ request ->makeRequest (Argument::any (), Argument::any (), Argument::any (), Argument::any ())->willReturn (true );
186152 $ request ->getResponseCode ()->willReturn (200 );
187153 $ request ->getResponse ()->willReturn ([ 'name ' => 'Rosette API ' ]);
188-
189154 $ this ->setMockRequest ($ request );
190155 $ this ->sentiment ($ params )->shouldHaveKeyWithValue ('name ' , 'Rosette API ' );
191156 }
@@ -194,94 +159,75 @@ public function it_calls_using_multipart($params, $request)
194159 {
195160 $ params ->beADoubleOf ('\rosette\api\DocumentParameters ' );
196161 $ params ->loadDocumentFile ('fakefile ' );
197-
198162 $ request ->beADoubleOf ('rosette\api\RosetteRequest ' );
199163 $ request ->makeRequest (Argument::any (), Argument::any (), Argument::any (), Argument::any ())->willReturn (true );
200164 $ request ->getResponseCode ()->willReturn (200 );
201165 $ request ->getResponse ()->willReturn ([ 'name ' => 'Rosette API ' ]);
202-
203166 $ this ->setMockRequest ($ request );
204167 $ this ->sentiment ($ params )->shouldHaveKeyWithValue ('name ' , 'Rosette API ' );
205168 }
206-
207169 public function it_calls_the_name_translation_endpoint ($ params , $ request )
208170 {
209171 $ params ->beADoubleOf ('\rosette\api\NameTranslationParameters ' );
210-
211172 $ request ->beADoubleOf ('rosette\api\RosetteRequest ' );
212173 $ request ->makeRequest (Argument::any (), Argument::any (), Argument::any (), Argument::any ())->willReturn (true );
213174 $ request ->getResponseCode ()->willReturn (200 );
214175 $ request ->getResponse ()->willReturn ([ 'name ' => 'Rosette API ' ]);
215-
216176 $ this ->setMockRequest ($ request );
217177 $ this ->nameTranslation ($ params )->shouldHaveKeyWithValue ('name ' , 'Rosette API ' );
218178 }
219-
220179 public function it_calls_the_name_similarity_endpoint ($ params , $ request )
221180 {
222181 $ params ->beADoubleOf ('\rosette\api\NameSimilarityParameters ' );
223-
224182 $ request ->beADoubleOf ('rosette\api\RosetteRequest ' );
225183 $ request ->makeRequest (Argument::any (), Argument::any (), Argument::any (), Argument::any ())->willReturn (true );
226184 $ request ->getResponseCode ()->willReturn (200 );
227185 $ request ->getResponse ()->willReturn ([ 'name ' => 'Rosette API ' ]);
228-
229186 $ this ->setMockRequest ($ request );
230187 $ this ->nameSimilarity ($ params )->shouldHaveKeyWithValue ('name ' , 'Rosette API ' );
231188 }
232-
233189 public function it_calls_the_relationships_endpoint ($ params , $ request )
234190 {
235191 $ params ->beADoubleOf ('\rosette\api\DocumentParameters ' );
236192 $ params ->contentUri = 'http://some.dummysite.com ' ;
237-
238193 $ request ->beADoubleOf ('rosette\api\RosetteRequest ' );
239194 $ request ->makeRequest (Argument::any (), Argument::any (), Argument::any (), Argument::any ())->willReturn (true );
240195 $ request ->getResponseCode ()->willReturn (200 );
241196 $ request ->getResponse ()->willReturn ([ 'name ' => 'Rosette API ' ]);
242-
243197 $ this ->setMockRequest ($ request );
244198 $ this ->relationships ($ params )->shouldHaveKeyWithValue ('name ' , 'Rosette API ' );
245199 }
246-
247200 public function it_fails_with_non_200_response ($ params , $ request )
248201 {
249202 $ params ->beADoubleOf ('\rosette\api\DocumentParameters ' );
250203 $ params ->contentUri = 'http://some.dummysite.com ' ;
251-
252204 $ request ->beADoubleOf ('rosette\api\RosetteRequest ' );
253205 $ request ->makeRequest (Argument::any (), Argument::any (), Argument::any (), Argument::any ())->willReturn (true );
254206 $ request ->getResponseCode ()->willReturn (403 );
255207 $ request ->getResponse ()->willReturn ([ 'message ' => 'access to this resource denied ' , 'code ' => 'forbidden ' ]);
256-
257208 $ this ->setMockRequest ($ request );
258209 $ this ->shouldThrow ('rosette\api\RosetteException ' )->duringRelationships ($ params );
259210 }
260-
261211 public function it_fails_with_incorrectly_formatted_custom_header ($ params , $ request )
262212 {
263213 $ this ->shouldThrow ('rosette\api\RosetteException ' )->duringSetCustomHeaders ("test " );
264214 }
265-
266215 public function it_sets_gets_clears_customHeaders ()
267216 {
268217 $ this ->setCustomHeaders ('X-RosetteAPI-test ' );
269218 $ this ->getCustomHeaders ()->shouldBe (array ('X-RosetteAPI-test ' ));
270219 $ this ->clearCustomHeaders ();
271220 $ this ->getCustomHeaders ()->shouldBe (array ());
272221 }
273-
274222 public function it_fails_with_409_response ($ params , $ request )
275223 {
276224 $ params ->beADoubleOf ('\rosette\api\DocumentParameters ' );
277225 $ params ->contentUri = 'http://some.dummysite.com ' ;
278-
279226 $ request ->beADoubleOf ('rosette\api\RosetteRequest ' );
280227 $ request ->makeRequest (Argument::any (), Argument::any (), Argument::any (), Argument::any ())->willReturn (true );
281228 $ request ->getResponseCode ()->willReturn (409 );
282229 $ request ->getResponse ()->willReturn ([ 'code ' => 'incompatible version ' , 'message ' => 'the version of client library used is not compatible with this server ' ]);
283-
284230 $ this ->setMockRequest ($ request );
285231 $ this ->shouldThrow ('rosette\api\RosetteException ' )->duringRelationships ($ params );
286232 }
287- }
233+ }
0 commit comments