author | ymh <ymh.work@gmail.com> |
Tue, 20 Mar 2018 15:02:40 +0100 | |
changeset 573 | 25f3d28f51b2 |
parent 537 | d2e6ee099125 |
permissions | -rw-r--r-- |
304
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
<?php |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
use GuzzleHttp\Client; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
use GuzzleHttp\Handler\MockHandler; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
use GuzzleHttp\HandlerStack; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
use GuzzleHttp\Psr7\Response; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7 |
use GuzzleHttp\Psr7\Request; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8 |
use GuzzleHttp\Middleware; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
use GuzzleHttp\Exception\RequestException; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
class GeonamesResolverTest extends TestCase |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
{ |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
const TEST_INPUT_DOCS = [ |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
16 |
'2968801' => __DIR__.'/files/GeonamesResolverTest/geonames_rdf_2968801.rdf', |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
17 |
'2988507' => __DIR__.'/files/GeonamesResolverTest/geonames_rdf_2988507.rdf', |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
18 |
'6255148' => __DIR__.'/files/GeonamesResolverTest/geonames_rdf_6255148.rdf', |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
]; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
20 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
21 |
private $inputGraphes = []; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
private function getClient($keys, &$container) { |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
$history = Middleware::history($container); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
25 |
$responses = []; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
26 |
foreach ($keys as $key) { |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
27 |
if(array_key_exists($key, self::TEST_INPUT_DOCS)) { |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
28 |
array_push($responses, new Response(200, [], file_get_contents(self::TEST_INPUT_DOCS[$key]))); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
29 |
} |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
30 |
else { |
537
d2e6ee099125
upgrade ember + laravel + make everything work
ymh <ymh.work@gmail.com>
parents:
304
diff
changeset
|
31 |
array_push($responses, new Response(intval($key))); |
304
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
32 |
} |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
33 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
34 |
} |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
35 |
$mock = new MockHandler($responses); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
36 |
$handler = HandlerStack::create($mock); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
37 |
$handler->push($history); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
38 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
39 |
return new Client(['handler' => $handler]); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
40 |
} |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
41 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
42 |
public function setUp() { |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
43 |
parent::setup(); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
44 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
45 |
foreach(self::TEST_INPUT_DOCS as $key => $inputDoc) { |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
46 |
$this->inputGraphes[$key] = new EasyRdf\Graph(config('corpusparole.geonames_base_url').$key."/", file_get_contents($inputDoc)); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
47 |
} |
537
d2e6ee099125
upgrade ember + laravel + make everything work
ymh <ymh.work@gmail.com>
parents:
304
diff
changeset
|
48 |
} |
304
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
49 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
50 |
/** |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
51 |
* Just test the setup. |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
52 |
* |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
53 |
* @return void |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
54 |
*/ |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
55 |
public function testSetup() |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
56 |
{ |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
57 |
$this->assertTrue(true); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
58 |
} |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
59 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
60 |
/** |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
61 |
* test getLabel |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
62 |
*/ |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
63 |
public function testGetLabel() { |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
64 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
65 |
$container = []; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
66 |
$client = $this->getClient(['2968801'], $container); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
67 |
|
537
d2e6ee099125
upgrade ember + laravel + make everything work
ymh <ymh.work@gmail.com>
parents:
304
diff
changeset
|
68 |
$resolver = new \CorpusParole\Services\GeonamesResolver($client); |
304
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
69 |
$label = $resolver->getLabel('2968801'); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
70 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
71 |
$this->assertEquals('Villedieu-les-Poêles', $label, "Label is Villedieu-les-Poêles"); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
72 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
73 |
$this->assertCount(1, $container); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
74 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
75 |
$this->assertEquals("http://sws.geonames.org/2968801/", (string)$container[0]['request']->getUri()); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
76 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
77 |
} |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
78 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
79 |
/** |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
80 |
* test getLabel |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
81 |
*/ |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
82 |
public function testGetLabel2988507() { |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
83 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
84 |
$container = []; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
85 |
$client = $this->getClient(['2988507'], $container); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
86 |
|
537
d2e6ee099125
upgrade ember + laravel + make everything work
ymh <ymh.work@gmail.com>
parents:
304
diff
changeset
|
87 |
$resolver = new \CorpusParole\Services\GeonamesResolver($client); |
304
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
88 |
$label = $resolver->getLabel('2988507'); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
89 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
90 |
$this->assertEquals('Paris', $label, "Label is Paris"); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
91 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
92 |
$this->assertCount(1, $container); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
93 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
94 |
$this->assertEquals("http://sws.geonames.org/2988507/", (string)$container[0]['request']->getUri()); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
95 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
96 |
} |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
97 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
98 |
/** |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
99 |
* test getLabel |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
100 |
*/ |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
101 |
public function testGetLabel6255148() { |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
102 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
103 |
$container = []; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
104 |
$client = $this->getClient(['6255148'], $container); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
105 |
|
537
d2e6ee099125
upgrade ember + laravel + make everything work
ymh <ymh.work@gmail.com>
parents:
304
diff
changeset
|
106 |
$resolver = new \CorpusParole\Services\GeonamesResolver($client); |
304
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
107 |
$label = $resolver->getLabel('6255148'); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
108 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
109 |
$this->assertEquals('Europe', $label, "Label is Europe"); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
110 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
111 |
$this->assertCount(1, $container); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
112 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
113 |
$this->assertEquals("http://sws.geonames.org/6255148/", (string)$container[0]['request']->getUri()); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
114 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
115 |
} |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
116 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
117 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
118 |
/** |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
119 |
* test getLabel 404 |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
120 |
*/ |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
121 |
public function testGetLabel404() { |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
122 |
$container = []; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
123 |
$client = $this->getClient(['404'], $container); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
124 |
|
537
d2e6ee099125
upgrade ember + laravel + make everything work
ymh <ymh.work@gmail.com>
parents:
304
diff
changeset
|
125 |
$resolver = new \CorpusParole\Services\GeonamesResolver($client); |
304
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
126 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
127 |
$name = $resolver->getLabel('12345'); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
128 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
129 |
$this->assertNull($name); |
537
d2e6ee099125
upgrade ember + laravel + make everything work
ymh <ymh.work@gmail.com>
parents:
304
diff
changeset
|
130 |
|
304
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
131 |
$this->assertCount(1, $container); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
132 |
$this->assertEquals("http://sws.geonames.org/12345/", (string)$container[0]['request']->getUri()); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
133 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
134 |
} |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
135 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
136 |
/** |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
137 |
* test getLabel unknown |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
138 |
*/ |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
139 |
public function testGetLabelUnknown() { |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
140 |
$container = []; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
141 |
$client = $this->getClient(['6255148'], $container); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
142 |
|
537
d2e6ee099125
upgrade ember + laravel + make everything work
ymh <ymh.work@gmail.com>
parents:
304
diff
changeset
|
143 |
$resolver = new \CorpusParole\Services\GeonamesResolver($client); |
304
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
144 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
145 |
$name = $resolver->getLabel('12345'); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
146 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
147 |
$this->assertNull($name); |
537
d2e6ee099125
upgrade ember + laravel + make everything work
ymh <ymh.work@gmail.com>
parents:
304
diff
changeset
|
148 |
|
304
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
149 |
$this->assertCount(1, $container); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
150 |
$this->assertEquals("http://sws.geonames.org/12345/", (string)$container[0]['request']->getUri()); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
151 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
152 |
} |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
153 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
154 |
/** |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
155 |
* test getLabels |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
156 |
*/ |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
157 |
public function testGetLabels() { |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
158 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
159 |
$container = []; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
160 |
$client = $this->getClient(['2968801', '2988507', '6255148'], $container); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
161 |
|
537
d2e6ee099125
upgrade ember + laravel + make everything work
ymh <ymh.work@gmail.com>
parents:
304
diff
changeset
|
162 |
$resolver = new \CorpusParole\Services\GeonamesResolver($client); |
304
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
163 |
$labels = $resolver->getLabels(['2968801', '2988507', '6255148']); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
164 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
165 |
$this->assertEquals(['2968801' => 'Villedieu-les-Poêles', '2988507' => 'Paris', '6255148' => 'Europe'] , $labels); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
166 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
167 |
$this->assertCount(3, $container); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
168 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
169 |
$this->assertEquals("http://sws.geonames.org/2968801/", (string)$container[0]['request']->getUri()); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
170 |
$this->assertEquals("http://sws.geonames.org/2988507/", (string)$container[1]['request']->getUri()); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
171 |
$this->assertEquals("http://sws.geonames.org/6255148/", (string)$container[2]['request']->getUri()); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
172 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
173 |
} |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
174 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
175 |
/** |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
176 |
* Test exception 401 |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
177 |
* @expectedException CorpusParole\Services\GeonamesResolverException |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
178 |
* @expectedExceptionMessage Client error: `GET http://sws.geonames.org/12345/` resulted in a `401 Unauthorized` response: |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
179 |
* @expectedExceptionCode 401 |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
180 |
*/ |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
181 |
public function test401Error() { |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
182 |
$container = []; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
183 |
$client = $this->getClient(['401'], $container); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
184 |
|
537
d2e6ee099125
upgrade ember + laravel + make everything work
ymh <ymh.work@gmail.com>
parents:
304
diff
changeset
|
185 |
$resolver = new \CorpusParole\Services\GeonamesResolver($client); |
304
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
186 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
187 |
$name = $resolver->getLabel('12345'); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
188 |
} |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
189 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
190 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
191 |
/** |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
192 |
* Test exception 500 |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
193 |
* @expectedException CorpusParole\Services\GeonamesResolverException |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
194 |
* @expectedExceptionMessage Server error: `GET http://sws.geonames.org/12345/` resulted in a `500 Internal Server Error` response: |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
195 |
* @expectedExceptionCode 500 |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
196 |
*/ |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
197 |
public function test500Error() { |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
198 |
$container = []; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
199 |
$client = $this->getClient(['500'], $container); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
200 |
|
537
d2e6ee099125
upgrade ember + laravel + make everything work
ymh <ymh.work@gmail.com>
parents:
304
diff
changeset
|
201 |
$resolver = new \CorpusParole\Services\GeonamesResolver($client); |
304
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
202 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
203 |
$name = $resolver->getLabel('12345'); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
204 |
} |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
205 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
206 |
/** |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
207 |
* Test exception malformed |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
208 |
* @expectedException CorpusParole\Services\GeonamesResolverException |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
209 |
* @expectedExceptionMessage GeonamesId not in correct format |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
210 |
* @expectedExceptionCode 400 |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
211 |
*/ |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
212 |
public function testMalformedError() { |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
213 |
$container = []; |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
214 |
$client = $this->getClient(['200'], $container); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
215 |
|
537
d2e6ee099125
upgrade ember + laravel + make everything work
ymh <ymh.work@gmail.com>
parents:
304
diff
changeset
|
216 |
$resolver = new \CorpusParole\Services\GeonamesResolver($client); |
304
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
217 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
218 |
$name = $resolver->getLabel('abcd'); |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
219 |
} |
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
220 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
221 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
222 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
223 |
|
20071981ba2a
add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
224 |
} |