projet = 'bdtfx'; $this->service = 'taxons'; } public function testVersionPrecise() { $ressources = array(); $parametres = array('version.projet' => '1.01'); $url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres); $retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres); $this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url"); $this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url"); } public function testNomsIdVersionMultiple() { $ressources = array('182'); $parametres = array('version.projet' => '*'); $url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres); $retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres); /* NI (anymore ?) $this->assertArrayHasKey('bdtfx_v1_01', $retour, "Le json ne contient pas d'attribut : bdtfx_v1_01.\nVoir : $url"); $this->assertArrayHasKey('bdtfx_v1_02', $retour, "Le json ne contient pas d'attribut : bdtfx_v1_02.\nVoir : $url"); $this->assertEquals('182', $retour['bdtfx_v1_01']['id'], "'bdtfx_v1_01' doit contenir un attribut 'id' avec la valeur '182'"); $this->assertEquals('182', $retour['bdtfx_v1_02']['id'], "'bdtfx_v1_02' doit contenir un attribut 'id' avec la valeur '182'"); */ $this->assertEquals('182', $retour['id'], "doit contenir un attribut 'id' avec la valeur '182'"); } public function testNomsVersionMultiple() { $ressources = array(); $parametres = array('version.projet' => '*'); $url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres); $retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres); $attendu = "L'affichage de plusieurs versions ne fonctionne que pour les ressources de type /ressources/#id"; $message = "L'url :\n'$url'\n doit retourner un résultat de la forme :\n $attendu"; $this->assertEquals($attendu, $retour, $message); } public function testVersionInexistante() { $ressources = array(); $parametres = array('version.projet' => '99.00'); $url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres); $retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres); $attendu = 'La requête SQL formée comporte une erreur!'; $message = "L'url :\n'$url'\n doit retourner un résultat de la forme :\n $attendu"; $this->assertEquals($attendu, $retour, $message); } public function testRechercheStricte() { $ressources = array(); $parametres = array( 'version.projet' => '1.01', 'recherche' => 'stricte', 'masque' => 'Acer'); $url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres); $retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres); $this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url"); $this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url"); $this->assertEquals('1', $retour['entete']['total'], "L'attribut 'total' de l'entête devrait valoir 1. Voir : $url"); $this->assertEquals(1, count($retour['resultat']), "Le résultat devrait contenir une seule donnée. Voir : $url"); } public function testRechercheEtendue() { $ressources = array(); $parametres = array( 'version.projet' => '1.01', 'recherche' => 'etendue', 'masque' => 'Acer'); $url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres); $retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres); $this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url"); $this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url"); $this->assertEquals('50', $retour['entete']['total'], "L'attribut total de l'entête devrait valoir 50. Voir : $url"); $this->assertEquals(50, count($retour['resultat']), "Le résultat devrait contenir 50 données. Voir : $url"); } public function testRechercheFloue() { $ressources = array(); $parametres = array( 'version.projet' => '1.01', 'recherche' => 'floue', 'masque' => 'Acer'); $url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres); $retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres); $this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url"); $this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url"); $this->assertEquals('3', $retour['entete']['total'], "L'attribut total de l'entête devrait valoir 3. Voir : $url"); $this->assertEquals(3, count($retour['resultat']), "Le résultat devrait contenir 3 données. Voir : $url"); } public function testTaxonsInf() { $ressources = array('13609', 'relations', 'inferieurs'); $parametres = array(); $url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres); $retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres); $this->assertArrayHasKey('13609', $retour, "Le json ne contient pas le num tax en indice. Voir : $url"); $this->assertEquals('2', count($retour['13609']), "Le json ne contient pas le nom de taxons inf attendu. Voir : $url"); $this->assertEquals("Carex cuprina var. cuprina", $retour['13609']['13610']['nom_sci'], "Le json ne contient pas les 1er taxon inf attendu. Voir : $url"); } public function testTaxonsSup() { $ressources = array('13609', 'relations', 'superieurs'); $parametres = array(); $url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres); $retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres); $this->assertArrayHasKey('13609', $retour, "Le json ne contient pas le num tax en indice. Voir : $url"); $this->assertEquals('14', count($retour['13609']), "Le json ne contient pas le nom de taxons inf attendu. Voir : $url"); $this->assertEquals("Chlorobiontes", $retour['13609']['101140']['nom_sci'], "Le json ne contient pas les 1er taxon inf attendu. Voir : $url"); } } ?>