Subversion Repositories eFlore/Projets.eflore-projets

Rev

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);
960 raphael 202
			$this->assertEquals("Données introuvables dans la base", $retour, "Il faut indiquer si les données recherchées sont introuvables. Voir : $url");
581 mathilde 203
		}
204
		$ressourcesList = array(
205
		array('catminat:18-5.2.1.6.0-8','relations','synonymie'),
206
		array('catminat:18-5.2.1.6.0-8','relations','niveaux-sup'),
207
		);
208
		$parametres = array();
209
		foreach ($ressourcesList as $ressources) {
790 raphael 210
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
211
			$retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres);
581 mathilde 212
			$messageAttendu = "\"Les donn\u00e9es recherch\u00e9es sont introuvables\"";
213
			$this->assertEquals($messageAttendu, $retour,"Il faut indiquer si les données recherchées sont introuvables");
214
		}
215
 
216
	}
217
 
218
	public function testChampsNiveau() {
219
		$ressources = array();
220
		$parametres = array('masque.retenu' => 'true');
790 raphael 221
		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
222
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 223
		foreach ($retour['resultat'] as $cle => $valeurs) {
224
			$this->assertArrayHasKey('niveau.code', $valeurs, "Le json ne contient pas d'attribut : niveau.code . Voir : $url");
225
			$this->assertNotEmpty($valeurs['niveau.code']);
226
			$this->assertArrayHasKey('niveau.libelle', $valeurs, "Le json ne contient pas d'attribut : niveau.libelle . Voir : $url");
227
			$this->assertNotEmpty($valeurs['niveau.libelle']);
228
			$this->assertArrayHasKey('niveau.href', $valeurs, "Le json ne contient pas d'attribut : niveau.href . Voir : $url");
229
			$this->assertNotEmpty($valeurs['niveau.href']);
230
		}
231
 
232
		$parametres = array('masque.retenu' => 'false');
790 raphael 233
		$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
234
		$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 235
		foreach ($retour['resultat'] as $cle => $valeurs) {
236
			$this->assertArrayHasKey('niveau.code', $valeurs, "Le json ne contient pas d'attribut : niveau.code . Voir : $url");
237
			$this->assertNotEmpty($valeurs['niveau.code']);
238
			$this->assertArrayHasKey('niveau.libelle', $valeurs, "Le json ne contient pas d'attribut : niveau.libelle . Voir : $url");
239
			$this->assertNotEmpty($valeurs['niveau.libelle']);
240
			$this->assertArrayHasKey('niveau.detail', $valeurs, "Le json ne contient pas d'attribut : niveau.detail . Voir : $url");
241
			$this->assertNotEmpty($valeurs['niveau.detail']);
242
		}
243
	}
244
 
245
	public function testMasqueNiveau() {
246
		$parametres = array('masque.niveau' => 'ORD');
903 raphael 247
 
248
		$url = ServiceEflorePhpUnit::creerUrl($this->service, [], $parametres);
249
		$retour = $this->consulterJson($this->service, $this->projet, [], $parametres);
250
		foreach ($retour['resultat'] as $cle => $valeurs) {
251
			$this->assertEquals( $valeurs['niveau.code'], 'ORD','le masque.niveau ne fonctionne pas.');
581 mathilde 252
		}
903 raphael 253
 
254
		$url = ServiceEflorePhpUnit::creerUrl($this->service, ['catminat:07-2.0.1.0.1-08','relations','niveaux-sup'], $parametres);
255
		$retour = $this->consulterJson($this->service, $this->projet, ['catminat:07-2.0.1.0.1-08','relations','niveaux-sup'], $parametres);
256
		foreach ($retour['resultat'] as $cle => $valeurs) {
257
			$this->assertEquals( $valeurs['niveau.code'], 'ORD','le masque.niveau ne fonctionne pas.');
258
		}
259
 
581 mathilde 260
	}
261
 
262
	public function testMasqueRetenu() {
263
		$ressourcesList = array();
264
		$parametres = array('masque.retenu' => 'true');
265
		foreach ($ressourcesList as $ressources) {
790 raphael 266
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
267
			$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 268
			foreach ($retour['resultat'] as $cle => $valeurs) {
269
				$this->assertStringStartsNotWith('syn',$valeurs['niveau.code'],'le masque.retenu ne fonctionne pas pour true.');
270
			}
271
		}
272
		$parametres = array('masque.retenu' => 'false');
273
		foreach ($ressourcesList as $ressources) {
790 raphael 274
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
275
			$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 276
			foreach ($retour['resultat'] as $cle => $valeurs) {
277
				$this->assertStringStartsWith('syn',$valeurs['niveau.code'],'le masque.retenu ne fonctionne pas pour false.');
278
			}
279
 
280
		}
281
	}
282
 
283
	public function testMasqueCatminat() {
284
		$ressourcesList = array(
285
			array(),
286
			array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),
287
		);
288
		$parametres = array('masque.catminat' => '07-2.');
289
		foreach ($ressourcesList as $ressources) {
790 raphael 290
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
291
			$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 292
			foreach ($retour['resultat'] as $cle => $valeurs) {
293
				$this->assertEquals( $valeurs['code_catminat'], '07/2.','le masque.niveau ne fonctionne pas.');
294
			}
295
		}
296
	}
297
 
298
	public function testMasqueFixe() {
299
		$ressourcesList = array(
300
			array(),
301
			array('catminat:07-2.0.1.0.1-08','relations','niveaux-sup'),
302
		);
303
		$parametres = array('masque.fixe' => '2322');
304
		foreach ($ressourcesList as $ressources) {
790 raphael 305
			$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres);
306
			$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres);
581 mathilde 307
			foreach ($retour['resultat'] as $cle => $valeurs) {
308
				$this->assertEquals( $valeurs['code_fixe_nom'], '2322','le masque.fixe ne fonctionne pas.');
309
			}
310
		}
311
	}
312
}
313
?>