Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 126 | Rev 138 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
require_once dirname(__FILE__).'/../ServiceEflorePhpUnit.php';

class CelImagesTest extends ServiceEflorePhpUnit {

        public function __construct() {
                $this->projet = 'cel';
                $this->service = 'images';
        }

        public function testParametreMasqueNnInexistant() {
                $ressources = array();
                $parametres = array('retour'=>'image/jpeg', 'retour.format'=>'M');

                $retour = $this->consulterBrut($ressources, $parametres);
                $messageAttendu = "Le paramètre masque.nn est obligatoire.";
                $this->assertEquals($messageAttendu, $retour,
                        "Le service doit renvoyer un message pour un masque non renseigné");
        }

        public function testParametreMasqueNnMultiple() {
                $ressources = array();
                $parametres = array('masque.nn' => 'bdftf:6218,182','retour'=>'image/jpeg');

                $retour = $this->consulterBrut($ressources, $parametres);
                $messageAttendu = "Le paramètre masque.nn peut contenir une seule valeur numérique pour l'instant.";
                $this->assertEquals($messageAttendu, $retour,
                        "Le service doit renvoyer un message car le paramètre masque.nn n'est pas complétement implémenté.");
        }

        public function testParametreRetourFormatInexistant() {
                $ressources = array();
                $parametres = array('masque.nn' => '62018', 'retour'=>'image/jpeg');

                $retour = $this->consulterBrut($ressources, $parametres);
                $image = imagecreatefromstring($retour);
                $largeur = imagesx($image);
                $hauteur = imagesy($image);
                $this->assertLessThanOrEqual(450, $largeur,
                        "Le service doit renvoyer une image de taille M (largeur < 450px) par défaut (h:$hauteur x l:$largeur)");
                $this->assertLessThanOrEqual(600, $hauteur,
                        "Le service doit renvoyer une image de taille M (hauteur < 600px) par défaut (h:$hauteur x  l:$largeur)");
                if ($hauteur != 600) {
                        $this->assertSame(450, $largeur,
                                "Le service doit renvoyer une image de taille M : largeur == 450px pour une hauteur infèrieure à 600px (h:$hauteur x l:$largeur)");
                }
                if ($largeur != 450) {
                        $this->assertSame(600, $hauteur,
                                "Le service doit renvoyer une image de taille M : hauteur == 600px pour une largeur infèrieure à 450px (h:$hauteur x l:$largeur)");
                }
        }

        public function testValeurParametreRetourFormatInexistante() {
                $ressources = array();
                $parametres = array('masque.nn' => '62018', 'retour'=>'image/jpeg', 'retour.format'=>'X53L');

                $retour = $this->consulterBrut($ressources, $parametres);
                $messageAttendu = "Le type de format 'X53L' n'est pas supporté";
                $this->assertEquals($messageAttendu, $retour,
                        "Le service doit renvoyer un message pour un format de retour inexistant");
        }

        public function testValeurParametreRetourInexistante() {
                $ressources = array();
                $parametres = array('masque.nn' => '6218','retour'=>'image/jpog');

                $retour = $this->consulterBrut($ressources, $parametres);
                $messageAttendu = "Le type de retour 'image/jpog' n'est pas supporté";
                $this->assertEquals($messageAttendu, $retour,
                        "Le service doit renvoyer un message d'erreur 400 sur une type de retour incorrect");
        }



        public function testTaxonSansImage() {
                $ressources = array();
                $parametres = array('masque.nn' => '6218','retour'=>'image/jpeg');

                $retour = $this->consulterBrut($ressources, $parametres);
                $messageAttendu = "Aucune image ne correspond au numéro numenclatural :'6218'";
                $this->assertEquals($messageAttendu, $retour,
                        "Le service doit renvoyer un message pour un taxon ne possédant pas d'images");
        }
}
?>