Rev 903 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?phprequire_once dirname(__FILE__).'/../ServiceEflorePhpUnit.php';class SyntaxonsTest extends ServiceEflorePhpUnit {public function __construct() {$this->projet = 'baseveg';$this->service = 'syntaxons';}//++ ------------------------------------Test des ressources -----------------------------++//la ressource demandée est t elle connue ?public function testRessourceInconnue() {$ressourcesList = array(array('inconnue'),array('code:07-2.0.1.0.1-08'),array('relations'),array('cle:bgwsd'),array('cle:5','relations'),array('cle:5','relations','synonymie'),array('cle:5','relations','niveaux-sup'),array('catminat:catminat'),array('catminat:45'),array('catminat:07-2.0.1.0.1-08','inconnu'),array('catminat:07-2.0.1.0.1-08','inconnu','synonymie'),array('catminat:07-2.0.1.0.1-08','relations','inconnu'));$parametres = array();foreach ($ressourcesList as $ressources) {$retour = $this->consulterBrut($ressources, $parametres);$messageAttendu = "Erreur dans l'url de votre requête : </br> La ressource demandée n'existe pas.";$this->assertEquals($messageAttendu, $retour, "Il faut indiquer si une ressource est eronnée.");}}//++ ------------------------------------Test des parametres -----------------------------++public function testParametreinconnu() {$ressourcesList = array(array('catminat:07-2.0.1.0.1-08'),array('cle:10'),array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),array(),array('catminat:07-2.0.1.0.1-07','relations','synonymie'),array('catminat:07-2.0.1.0.1-07','relations'));$parametres = array('paramatre' => 'ORD');foreach ($ressourcesList as $ressources) {$retour = $this->consulterBrut($ressources, $parametres);$messageAttendu = "Erreur dans les parametres de votre requête :"." </br> Le paramètre \" paramatre \" n'existe pas.";$this->assertEquals($messageAttendu, $retour,"Il faut indiquer si le masque est erronné.");}}public function testMasqueNiveauErronne() {$ressourcesList = array(array(),array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),);$parametres = array('masque.niveau' => 'syn');foreach ($ressourcesList as $ressources) {$retour = $this->consulterBrut($ressources, $parametres);$messageAttendu = "Erreur : valeur inconnue pour masque.niveau. valeurs possibles : ALL|ORD|CLA|SUBCLA|SUBORD|SUBALL|ASS|SUBASS|BC|DC|GRPT";$this->assertEquals($messageAttendu, $retour,"Il faut indiquer si le masque est erronné.");}}public function testParametresNavigationNonAutorisesSyntaxonsCode() {$ressourcesList = array(array('catminat:07-2.0.1.0.1-08'),array('cle:6'),array('catminat:07-2.0.1.0.1-08','relations'),);$parametres = array('navigation.depart' => '0');foreach ($ressourcesList as $ressources) {$retour = $this->consulterBrut($ressources, $parametres);$messageAttendu = $messageAttendu = "Erreur dans les parametres de votre requête :"." </br> Le paramètre \" navigation.depart \" n'existe pas.";$this->assertEquals($messageAttendu, $retour,"Il faut indiquer que le parametre navigation.depart est interdit pour ce sous-service.");}$parametres = array('navigation.limite' => '10');foreach ($ressourcesList as $ressources) {$retour = $this->consulterBrut($ressources, $parametres);$messageAttendu = $messageAttendu = "Erreur dans les parametres de votre requête :"." </br> Le paramètre \" navigation.limite \" n'existe pas.";$this->assertEquals($messageAttendu, $retour,"Il faut indiquer que le parametre navigation.limite est interdit pour ce sous-service.");}}public function testParametresMasqueCatminatNonAutorise() {$ressourcesList = array(array('catminat:07-2.0.1.0.1-08'),array('cle:6'),array('catminat:07-2.0.1.0.1-08','relations'),array('catminat:07-2.0.1.0.1-08','relations','synonymie'));$parametres = array('masque.catminat' => '07-2.0.1.0.1-08');foreach ($ressourcesList as $ressources) {$retour = $this->consulterBrut($ressources, $parametres);$messageAttendu = $messageAttendu = "Erreur dans les parametres de votre requête :"." </br> Le paramètre \" masque.catminat \" n'existe pas.";$this->assertEquals($messageAttendu, $retour,"Il faut indiquer que le parametre masque.catminat est interdit pour ce sous-service.");}}public function testParametresMasqueFixeNonAutorise() {$ressourcesList = array(array('catminat:07-2.0.1.0.1-08'),array('cle:6'),array('catminat:07-2.0.1.0.1-08','relations'),);$parametres = array('masque.fixe' => '2338');foreach ($ressourcesList as $ressources) {$retour = $this->consulterBrut($ressources, $parametres);$messageAttendu = $messageAttendu = "Erreur dans les parametres de votre requête :"." </br> Le paramètre \" masque.fixe \" n'existe pas.";$this->assertEquals($messageAttendu, $retour,"Il faut indiquer que le parametre masque.fixe est interdit pour ce sous-service.");}}public function testParametresMasqueNiveauNonAutorise() {$ressourcesList = array(array('catminat:07-2.0.1.0.1-08'),array('cle:6'),array('catminat:07-2.0.1.0.1-08','relations'),array('catminat:07-2.0.1.0.1-08','relations','synonymie'));$parametres = array('masque.niveau' => 'ord');foreach ($ressourcesList as $ressources) {$retour = $this->consulterBrut($ressources, $parametres);$messageAttendu = $messageAttendu = "Erreur dans les parametres de votre requête :"." </br> Le paramètre \" masque.niveau \" n'existe pas.";$this->assertEquals($messageAttendu, $retour,"Il faut indiquer que le parametre masque.niveau est interdit pour ce sous-service.");}}public function testParametresMasqueRetenuNonAutorise() {$ressourcesList = array(array('catminat:07-2.0.1.0.1-08'),array('cle:6'),array('catminat:07-2.0.1.0.1-08','relations'),array('catminat:07-2.0.1.0.1-08','relations','synonymie'));$parametres = array('masque.retenu' => 'true');foreach ($ressourcesList as $ressources) {$retour = $this->consulterBrut($ressources, $parametres);$messageAttendu = "Erreur dans les parametres de votre requête :"." </br> Le paramètre \" masque.retenu \" n'existe pas.";$this->assertEquals($messageAttendu, $retour,"Il faut indiquer que le parametre masque.catminat est interdit pour ce sous-service.");}}//++ ------------------------------------Test du retour Json -----------------------------++public function testJsonBienFormeListes() {$ressourcesList = array(array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),array(),array('catminat:07-2.0.1.0.1-07','relations','synonymie'),array('catminat:07-2.0.1.0.1-07','relations'));$parametres = array();foreach ($ressourcesList as $ressources) {$url = $this->creerUrl($ressources, $parametres);$retour = $this->consulterJson($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 testPasDeResultat() {$ressourcesList = array(array('catminat:18-5.2.1.6.0-8'),array('catminat:18-5.2.1.6.0-8','relations'));$parametres = array();foreach ($ressourcesList as $ressources) {$url = $this->creerUrl($ressources, $parametres);$retour = $this->consulterBrut($ressources, $parametres);$messageAttendu = "Les données recherchées sont introuvables.";$this->assertEquals($messageAttendu, $retour,"Il faut indiquer si les données recherchées sont introuvables");}$ressourcesList = array(array('catminat:18-5.2.1.6.0-8','relations','synonymie'),array('catminat:18-5.2.1.6.0-8','relations','niveaux-sup'),);$parametres = array();foreach ($ressourcesList as $ressources) {$url = $this->creerUrl($ressources, $parametres);$retour = $this->consulterBrut($ressources, $parametres);$messageAttendu = "\"Les donn\u00e9es recherch\u00e9es sont introuvables\"";$this->assertEquals($messageAttendu, $retour,"Il faut indiquer si les données recherchées sont introuvables");}}public function testChampsNiveau() {$ressources = array();$parametres = array('masque.retenu' => 'true');$url = $this->creerUrl($ressources, $parametres);$retour = $this->consulterJson($ressources, $parametres);foreach ($retour['resultat'] as $cle => $valeurs) {$this->assertArrayHasKey('niveau.code', $valeurs, "Le json ne contient pas d'attribut : niveau.code . Voir : $url");$this->assertNotEmpty($valeurs['niveau.code']);$this->assertArrayHasKey('niveau.libelle', $valeurs, "Le json ne contient pas d'attribut : niveau.libelle . Voir : $url");$this->assertNotEmpty($valeurs['niveau.libelle']);$this->assertArrayHasKey('niveau.href', $valeurs, "Le json ne contient pas d'attribut : niveau.href . Voir : $url");$this->assertNotEmpty($valeurs['niveau.href']);}$parametres = array('masque.retenu' => 'false');$url = $this->creerUrl($ressources, $parametres);$retour = $this->consulterJson($ressources, $parametres);foreach ($retour['resultat'] as $cle => $valeurs) {$this->assertArrayHasKey('niveau.code', $valeurs, "Le json ne contient pas d'attribut : niveau.code . Voir : $url");$this->assertNotEmpty($valeurs['niveau.code']);$this->assertArrayHasKey('niveau.libelle', $valeurs, "Le json ne contient pas d'attribut : niveau.libelle . Voir : $url");$this->assertNotEmpty($valeurs['niveau.libelle']);$this->assertArrayHasKey('niveau.detail', $valeurs, "Le json ne contient pas d'attribut : niveau.detail . Voir : $url");$this->assertNotEmpty($valeurs['niveau.detail']);}}public function testMasqueNiveau() {$ressourcesList = array(array(),array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),);$parametres = array('masque.niveau' => 'ORD');foreach ($ressourcesList as $ressources) {$url = $this->creerUrl($ressources, $parametres);$retour = $this->consulterJson($ressources, $parametres);foreach ($retour['resultat'] as $cle => $valeurs) {$this->assertEquals( $valeurs['niveau.code'], 'ORD','le masque.niveau ne fonctionne pas.');}}}public function testMasqueRetenu() {$ressourcesList = array();$parametres = array('masque.retenu' => 'true');foreach ($ressourcesList as $ressources) {$url = $this->creerUrl($ressources, $parametres);$retour = $this->consulterJson($ressources, $parametres);foreach ($retour['resultat'] as $cle => $valeurs) {$this->assertStringStartsNotWith('syn',$valeurs['niveau.code'],'le masque.retenu ne fonctionne pas pour true.');}}$parametres = array('masque.retenu' => 'false');foreach ($ressourcesList as $ressources) {$url = $this->creerUrl($ressources, $parametres);$retour = $this->consulterJson($ressources, $parametres);foreach ($retour['resultat'] as $cle => $valeurs) {$this->assertStringStartsWith('syn',$valeurs['niveau.code'],'le masque.retenu ne fonctionne pas pour false.');}}}public function testMasqueCatminat() {$ressourcesList = array(array(),array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),);$parametres = array('masque.catminat' => '07-2.');foreach ($ressourcesList as $ressources) {$url = $this->creerUrl($ressources, $parametres);$retour = $this->consulterJson($ressources, $parametres);foreach ($retour['resultat'] as $cle => $valeurs) {$this->assertEquals( $valeurs['code_catminat'], '07/2.','le masque.niveau ne fonctionne pas.');}}}public function testMasqueFixe() {$ressourcesList = array(array(),array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),);$parametres = array('masque.fixe' => '2322');foreach ($ressourcesList as $ressources) {$url = $this->creerUrl($ressources, $parametres);$retour = $this->consulterJson($ressources, $parametres);foreach ($retour['resultat'] as $cle => $valeurs) {$this->assertEquals( $valeurs['code_fixe_nom'], '2322','le masque.fixe ne fonctionne pas.');}}}}?>