Subversion Repositories eFlore/Projets.eflore-projets

Rev

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

Rev Author Line No. Line
581 mathilde 1
<?php
2
 
3
require_once dirname(__FILE__).'/../ServiceEflorePhpUnit.php';
4
 
5
class SyntaxonsTest extends ServiceEflorePhpUnit {
6
 
7
	public function __construct() {
8
		$this->projet = 'baseveg';
9
		$this->service = 'syntaxons';
10
	}
11
 
12
 
13
	//++ ------------------------------------Test des ressources -----------------------------++
14
 
15
	//la ressource demandée est t elle connue ?
16
	public function testRessourceInconnue() {
17
		$ressourcesList = array(
18
				array('inconnue'),
19
				array('code:07-2.0.1.0.1-08'),
20
				array('relations'),
21
				array('cle:bgwsd'),
22
				array('cle:5','relations'),
23
				array('cle:5','relations','synonymie'),
24
				array('cle:5','relations','niveaux-sup'),
25
				array('catminat:catminat'),
26
				array('catminat:45'),
27
				array('catminat:07-2.0.1.0.1-08','inconnu'),
28
				array('catminat:07-2.0.1.0.1-08','inconnu','synonymie'),
29
				array('catminat:07-2.0.1.0.1-08','relations','inconnu')
30
			);
31
		$parametres = array();
32
		foreach ($ressourcesList as $ressources) {
790 raphael 33
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 34
			$messageAttendu = "Erreur dans l'url de votre requête : </br> La ressource demandée n'existe pas.";
35
			$this->assertEquals($messageAttendu, $retour, "Il faut indiquer si une ressource est eronnée.");
36
		}
37
 
38
	}
39
 
40
 
41
	//++ ------------------------------------Test des parametres -----------------------------++
42
 
43
	public function testParametreinconnu() {
44
		$ressourcesList = array(
45
				array('catminat:07-2.0.1.0.1-08'),
46
				array('cle:10'),
47
				array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),
48
				array(),
49
				array('catminat:07-2.0.1.0.1-07','relations','synonymie'),
50
				array('catminat:07-2.0.1.0.1-07','relations')
51
			);
52
		$parametres = array('paramatre' => 'ORD');
53
		foreach ($ressourcesList as $ressources) {
790 raphael 54
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 55
			$messageAttendu = "Erreur dans les parametres de votre requête :".
56
											" </br> Le paramètre \" paramatre \" n'existe pas.";
57
			$this->assertEquals($messageAttendu, $retour,
58
					"Il faut indiquer si le masque est erronné.");
59
		}
60
	}
61
 
62
 
63
	public function testMasqueNiveauErronne() {
64
		$ressourcesList = array(
65
		array(),
66
		array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),
67
		);
68
		$parametres = array('masque.niveau' => 'syn');
69
		foreach ($ressourcesList as $ressources) {
790 raphael 70
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 71
			$messageAttendu = "Erreur : valeur inconnue pour masque.niveau. valeurs possibles : ALL|ORD|CLA|SUBCLA|SUBORD|SUBALL|ASS|SUBASS|BC|DC|GRPT";
72
			$this->assertEquals($messageAttendu, $retour,
73
						"Il faut indiquer si le masque est erronné.");
74
		}
75
	}
76
 
77
	public function testParametresNavigationNonAutorisesSyntaxonsCode() {
78
		$ressourcesList = array(
79
			array('catminat:07-2.0.1.0.1-08'),
80
			array('cle:6'),
81
		array('catminat:07-2.0.1.0.1-08','relations'),
82
		);
83
		$parametres = array('navigation.depart' => '0');
84
		foreach ($ressourcesList as $ressources) {
790 raphael 85
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 86
			$messageAttendu = $messageAttendu = "Erreur dans les parametres de votre requête :".
87
											" </br> Le paramètre \" navigation.depart \" n'existe pas.";
88
			$this->assertEquals($messageAttendu, $retour,
89
							"Il faut indiquer que le parametre navigation.depart est interdit pour ce sous-service.");
90
		}
91
		$parametres = array('navigation.limite' => '10');
92
		foreach ($ressourcesList as $ressources) {
790 raphael 93
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 94
			$messageAttendu = $messageAttendu = "Erreur dans les parametres de votre requête :".
95
																" </br> Le paramètre \" navigation.limite \" n'existe pas.";
96
			$this->assertEquals($messageAttendu, $retour,
97
												"Il faut indiquer que le parametre navigation.limite est interdit pour ce sous-service.");
98
		}
99
	}
100
 
