server/src/tests/Services/GeonamesResolverTest.php
changeset 537 d2e6ee099125
parent 304 20071981ba2a
equal deleted inserted replaced
536:b64c8c35c67d 537:d2e6ee099125
    26         foreach ($keys as $key) {
    26         foreach ($keys as $key) {
    27             if(array_key_exists($key, self::TEST_INPUT_DOCS)) {
    27             if(array_key_exists($key, self::TEST_INPUT_DOCS)) {
    28                 array_push($responses, new Response(200, [], file_get_contents(self::TEST_INPUT_DOCS[$key])));
    28                 array_push($responses, new Response(200, [], file_get_contents(self::TEST_INPUT_DOCS[$key])));
    29             }
    29             }
    30             else {
    30             else {
    31                 array_push($responses, new Response(intval($key)));  
    31                 array_push($responses, new Response(intval($key)));
    32             }
    32             }
    33 
    33 
    34         }
    34         }
    35         $mock = new MockHandler($responses);
    35         $mock = new MockHandler($responses);
    36         $handler = HandlerStack::create($mock);
    36         $handler = HandlerStack::create($mock);
    43         parent::setup();
    43         parent::setup();
    44 
    44 
    45         foreach(self::TEST_INPUT_DOCS as $key => $inputDoc) {
    45         foreach(self::TEST_INPUT_DOCS as $key => $inputDoc) {
    46             $this->inputGraphes[$key] =  new EasyRdf\Graph(config('corpusparole.geonames_base_url').$key."/", file_get_contents($inputDoc));
    46             $this->inputGraphes[$key] =  new EasyRdf\Graph(config('corpusparole.geonames_base_url').$key."/", file_get_contents($inputDoc));
    47         }
    47         }
    48     }    
    48     }
    49 
    49 
    50     /**
    50     /**
    51      * Just test the setup.
    51      * Just test the setup.
    52      *
    52      *
    53      * @return void
    53      * @return void
    63     public function testGetLabel() {
    63     public function testGetLabel() {
    64 
    64 
    65         $container = [];
    65         $container = [];
    66         $client = $this->getClient(['2968801'], $container);
    66         $client = $this->getClient(['2968801'], $container);
    67 
    67 
    68         $resolver = $this->app->make('CorpusParole\Services\GeonamesResolver', [$client]);
    68         $resolver = new \CorpusParole\Services\GeonamesResolver($client);
    69         $label = $resolver->getLabel('2968801');
    69         $label = $resolver->getLabel('2968801');
    70 
    70 
    71         $this->assertEquals('Villedieu-les-Poêles', $label, "Label is Villedieu-les-Poêles");
    71         $this->assertEquals('Villedieu-les-Poêles', $label, "Label is Villedieu-les-Poêles");
    72 
    72 
    73         $this->assertCount(1, $container);
    73         $this->assertCount(1, $container);
    82     public function testGetLabel2988507() {
    82     public function testGetLabel2988507() {
    83 
    83 
    84         $container = [];
    84         $container = [];
    85         $client = $this->getClient(['2988507'], $container);
    85         $client = $this->getClient(['2988507'], $container);
    86 
    86 
    87         $resolver = $this->app->make('CorpusParole\Services\GeonamesResolver', [$client]);
    87         $resolver = new \CorpusParole\Services\GeonamesResolver($client);
    88         $label = $resolver->getLabel('2988507');
    88         $label = $resolver->getLabel('2988507');
    89 
    89 
    90         $this->assertEquals('Paris', $label, "Label is Paris");
    90         $this->assertEquals('Paris', $label, "Label is Paris");
    91 
    91 
    92         $this->assertCount(1, $container);
    92         $this->assertCount(1, $container);
   101     public function testGetLabel6255148() {
   101     public function testGetLabel6255148() {
   102 
   102 
   103         $container = [];
   103         $container = [];
   104         $client = $this->getClient(['6255148'], $container);
   104         $client = $this->getClient(['6255148'], $container);
   105 
   105 
   106         $resolver = $this->app->make('CorpusParole\Services\GeonamesResolver', [$client]);
   106         $resolver = new \CorpusParole\Services\GeonamesResolver($client);
   107         $label = $resolver->getLabel('6255148');
   107         $label = $resolver->getLabel('6255148');
   108 
   108 
   109         $this->assertEquals('Europe', $label, "Label is Europe");
   109         $this->assertEquals('Europe', $label, "Label is Europe");
   110 
   110 
   111         $this->assertCount(1, $container);
   111         $this->assertCount(1, $container);
   120      */
   120      */
   121     public function testGetLabel404() {
   121     public function testGetLabel404() {
   122         $container = [];
   122         $container = [];
   123         $client = $this->getClient(['404'], $container);
   123         $client = $this->getClient(['404'], $container);
   124 
   124 
   125         $resolver = $this->app->make('CorpusParole\Services\GeonamesResolver', [$client]);
   125         $resolver = new \CorpusParole\Services\GeonamesResolver($client);
   126 
   126 
   127         $name = $resolver->getLabel('12345');
   127         $name = $resolver->getLabel('12345');
   128 
   128 
   129         $this->assertNull($name);
   129         $this->assertNull($name);
   130         
   130 
   131         $this->assertCount(1, $container);
   131         $this->assertCount(1, $container);
   132         $this->assertEquals("http://sws.geonames.org/12345/", (string)$container[0]['request']->getUri());
   132         $this->assertEquals("http://sws.geonames.org/12345/", (string)$container[0]['request']->getUri());
   133 
   133 
   134     }
   134     }
   135 
   135 
   138      */
   138      */
   139     public function testGetLabelUnknown() {
   139     public function testGetLabelUnknown() {
   140         $container = [];
   140         $container = [];
   141         $client = $this->getClient(['6255148'], $container);
   141         $client = $this->getClient(['6255148'], $container);
   142 
   142 
   143         $resolver = $this->app->make('CorpusParole\Services\GeonamesResolver', [$client]);
   143         $resolver = new \CorpusParole\Services\GeonamesResolver($client);
   144 
   144 
   145         $name = $resolver->getLabel('12345');
   145         $name = $resolver->getLabel('12345');
   146 
   146 
   147         $this->assertNull($name);
   147         $this->assertNull($name);
   148         
   148 
   149         $this->assertCount(1, $container);
   149         $this->assertCount(1, $container);
   150         $this->assertEquals("http://sws.geonames.org/12345/", (string)$container[0]['request']->getUri());
   150         $this->assertEquals("http://sws.geonames.org/12345/", (string)$container[0]['request']->getUri());
   151 
   151 
   152     }
   152     }
   153 
   153 
   157     public function testGetLabels() {
   157     public function testGetLabels() {
   158 
   158 
   159         $container = [];
   159         $container = [];
   160         $client = $this->getClient(['2968801', '2988507', '6255148'], $container);
   160         $client = $this->getClient(['2968801', '2988507', '6255148'], $container);
   161 
   161 
   162         $resolver = $this->app->make('CorpusParole\Services\GeonamesResolver', [$client]);
   162         $resolver = new \CorpusParole\Services\GeonamesResolver($client);
   163         $labels = $resolver->getLabels(['2968801', '2988507', '6255148']);
   163         $labels = $resolver->getLabels(['2968801', '2988507', '6255148']);
   164 
   164 
   165         $this->assertEquals(['2968801' => 'Villedieu-les-Poêles', '2988507' => 'Paris', '6255148' => 'Europe'] , $labels);
   165         $this->assertEquals(['2968801' => 'Villedieu-les-Poêles', '2988507' => 'Paris', '6255148' => 'Europe'] , $labels);
   166 
   166 
   167         $this->assertCount(3, $container);
   167         $this->assertCount(3, $container);
   180      */
   180      */
   181     public function test401Error() {
   181     public function test401Error() {
   182         $container = [];
   182         $container = [];
   183         $client = $this->getClient(['401'], $container);
   183         $client = $this->getClient(['401'], $container);
   184 
   184 
   185         $resolver = $this->app->make('CorpusParole\Services\GeonamesResolver', [$client]);
   185         $resolver = new \CorpusParole\Services\GeonamesResolver($client);
   186 
   186 
   187         $name = $resolver->getLabel('12345');
   187         $name = $resolver->getLabel('12345');
   188     }
   188     }
   189 
   189 
   190 
   190 
   196      */
   196      */
   197     public function test500Error() {
   197     public function test500Error() {
   198         $container = [];
   198         $container = [];
   199         $client = $this->getClient(['500'], $container);
   199         $client = $this->getClient(['500'], $container);
   200 
   200 
   201         $resolver = $this->app->make('CorpusParole\Services\GeonamesResolver', [$client]);
   201         $resolver = new \CorpusParole\Services\GeonamesResolver($client);
   202 
   202 
   203         $name = $resolver->getLabel('12345');
   203         $name = $resolver->getLabel('12345');
   204     }
   204     }
   205 
   205 
   206     /**
   206     /**
   211      */
   211      */
   212     public function testMalformedError() {
   212     public function testMalformedError() {
   213         $container = [];
   213         $container = [];
   214         $client = $this->getClient(['200'], $container);
   214         $client = $this->getClient(['200'], $container);
   215 
   215 
   216         $resolver = $this->app->make('CorpusParole\Services\GeonamesResolver', [$client]);
   216         $resolver = new \CorpusParole\Services\GeonamesResolver($client);
   217 
   217 
   218         $name = $resolver->getLabel('abcd');
   218         $name = $resolver->getLabel('abcd');
   219     }
   219     }
   220 
   220 
   221 
   221