/[openfoncier]/branches/3.14.x/tests/testREST.php
ViewVC logotype

Contents of /branches/3.14.x/tests/testREST.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3671 - (show annotations)
Mon Oct 12 17:10:58 2015 UTC (9 years, 3 months ago) by softime
File size: 30917 byte(s)
* Correction du traitement de la purge.
1 <?php
2 /**
3 * Ce fichier regroupe les tests concernant le REST
4 *
5 * @package openads
6 * @version SVN : $Id$:
7 */
8
9 // Fichier nécessaire
10 require_once "../obj/utils.class.php";
11 require_once "../services/outgoing/MessageSenderRest.class.php";
12
13 /**
14 * Cette classe permet de faire des tests sur les requêtes REST
15 *
16 * Données utilisées :
17 *
18 * Fichiers dans binary_files/test_digitalizedDocument/Transfert_GED
19 *
20 * Les consultations 1 et 2
21 *
22 * Le dossier d'autorisation PC0130551200001
23 *
24 * Le dossier d'instruction PC0130551200001P0
25 *
26 */
27 class RESTTest extends PHPUnit_Framework_TestCase {
28
29 var $base_url = '';
30
31 /**
32 * Méthode lancée en début de traitement
33 */
34 public function setUp() {
35 $this->base_url = 'http://localhost/'.BASE_PATH_URL;
36 // Instancie la timezone
37 date_default_timezone_set('Europe/Paris');
38 }
39
40 /**
41 * Méthode lancée en fin de traitement
42 */
43 public function tearDown() {
44
45 //
46 }
47
48 /**
49 * Initialisation pour session cURL
50 * @param string $url Lien
51 * @param string $request Mode de requête
52 * @param array $postfields Données à envoyer
53 * @return mixed Session cURL
54 */
55 private function init_cURL($url, $request, $postfields) {
56
57 // Initialisation session cURL
58 $curl = curl_init();
59 // Url de la page à récupérer
60 curl_setopt($curl, CURLOPT_URL, $url);
61 // Permet de récupérer le résultat au lieu de l'afficher
62 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
63 // Démarrer un nouveau cookie de session
64 curl_setopt($curl, CURLOPT_COOKIESESSION, true);
65 // Requête REST à envoyer (par défaut à GET)
66 switch ($request) {
67 case 'POST':
68 curl_setopt($curl, CURLOPT_POST, true);
69 break;
70 case 'PUT':
71 curl_setopt($curl, CURLOPT_PUT, true);
72 break;
73 }
74
75 // Si il y a des paramètres à envoyer
76 if ($postfields != '') {
77
78 // Informations à envoyer
79 $postfields = $this->preparePostFields($curl, $postfields, $request);
80 }
81
82 // Retour de la session cURL
83 $return = curl_exec($curl);
84 // Ferme la session cURL
85 curl_close($curl);
86
87 // Message retourné par REST
88 $message = $this->getReturnMessage($return, $request);
89
90 // Retourne le message
91 return $message;
92 }
93
94 /**
95 * Prépare les paramètres à envoyer en cURL
96 * @param mixed $curl Session cURL
97 * @param array $array Tableau des paramètres
98 * @param string $request Méthode utilisée (POST/PUT)
99 */
100 private function preparePostFields($curl, $array, $request) {
101
102 // Si c'est une requête POST
103 if ($request == 'POST') {
104
105 // Génère une chaîne de requête en encodage URL
106 $return = http_build_query($array);
107
108 // Données passées en POST
109 curl_setopt($curl, CURLOPT_POSTFIELDS, $return);
110
111 // Sinon c'est une requête PUT
112 } else {
113
114 // Encode le tableau en json
115 $return = json_encode($array);
116
117 // Crée un fichier temporaire
118 $putData = tmpfile();
119 // Ecrit la chaîne dans le fichier temporaire
120 fwrite($putData, $return);
121 // Place le curseur au début du fichier
122 fseek($putData, 0);
123 // Permet de retourner des données binaires
124 curl_setopt($curl, CURLOPT_BINARYTRANSFER, true);
125 // Le fichier lu par le transfert lors du chargement
126 curl_setopt($curl, CURLOPT_INFILE, $putData);
127 // Taille du fichier en octet attendue
128 curl_setopt($curl, CURLOPT_INFILESIZE, strlen($return));
129
130 }
131
132 }
133
134 /**
135 * Retourne seulement le message du retour REST
136 * @param string $return Retour du REST
137 * @return string Message du retour
138 */
139 private function getReturnMessage($return, $request) {
140
141 // Si c'est une requête GET
142 if ($request == 'GET') {
143
144 // Retraite la chaîne
145 $return = substr($return,1,-1);
146 $return = trim($return);
147 $return = preg_replace("(\r\n|\n|\r)",'',$return);
148
149 // On retourne directement le return
150 return $return;
151 }
152
153 // Decode du json et crée un objet
154 $return = json_decode($return);
155
156 // Retourne le message du retour REST
157 return $return->message;
158
159 }
160
161 /**
162 * Test le retour d'un numéro d'arrêté
163 */
164 public function testArretesRetourNumero() {
165
166 // Lien à envoyer
167 $url = $this->base_url.'services/rest_entry.php/arretes';
168 // Mode de la requête
169 $request = 'PUT';
170 // Données à envoyer
171 $postfields = array(
172 'numero_arrete' => '21321654',
173 'numero_dossier' => 'AZ0130551200001P0',
174 'etat_transaction' => 'true',
175 'detail_erreur' => '',
176 );
177
178 // Initialisation cURL
179 $message = $this->init_cURL($url, $request, $postfields);
180
181 // On vérifie le retour de la session cURL
182 $this->assertEquals($message, 'Le numéro d\'arrêté a été mis à jour.');
183
184 //Deuxième jet pour autre message
185
186 // Initialisation cURL
187 $message = $this->init_cURL($url, $request, $postfields);
188
189 // On vérifie le retour de la session cURL
190 $this->assertEquals($message, 'Erreur : un numéro d\'arrêté existe déjà pour cette instruction');
191 }
192
193 /**
194 * Test le module user de maintenance
195 */
196 public function testMaintenanceUser() {
197
198 // Lien à envoyer
199 $url = $this->base_url.'services/rest_entry.php/maintenance';
200 // Mode de la requête
201 $request = 'POST';
202 // Données à envoyer
203 $postfields = array(
204 'module' => 'user',
205 'data' => 'NA',
206 );
207
208 // Initialisation cURL
209 $message = $this->init_cURL($url, $request, $postfields);
210
211 // On vérifie le retour de la session cURL
212 $this->assertEquals($message, 'Synchronisation terminée.');
213 }
214
215 /**
216 * Test le module consultation de maintenance
217 */
218 public function testMaintenanceConsultation() {
219
220 // Lien à envoyer
221 $url = $this->base_url.'services/rest_entry.php/maintenance';
222 // Mode de la requête
223 $request = 'POST';
224 // Données à envoyer
225 $postfields = array(
226 'module' => 'consultation',
227 'data' => 'NA',
228 );
229
230 // Initialisation cURL
231 $message = $this->init_cURL($url, $request, $postfields);
232
233 // On vérifie le retour de la session cURL
234 $this->assertEquals($message, '2 consultations mise(s) à jour.');
235
236 //Deuxième jet pour autre message
237
238 // Initialisation cURL
239 $message = $this->init_cURL($url, $request, $postfields);
240
241 // On vérifie le retour de la session cURL
242 $this->assertEquals($message, 'Aucune mise a jour.');
243 }
244
245 /**
246 * Test le module instruction de maintenance
247 */
248 public function testMaintenanceInstruction() {
249
250 // Lien à envoyer
251 $url = $this->base_url.'services/rest_entry.php/maintenance';
252 // Mode de la requête
253 $request = 'POST';
254 // Données à envoyer
255 $postfields = array(
256 'module' => 'instruction',
257 'data' => 'NA',
258 );
259
260 // Initialisation cURL
261 $message = $this->init_cURL($url, $request, $postfields);
262
263 // On vérifie le retour de la session cURL
264 $this->assertEquals($message, '1 dossier(s) mis à jour.');
265 }
266
267 /**
268 * Test le module import de maintenance
269 */
270 public function testMaintenanceImport() {
271
272 // Création du dossier PC0130551200001.P0 dans le dossier de
273 // numérisation
274 mkdir('../trs/numerisation/Todo/PC0130551200001.P0/');
275 chmod('../trs/numerisation/Todo/PC0130551200001.P0/', 0777);
276 // Récupération du document
277 copy('binary_files/20091106AUTPCP.pdf', '../trs/numerisation/Todo/PC0130551200001.P0/20091106AUTPCP.pdf');
278
279 // Lien à envoyer
280 $url = $this->base_url.'services/rest_entry.php/maintenance';
281 // Mode de la requête
282 $request = 'POST';
283 // Données à envoyer
284 $postfields = array(
285 'module' => 'import',
286 'data' => array(
287 'Todo' => '../trs/numerisation/Todo',
288 'Done' => '../trs/numerisation/Done'
289 ),
290 );
291
292 // Initialisation cURL
293 $message = $this->init_cURL($url, $request, $postfields);
294
295 // On vérifie le retour de la session cURL
296 $this->assertEquals($message, 'Tous les documents ont été traités');
297
298 //Deuxième jet pour autre message
299
300 // Initialisation cURL
301 $message = $this->init_cURL($url, $request, $postfields);
302
303 // On vérifie le retour de la session cURL
304 $this->assertEquals($message, 'Aucun document à traiter');
305 }
306
307 /**
308 * Test le module purge de maintenance
309 */
310 public function testMaintenancePurge() {
311 if (file_exists('../trs/numerisation/Done/PC0130551200002.P0') == false) {
312 mkdir('../trs/numerisation/Done/PC0130551200002.P0');
313 }
314 touch('../trs/numerisation/Done/PC0130551200002.P0/test.pdf');
315 touch('../trs/numerisation/Done/PC0130551200001.P0/20091106AUTPCP.pdf',strtotime('-1 month'));
316
317 // Lien à envoyer
318 $url = $this->base_url.'services/rest_entry.php/maintenance';
319 // Mode de la requête
320 $request = 'POST';
321 // Données à envoyer
322 $postfields = array(
323 'module' => 'purge',
324 'data' => array(
325 'dossier' => '../trs/numerisation/Done',
326 'nombre_de_jour' => "20"
327 ),
328 );
329
330 // Initialisation cURL
331 $message = $this->init_cURL($url, $request, $postfields);
332
333 // On vérifie le retour de la session cURL
334 $this->assertEquals($message, '1 fichier(s) purgé(s) sur 2 dossier(s) traité(s)');
335
336 // Supprime les dossiers créent pour les tests testMaintenanceImport()
337 // et testMaintenancePurge()
338 unlink ('../trs/numerisation/Done/PC0130551200002.P0/test.pdf');
339 rmdir('../trs/numerisation/Todo/PC0130551200001.P0');
340 }
341
342 /**
343 * Test le module purge de maintenance, avec prise en compte uniquement des
344 * dossiers vide : option dossier_vide_uniquement == true
345 */
346 public function testMaintenancePurgeDossierVide() {
347 $base_path = '../trs/numerisation/Todo/';
348
349 // Dossier non-vide, répondant au critère de date => doit être conservé
350 $path_to_keep_1 = $base_path.'PC0130551200002.P0';
351 mkdir($path_to_keep_1);
352 touch($path_to_keep_1.'/test.pdf');
353 touch($path_to_keep_1, strtotime('-3 month'));
354 chmod($path_to_keep_1, 0777);
355
356 // Dossier vide, ne répondant pas au critère de date => doit être conservé
357 $path_to_keep_2 = $base_path.'PC0130551200009.P0';
358 mkdir($path_to_keep_2);
359 touch($path_to_keep_2, strtotime('-1 month'));
360 chmod($path_to_keep_2, 0777);
361
362 // Dossier vide, répondant au critère de date => doit être supprimé
363 $path_to_delete = $base_path.'PC0130551200023.P0';
364 mkdir($path_to_delete);
365 touch($path_to_delete, strtotime('-3 month'));
366 chmod($path_to_delete, 0777);
367
368 // Constitution de l'URL du WS
369 $url = $this->base_url.'services/rest_entry.php/maintenance';
370 $request = 'POST';
371 // Données à envoyer
372 $postfields = array(
373 'module' => 'purge',
374 'data' => array(
375 'dossier' => '../trs/numerisation/Todo',
376 'nombre_de_jour' => "45",
377 'dossier_vide_uniquement' => 'true'
378 ),
379 );
380
381 // Initialisation et execution de la requête
382 $message = $this->init_cURL($url, $request, $postfields);
383
384 // On vérifie le retour de la session cURL
385 $this->assertEquals($message, '1 dossier(s) purgé(s) sur 3 dossier(s) traité(s)');
386
387 // Le dossier pointé par path_to_keep_1 doit toujours être présent
388 $this->assertTrue(file_exists($path_to_keep_1));
389 // ... son contenu également
390 $this->assertTrue(file_exists($path_to_keep_1.'/test.pdf'));
391
392 // Le dossier pointé par path_to_keep_2 doit toujours être présent
393 $this->assertTrue(file_exists($path_to_keep_2));
394
395 // Le dossier pointé par path_to_keep_2 doit avoir dégagé
396 $this->assertFalse(file_exists($path_to_delete));
397
398 // Nettoyage
399 unlink($path_to_keep_1.'/test.pdf');
400 rmdir($path_to_keep_1);
401 rmdir($path_to_keep_2);
402 }
403
404
405 /**
406 * Permet de tester le service de mise à jour de l'état perimé des DA.
407 */
408 public function testMaintenanceDossierAutorisation() {
409
410 // Lien à envoyer
411 $url = $this->base_url.'services/rest_entry.php/maintenance';
412 // Mode de la requête
413 $request = 'POST';
414 // Données à envoyer
415 $postfields = array(
416 'module' => 'update_dossier_autorisation',
417 );
418
419 // Initialisation cURL
420 $message = $this->init_cURL($url, $request, $postfields);
421
422 // On vérifie le retour de la session cURL
423 $this->assertEquals($message, "1 dossier(s) d'autorisation(s) mis à jour.");
424
425 //Deuxième jet pour autre message
426
427 // Initialisation cURL
428 $message = $this->init_cURL($url, $request, $postfields);
429
430 // On vérifie le retour de la session cURL
431 $this->assertEquals($message, 'Aucune mise à jour');
432 }
433
434 /**
435 * XXX Le message retourné par le synchronisation peut être différent si le
436 * test n'est pas lancé dans le testsuite.
437 */
438 public function testMaintenanceSynchronisationContrainte() {
439
440 // Lien à envoyer
441 $url = $this->base_url.'services/rest_entry.php/maintenance';
442 // Mode de la requête
443 $request = 'POST';
444 // Données à envoyer
445 $postfields = array(
446 'module' => 'contrainte',
447 );
448
449 // Initialisation cURL
450 $message = $this->init_cURL($url, $request, $postfields);
451
452 // On vérifie le retour de la session cURL
453 $this->assertContains("2 contrainte(s) ajoutée(s).", $message);
454 $this->assertContains("Aucune contraintes à modifier.", $message);
455 $this->assertContains("4 contrainte(s) archivée(s).", $message);
456 }
457
458 /**
459 * Test le retour d'avis d'une consultation sans fichier de consultation
460 */
461 public function testConsultationSansFichier() {
462
463 // Lien à envoyer
464 $url = $this->base_url.'services/rest_entry.php/consultations/3';
465 // Mode de la requête
466 $request = 'PUT';
467 // Données à envoyer
468 $postfields = array(
469 'date_retour' => '15/01/2013',
470 'avis' => 'Favorable',
471 );
472
473 // Initialisation cURL
474 $message = $this->init_cURL($url, $request, $postfields);
475
476 // On vérifie le retour de la session cURL
477 $this->assertEquals($message, 'L\'avis de la consultation 3 a été pris en compte');
478
479 //Deuxième jet pour autre message
480
481 // Initialisation cURL
482 $message = $this->init_cURL($url, $request, $postfields);
483
484 // On vérifie le retour de la session cURL
485 $this->assertEquals($message, 'Un retour d\'avis a déjà été rendu pour la consultation \'3\'.');
486 }
487
488 /**
489 * Test le retour d'avis d'une consultation avec fichier de consultation
490 */
491 public function testConsultationAvecFichier() {
492
493 // Lien à envoyer
494 $url = $this->base_url.'services/rest_entry.php/consultations/4';
495 // Mode de la requête
496 $request = 'PUT';
497 // Données à envoyer
498 $postfields = array(
499 'date_retour' => '15/03/2013',
500 'avis' => 'Favorable',
501 'fichier_base64' => 'JVBERi0xLjQKJcOkw7zDtsOfCjIgM',
502 'nom_fichier' => 'plop.pdf',
503 );
504
505 // Initialisation cURL
506 $message = $this->init_cURL($url, $request, $postfields);
507
508 // On vérifie le retour de la session cURL
509 $this->assertEquals($message, 'L\'avis de la consultation 4 a été pris en compte');
510
511 //Deuxième jet pour autre message
512
513 // Initialisation cURL
514 $message = $this->init_cURL($url, $request, $postfields);
515
516 // On vérifie le retour de la session cURL
517 $this->assertEquals($message, 'Un retour d\'avis a déjà été rendu pour la consultation \'4\'.');
518 }
519
520 /**
521 * Test le retour de message
522 */
523 public function testMessage() {
524
525 // Lien à envoyer
526 $url = $this->base_url.'services/rest_entry.php/messages';
527 // Mode de la requête
528 $request = 'POST';
529 // Données à envoyer
530 $postfields = array(
531 'type' => 'Mise à jour de complétude ERP ACC',
532 'date' => '16/06/2014 14:12',
533 'emetteur' => 'John Doe',
534 'dossier_instruction' => 'PC0130551200001P0',
535 'contenu' => array(
536 'Complétude ERP ACC' => 'non',
537 'Motivation Complétude ERP ACC' => 'Lorem ipsum dolor sit amet...'),
538 );
539
540 // Initialisation cURL
541 $message = $this->init_cURL($url, $request, $postfields);
542
543 // On vérifie le retour de la session cURL
544 $this->assertEquals($message, 'Insertion du message \'Mise à jour de complétude ERP ACC\' OK.');
545
546 // On change les postfields
547 $postfields = array(
548 'type' => 'Mise à jour de complétude ERP SECU',
549 'date' => '16/06/2014 14:12',
550 'emetteur' => 'John Doe',
551 'dossier_instruction' => 'PC0130551200001P0',
552 'contenu' => array(
553 'Complétude ERP SECU' => 'oui',
554 'Motivation Complétude ERP SECU' => 'Lorem ipsum dolor sit amet...'),
555 );
556
557 // Initialisation cURL
558 $message = $this->init_cURL($url, $request, $postfields);
559
560 // On vérifie le retour de la session cURL
561 $this->assertEquals($message, 'Insertion du message \'Mise à jour de complétude ERP SECU\' OK.');
562
563 // On change les postfields
564 $postfields = array(
565 'type' => 'Mise à jour de qualification',
566 'date' => '16/06/2014 14:12',
567 'emetteur' => 'John Doe',
568 'dossier_instruction' => 'PC0130551200001P0',
569 'contenu' => array(
570 'Confirmation ERP' => 'oui',
571 'Type de dossier ERP' => 'Lorem ipsum dolor sit amet...',
572 'Catégorie de dossier ERP' => 'Lorem ipsum dolor sit amet...'),
573 );
574
575 // Initialisation cURL
576 $message = $this->init_cURL($url, $request, $postfields);
577
578 // On vérifie le retour de la session cURL
579 $this->assertEquals($message, 'Insertion du message \'Mise à jour de qualification\' OK.');
580
581 // On change les postfields
582 $postfields = array(
583 'type' => 'Dossier à enjeux ERP',
584 'date' => '16/06/2014 14:12',
585 'emetteur' => 'John Doe',
586 'dossier_instruction' => 'PC0130551200001P0',
587 'contenu' => array(
588 'Dossier à enjeux ERP' => 'oui',),
589 );
590
591 // Initialisation cURL
592 $message = $this->init_cURL($url, $request, $postfields);
593
594 // On vérifie le retour de la session cURL
595 $this->assertEquals($message, 'Insertion du message \'Dossier à enjeux ERP\' OK.');
596
597 }
598
599 /**
600 * Test la mise à jour de dossier d'autorisation
601 */
602 public function testDossierAutorisationMAJERP() {
603
604 // Lien à envoyer
605 $url = $this->base_url.'services/rest_entry.php/dossier_autorisations/PC0130551200001';
606 // Mode de la requête
607 $request = 'PUT';
608 // Données à envoyer
609 $postfields = array(
610 'numero_erp' => '12345',
611 );
612
613 // Initialisation cURL
614 $message = $this->init_cURL($url, $request, $postfields);
615
616 // On vérifie le retour de la session cURL
617 $this->assertEquals($message, 'Numero ERP du batiment etait assigne au dossier d\'autorisation PC0130551200001');
618 }
619
620 /**
621 * Test l'ERP ouvert
622 */
623 public function testDossierAutorisationERPOuvert() {
624
625 // Lien à envoyer
626 $url = $this->base_url.'services/rest_entry.php/dossier_autorisations/PC0130551200001';
627 // Mode de la requête
628 $request = 'PUT';
629 // Données à envoyer
630 $postfields = array(
631 'erp_ouvert' => 'oui',
632 'date_arrete' => '20/04/2013',
633 );
634
635 // Initialisation cURL
636 $message = $this->init_cURL($url, $request, $postfields);
637
638 // On vérifie le retour de la session cURL
639 $this->assertEquals($message, 'Signature de l\'ouverture ERP au publique etait enregistre pour le dossier d\'autorisation PC0130551200001');
640 }
641
642 /**
643 * Test l'arrêté d'un dossier DAT effectué
644 */
645 public function testDossierAutorisationDATArrete() {
646
647 // Lien à envoyer
648 $url = $this->base_url.'services/rest_entry.php/dossier_autorisations/PC0130551200001';
649 // Mode de la requête
650 $request = 'PUT';
651 // Données à envoyer
652 $postfields = array(
653 'arrete_effectue' => 'oui',
654 'date_arrete' => '04/06/2014',
655 );
656
657 // Initialisation cURL
658 $message = $this->init_cURL($url, $request, $postfields);
659
660 /// On vérifie le retour de la session cURL
661 $this->assertEquals($message, 'Signature de l\'ouverture ERP etait enregistre pour le dossier d\'autorisation PC0130551200001');
662 }
663
664 /**
665 * Test la méthode GET sur un dossier d'autorisation
666 */
667 public function testDossierAutorisationGET() {
668
669 // Lien à envoyer
670 $url = $this->base_url.'services/rest_entry.php/dossier_autorisations/PC0130551200001';
671 // Mode de la requête
672 $request = 'GET';
673 // Données à envoyer
674 $postfields = '';
675
676 // Initialisation cURL
677 $message = $this->init_cURL($url, $request, $postfields);
678
679 // On vérifie le retour de la session cURL
680 $this->assertEquals($message, '"dossier_autorisation": "PC0130551200001", "dossier_autorisation_type_detaille": "1", "exercice": "", "insee": "01234", "terrain_references_cadastrales": "", "terrain_adresse_voie_numero": "", "terrain_adresse_voie": "", "terrain_adresse_lieu_dit": "", "terrain_adresse_localite": "", "terrain_adresse_code_postal": "", "terrain_adresse_bp": "", "terrain_adresse_cedex": "", "terrain_superficie": "", "arrondissement": "", "depot_initial": "", "erp_numero_batiment": "12345", "erp_ouvert": "f", "erp_date_ouverture": "2013-04-20", "erp_arrete_decision": "f", "erp_date_arrete_decision": "2014-06-04", "numero_version": "0", "etat_dossier_autorisation": "1", "date_depot": "", "date_decision": "", "date_validite": "", "date_chantier": "", "date_achevement": "", "avis_decision": "", "etat_dernier_dossier_instruction_accepte": "", "dossier_autorisation_libelle": "PC 013055 12 00001"');
681 }
682
683 /*
684 * Test de la complétude et la clôture d'un dossier d'instruction
685 * ERP -> ADS
686 */
687 public function testDossierInstructionPut(){
688
689 //{{{On essaye de mettre à jour un dossier qui n'existe pas
690 // Initialisation de la classe d'envoi de requête REST
691 $messageSenderRest = new MessageSenderRest($this->base_url.
692 "services/rest_entry.php/dossier_instructions/LOREM");
693 // Formatage des données à envoyer
694 $data = array(
695 "message" => "complet",
696 "date" => date("d/m/Y")
697 );
698
699 // Envoi de la requête
700 $messageSenderRest->execute("PUT", "application/json", json_encode($data));
701
702 // Vérification de la réponse
703 $this->assertEquals($messageSenderRest->getResponse(),
704 _("Ce dossier n'existe pas"));
705 //}}}
706
707 //{{{On essaye de mettre à jour un dossier qui existe mais n'est pas un AT
708 // Initialisation de la classe d'envoi de requête REST
709 $messageSenderRest = new MessageSenderRest($this->base_url.
710 "services/rest_entry.php/dossier_instructions/PC0130551200001P0");
711 // Formatage des données à envoyer
712 $data = array(
713 "message" => "complet",
714 "date" => date("d/m/Y")
715 );
716
717 // Envoi de la requête
718 $messageSenderRest->execute("PUT", "application/json", json_encode($data));
719
720 // Vérification de la réponse
721 $this->assertEquals($messageSenderRest->getResponse(),
722 _("Ce dossier n'est pas un dossier de type AT"));
723 //}}}
724
725 //{{{On essaye de mettre à jour un dossier AT en cours d'instruction
726 // Initialisation de la classe d'envoi de requête REST
727 $messageSenderRest = new MessageSenderRest($this->base_url.
728 "services/rest_entry.php/dossier_instructions/AT0130551300001P0");
729 // Formatage des données à envoyer
730 $data = array(
731 "message" => "complet",
732 "date" => date("d/m/Y")
733 );
734
735 // Envoi de la requête
736 $messageSenderRest->execute("PUT", "application/json", json_encode($data));
737
738 // Vérification de la réponse
739 $this->assertEquals($messageSenderRest->getResponse(),
740 _("Mise a jour des donnees realisees avec succes"));
741 //}}}
742
743 //{{{On essaye de mettre à jour un dossier sans message
744 // Initialisation de la classe d'envoi de requête REST
745 $messageSenderRest = new MessageSenderRest($this->base_url.
746 "services/rest_entry.php/dossier_instructions/AT0130551300001P0");
747 // Formatage des données à envoyer
748 $data = array(
749 "message" => "",
750 "date" => date("d/m/Y")
751 );
752
753 // Envoi de la requête
754 $messageSenderRest->execute("PUT", "application/json", json_encode($data));
755
756 // Vérification de la réponse
757 $this->assertEquals($messageSenderRest->getResponse(),
758 _("Aucun message fourni"));
759 //}}}
760
761 //{{{On essaye de mettre à jour un dossier avec un message qui existe pas
762 // Initialisation de la classe d'envoi de requête REST
763 $messageSenderRest = new MessageSenderRest($this->base_url.
764 "services/rest_entry.php/dossier_instructions/AT0130551300001P0");
765 // Formatage des données à envoyer
766 $data = array(
767 "message" => "test",
768 "date" => date("d/m/Y")
769 );
770
771 // Envoi de la requête
772 $messageSenderRest->execute("PUT", "application/json", json_encode($data));
773
774 // Vérification de la réponse
775 $this->assertEquals($messageSenderRest->getResponse(),
776 _("Message fourni incorrect"));
777 //}}}
778
779 //{{{On essaye de mettre à jour un dossier sans date
780 // Initialisation de la classe d'envoi de requête REST
781 $messageSenderRest = new MessageSenderRest($this->base_url.
782 "services/rest_entry.php/dossier_instructions/AT0130551300001P0");
783 // Formatage des données à envoyer
784 $data = array(
785 "message" => "complet",
786 "date" => null
787 );
788
789 // Envoi de la requête
790 $messageSenderRest->execute("PUT", "application/json", json_encode($data));
791
792 // Vérification de la réponse
793 $this->assertEquals($messageSenderRest->getResponse(),
794 _("Aucune date fournie"));
795 //}}}
796
797 //{{{On essaye de mettre à jour un dossier avec une date mal formatée
798 // Initialisation de la classe d'envoi de requête REST
799 $messageSenderRest = new MessageSenderRest($this->base_url.
800 "services/rest_entry.php/dossier_instructions/AT0130551300001P0");
801 // Formatage des données à envoyer
802 $data = array(
803 "message" => "complet",
804 "date" => date("m/Y")
805 );
806
807 // Envoi de la requête
808 $messageSenderRest->execute("PUT", "application/json", json_encode($data));
809
810 // Vérification de la réponse
811 $this->assertEquals($messageSenderRest->getResponse(),
812 _("Date fournie au mauvais format"));
813 //}}}
814
815 //{{{On ne fourni pas de numéro de dossier d'instruction
816 // Initialisation de la classe d'envoi de requête REST
817 $messageSenderRest = new MessageSenderRest($this->base_url.
818 "services/rest_entry.php/dossier_instructions/");
819
820 // Envoi de la requête
821 $messageSenderRest->execute("PUT", "application/json", json_encode($data));
822
823 // Vérification de la réponse
824 $this->assertEquals($messageSenderRest->getResponse(),
825 _("Aucun identifiant fourni pour la ressource"));
826 //}}}
827
828 //{{{On essaye de mettre à jour un dossier AT déjà clos
829 // Initialisation de la classe d'envoi de requête REST
830 $messageSenderRest = new MessageSenderRest($this->base_url.
831 "services/rest_entry.php/dossier_instructions/AT0130551300001P0");
832 // Formatage des données à envoyer
833 $data = array(
834 "message" => "clos",
835 "date" => date("d/m/Y")
836 );
837
838 // Envoi de la requête pour clôturé le dossier
839 $messageSenderRest->execute("PUT", "application/json", json_encode($data));
840 // Vérification de la réponse
841 $this->assertEquals($messageSenderRest->getResponse(),
842 _("Mise a jour des donnees realisees avec succes"));
843
844 // Envoi de la requête pour tester que l'on ne peut pas clôturer une
845 //seconde fois un dossier d'instruction
846 $messageSenderRest->execute("PUT", "application/json", json_encode($data));
847 // Vérification de la réponse
848 $this->assertEquals($messageSenderRest->getResponse(),
849 _("Ce dossier est deja clos"));
850 //}}}
851 }
852 }
853
854 ?>

Properties

Name Value
svn:executable *
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26