101
	public function testParametresMasqueCatminatNonAutorise() {
102
		$ressourcesList = array(
103
		array('catminat:07-2.0.1.0.1-08'),
104
		array('cle:6'),
105
		array('catminat:07-2.0.1.0.1-08','relations'),
106
		array('catminat:07-2.0.1.0.1-08','relations','synonymie')
107
		);
108
		$parametres = array('masque.catminat' => '07-2.0.1.0.1-08');
109
		foreach ($ressourcesList as $ressources) {
790 raphael 110
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 111
			$messageAttendu = $messageAttendu = "Erreur dans les parametres de votre requête :".
112
																		" </br> Le paramètre \" masque.catminat \" n'existe pas.";
113
			$this->assertEquals($messageAttendu, $retour,
114
					"Il faut indiquer que le parametre masque.catminat est interdit pour ce sous-service.");
115
		}
116
 
117
	}
118
 
119
	public function testParametresMasqueFixeNonAutorise() {
120
		$ressourcesList = array(
121
		array('catminat:07-2.0.1.0.1-08'),
122
		array('cle:6'),
123
		array('catminat:07-2.0.1.0.1-08','relations'),
124
		);
125
		$parametres = array('masque.fixe' => '2338');
126
		foreach ($ressourcesList as $ressources) {
790 raphael 127
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 128
			$messageAttendu = $messageAttendu = "Erreur dans les parametres de votre requête :".
129
																			" </br> Le paramètre \" masque.fixe \" n'existe pas.";
130
			$this->assertEquals($messageAttendu, $retour,
131
						"Il faut indiquer que le parametre masque.fixe est interdit pour ce sous-service.");
132
		}
133
 
134
	}
135
 
136
	public function testParametresMasqueNiveauNonAutorise() {
137
		$ressourcesList = array(
138
			array('catminat:07-2.0.1.0.1-08'),
139
			array('cle:6'),
140
			array('catminat:07-2.0.1.0.1-08','relations'),
141
			array('catminat:07-2.0.1.0.1-08','relations','synonymie')
142
		);
143
		$parametres = array('masque.niveau' => 'ord');
144
		foreach ($ressourcesList as $ressources) {
790 raphael 145
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 146
			$messageAttendu = $messageAttendu = "Erreur dans les parametres de votre requête :".
147
												" </br> Le paramètre \" masque.niveau \" n'existe pas.";
148
			$this->assertEquals($messageAttendu, $retour,
149
					"Il faut indiquer que le parametre masque.niveau est interdit pour ce sous-service.");
150
		}
151
 
152
	}
153
 
154
	public function testParametresMasqueRetenuNonAutorise() {
155
		$ressourcesList = array(
156
			array('catminat:07-2.0.1.0.1-08'),
157
			array('cle:6'),
158
			array('catminat:07-2.0.1.0.1-08','relations'),
159
			array('catminat:07-2.0.1.0.1-08','relations','synonymie')
160
		);
161
		$parametres = array('masque.retenu' => 'true');
162
		foreach ($ressourcesList as $ressources) {
790 raphael 163
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 164
			$messageAttendu =  "Erreur dans les parametres de votre requête :".
165
												" </br> Le paramètre \" masque.retenu \" n'existe pas.";
166
			$this->assertEquals($messageAttendu, $retour,
167
					"Il faut indiquer que le parametre masque.catminat est interdit pour ce sous-service.");
168
		}
169
 
170
	}
171
 
172
 
173
 
174
	//++ ------------------------------------Test du retour Json -----------------------------++
175
 
176
	public function testJsonBienFormeListes() {
177
		$ressourcesList = array(
178
				array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),
179
				array(),
180
				array('catminat:07-2.0.1.0.1-07','relations','synonymie'),
181
				array('catminat:07-2.0.1.0.1-07','relations')
182
			);
183
		$parametres = array();
184
		foreach ($ressourcesList as $ressources) {
790 raphael 185
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
186
			$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 187
			$this->assertArrayHasKey('entete', $retour, "Le json ne contient pas d'attribut : entete. Voir : $url");
188
			$this->assertArrayHasKey('resultat', $retour, "Le json ne contient pas d'attribut : resultat. Voir : $url");
189
		}
190
 
191
	}
192
 
193
	public function testPasDeResultat() {
194
		$ressourcesList = array(
195
			array('catminat:18-5.2.1.6.0-8'),
196
			array('catminat:18-5.2.1.6.0-8','relations')
197
		);
198
		$parametres = array();
199
		foreach ($ressourcesList as $ressources) {
790 raphael 200
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
201
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 202
			$messageAttendu = "Les données recherchées sont introuvables.";
203
			$this->assertEquals($messageAttendu, $retour,"Il faut indiquer si les données recherchées sont introuvables");
204
		}
205
		$ressourcesList = array(
206
		array('catminat:18-5.2.1.6.0-8','relations','synonymie'),
207
		array('catminat:18-5.2.1.6.0-8','relations','niveaux-sup'),
208
		);
209
		$parametres = array();
210
		foreach ($ressourcesList as $ressources) {
790 raphael 211
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
212
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 213
			$messageAttendu = "\"Les donn\u00e9es recherch\u00e9es sont introuvables\"";
214
			$this->assertEquals($messageAttendu, $retour,"Il faut indiquer si les données recherchées sont introuvables");
215
		}
216
 
217
	}
