Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

Rev Author Line No. Line
106 aurelien 1
<?php
2
require_once dirname(__FILE__).'/../ServiceEflorePhpUnit.php';
3
 
4
class CelImagesTest extends ServiceEflorePhpUnit {
5
 
6
	public function __construct() {
7
		$this->projet = 'cel';
8
		$this->service = 'images';
9
	}
126 jpm 10
 
128 jpm 11
	public function testParametreMasqueNnInexistant() {
106 aurelien 12
		$ressources = array();
126 jpm 13
		$parametres = array('retour'=>'image/jpeg', 'retour.format'=>'M');
14
 
106 aurelien 15
		$retour = $this->consulterBrut($ressources, $parametres);
126 jpm 16
		$messageAttendu = "Le paramètre masque.nn est obligatoire.";
17
		$this->assertEquals($messageAttendu, $retour,
18
			"Le service doit renvoyer un message pour un masque non renseigné");
106 aurelien 19
	}
20
 
128 jpm 21
	public function testParametreMasqueNnMultiple() {
106 aurelien 22
		$ressources = array();
128 jpm 23
		$parametres = array('masque.nn' => 'bdftf:6218,182','retour'=>'image/jpeg');
106 aurelien 24
 
25
		$retour = $this->consulterBrut($ressources, $parametres);
128 jpm 26
		$messageAttendu = "Le paramètre masque.nn peut contenir une seule valeur numérique pour l'instant.";
27
		$this->assertEquals($messageAttendu, $retour,
28
			"Le service doit renvoyer un message car le paramètre masque.nn n'est pas complétement implémenté.");
106 aurelien 29
	}
126 jpm 30
 
128 jpm 31
	public function testParametreRetourFormatInexistant() {
106 aurelien 32
		$ressources = array();
128 jpm 33
		$parametres = array('masque.nn' => '62018', 'retour'=>'image/jpeg');
126 jpm 34
 
106 aurelien 35
		$retour = $this->consulterBrut($ressources, $parametres);
128 jpm 36
		$image = imagecreatefromstring($retour);
37
		$largeur = imagesx($image);
38
		$hauteur = imagesy($image);
39
		$this->assertLessThanOrEqual(450, $largeur,
40
			"Le service doit renvoyer une image de taille M (largeur < 450px) par défaut (h:$hauteur x l:$largeur)");
41
		$this->assertLessThanOrEqual(600, $hauteur,
42
			"Le service doit renvoyer une image de taille M (hauteur < 600px) par défaut (h:$hauteur x  l:$largeur)");
43
		if ($hauteur != 600) {
44
			$this->assertSame(450, $largeur,
45
				"Le service doit renvoyer une image de taille M : largeur == 450px pour une hauteur infèrieure à 600px (h:$hauteur x l:$largeur)");
46
		}
47
		if ($largeur != 450) {
48
			$this->assertSame(600, $hauteur,
49
				"Le service doit renvoyer une image de taille M : hauteur == 600px pour une largeur infèrieure à 450px (h:$hauteur x l:$largeur)");
50
		}
51
	}
52
 
53
	public function testValeurParametreRetourFormatInexistante() {
54
		$ressources = array();
55
		$parametres = array('masque.nn' => '62018', 'retour'=>'image/jpeg', 'retour.format'=>'X53L');
56
 
57
		$retour = $this->consulterBrut($ressources, $parametres);
58
		$messageAttendu = "Le type de format 'X53L' n'est pas supporté";
126 jpm 59
		$this->assertEquals($messageAttendu, $retour,
128 jpm 60
			"Le service doit renvoyer un message pour un format de retour inexistant");
106 aurelien 61
	}
126 jpm 62
 
128 jpm 63
	public function testValeurParametreRetourInexistante() {
106 aurelien 64
		$ressources = array();
126 jpm 65
		$parametres = array('masque.nn' => '6218','retour'=>'image/jpog');
66
 
106 aurelien 67
		$retour = $this->consulterBrut($ressources, $parametres);
126 jpm 68
		$messageAttendu = "Le type de retour 'image/jpog' n'est pas supporté";
69
		$this->assertEquals($messageAttendu, $retour,
70
			"Le service doit renvoyer un message d'erreur 400 sur une type de retour incorrect");
106 aurelien 71
	}
128 jpm 72
 
73
 
74
 
75
	public function testTaxonSansImage() {
76
		$ressources = array();
77
		$parametres = array('masque.nn' => '6218','retour'=>'image/jpeg');
78
 
79
		$retour = $this->consulterBrut($ressources, $parametres);
80
		$messageAttendu = "Aucune image ne correspond au numéro numenclatural :'6218'";
81
		$this->assertEquals($messageAttendu, $retour,
82
			"Le service doit renvoyer un message pour un taxon ne possédant pas d'images");
83
	}
106 aurelien 84
}
85
?>