218
 
219
	public function testChampsNiveau() {
220
		$ressources = array();
221
		$parametres = array('masque.retenu' => 'true');
790 raphael 222
		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
223
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 224
		foreach ($retour['resultat'] as $cle => $valeurs) {
225
			$this->assertArrayHasKey('niveau.code', $valeurs, "Le json ne contient pas d'attribut : niveau.code . Voir : $url");
226
			$this->assertNotEmpty($valeurs['niveau.code']);
227
			$this->assertArrayHasKey('niveau.libelle', $valeurs, "Le json ne contient pas d'attribut : niveau.libelle . Voir : $url");
228
			$this->assertNotEmpty($valeurs['niveau.libelle']);
229
			$this->assertArrayHasKey('niveau.href', $valeurs, "Le json ne contient pas d'attribut : niveau.href . Voir : $url");
230
			$this->assertNotEmpty($valeurs['niveau.href']);
231
		}
232
 
233
		$parametres = array('masque.retenu' => 'false');
790 raphael 234
		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
235
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 236
		foreach ($retour['resultat'] as $cle => $valeurs) {
237
			$this->assertArrayHasKey('niveau.code', $valeurs, "Le json ne contient pas d'attribut : niveau.code . Voir : $url");
238
			$this->assertNotEmpty($valeurs['niveau.code']);
239
			$this->assertArrayHasKey('niveau.libelle', $valeurs, "Le json ne contient pas d'attribut : niveau.libelle . Voir : $url");
240
			$this->assertNotEmpty($valeurs['niveau.libelle']);
241
			$this->assertArrayHasKey('niveau.detail', $valeurs, "Le json ne contient pas d'attribut : niveau.detail . Voir : $url");
242
			$this->assertNotEmpty($valeurs['niveau.detail']);
243
		}
244
	}
245
 
246
	public function testMasqueNiveau() {
247
		$parametres = array('masque.niveau' => 'ORD');
903 raphael 248
 
249
		$url = ServiceEflorePhpUnit::creerUrl($this->service, [], $parametres);
250
		$retour = $this->consulterJson($this->service, $this->projet, [], $parametres);
251
		foreach ($retour['resultat'] as $cle => $valeurs) {
252
			$this->assertEquals( $valeurs['niveau.code'], 'ORD','le masque.niveau ne fonctionne pas.');
581 mathilde 253
		}
903 raphael 254
 
255
		$url = ServiceEflorePhpUnit::creerUrl($this->service, ['catminat:07-2.0.1.0.1-08','relations','niveaux-sup'], $parametres);
256
		$retour = $this->consulterJson($this->service, $this->projet, ['catminat:07-2.0.1.0.1-08','relations','niveaux-sup'], $parametres);
257
		foreach ($retour['resultat'] as $cle => $valeurs) {
258
			$this->assertEquals( $valeurs['niveau.code'], 'ORD','le masque.niveau ne fonctionne pas.');
259
		}
260
 
581 mathilde 261
	}
262
 
263
	public function testMasqueRetenu() {
264
		$ressourcesList = array();
265
		$parametres = array('masque.retenu' => 'true');
266
		foreach ($ressourcesList as $ressources) {
790 raphael 267
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
268
			$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 269
			foreach ($retour['resultat'] as $cle => $valeurs) {
270
				$this->assertStringStartsNotWith('syn',$valeurs['niveau.code'],'le masque.retenu ne fonctionne pas pour true.');
271
			}
272
		}
273
		$parametres = array('masque.retenu' => 'false');
274
		foreach ($ressourcesList as $ressources) {
790 raphael 275
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
276
			$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 277
			foreach ($retour['resultat'] as $cle => $valeurs) {
278
				$this->assertStringStartsWith('syn',$valeurs['niveau.code'],'le masque.retenu ne fonctionne pas pour false.');
279
			}
280
 
281
		}
282
	}
283
 
284
	public function testMasqueCatminat() {
285
		$ressourcesList = array(
286
			array(),
287
			array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),
288
		);
289
		$parametres = array('masque.catminat' => '07-2.');
290
		foreach ($ressourcesList as $ressources) {
790 raphael 291
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
292
			$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 293
			foreach ($retour['resultat'] as $cle => $valeurs) {
294
				$this->assertEquals( $valeurs['code_catminat'], '07/2.','le masque.niveau ne fonctionne pas.');
295
			}
296
		}
297
	}
298
 
299
	public function testMasqueFixe() {
300
		$ressourcesList = array(
301
			array(),
302
			array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),
303
		);
304
		$parametres = array('masque.fixe' => '2322');
305
		foreach ($ressourcesList as $ressources) {
790 raphael 306
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
307
			$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 308
			foreach ($retour['resultat'] as $cle => $valeurs) {
309
				$this->assertEquals( $valeurs['code_fixe_nom'], '2322','le masque.fixe ne fonctionne pas.');
310
			}
311
		}
312
	}
313
}
314
?>