/[openfoncier]/trunk/tests/testDigitalizedDocument_common.php
ViewVC logotype

Annotation of /trunk/tests/testDigitalizedDocument_common.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9227 - (hide annotations)
Fri Mar 27 14:02:58 2020 UTC (4 years, 10 months ago) by fmichon
Original Path: branches/4.13.0-develop/tests/testDigitalizedDocument_common.php
File size: 24568 byte(s)
* Tests : Compatibilité phpunit 7 et phpunit 8 et réorganisation des tests phpunit pour support à la fois des versions PHP7.0 & PHP7.1+.

1 fmichon 9227 <?php
2     /**
3     * Ce script contient la définition de la classe 'DigitalizedDocumentCommon'.
4     *
5     * @package openads
6     * @version SVN : $Id$
7     */
8    
9     require_once('../obj/digitalizedDocument.class.php');
10     //
11     require_once "../obj/utils.class.php";
12    
13     /**
14     * Cette classe permet de faire des tests unitaires sur la classe DigitalizedDocument
15     *
16     * La constante DEBUG doit être définis sur DEGUG_MODE ou PRODUCTION_MODE
17     *
18     * Lors de l'envoi de la commande ajouter --bootstrap bootstrap.php
19     *
20     * Jeu de données utilisé :
21     * Le dossier d'instruction PC0130551200001P0 et PC0130551200002P0 du jeu de données de
22     * base, ainsi que les dossiers sans P0 PA0130551200001 et DP0130551200001
23     * les dossiers et document présent dans binary_files/test_digitalizedDocument
24     */
25     abstract class DigitalizedDocumentCommon extends PHPUnit\Framework\TestCase {
26    
27     var $digitalizedDocument = NULL;
28    
29     /**
30     * Fonction lancée en début de classe
31     */
32     public static function common_setUpBeforeClass() {
33     // Création des dossiers PC0130551200001.P0 et PC0130551200002 dans le
34     // dossier de numérisation
35     mkdir('../var/digitalization/Todo/PC0130551200001.P0/');
36     chmod('../var/digitalization/Todo/PC0130551200001.P0/', 0777);
37     mkdir('../var/digitalization/Todo/PC0130551200002.P0/');
38     chmod('../var/digitalization/Todo/PC0130551200002.P0/', 0777);
39     // Récupération du document
40     copy('binary_files/20091106AUTPCP.pdf', '../var/digitalization/Todo/PC0130551200001.P0/20091106AUTPCP.pdf');
41     copy('binary_files/20091106AUTPCP-1.pdf', '../var/digitalization/Todo/PC0130551200001.P0/20091106AUTPCP-1.pdf');
42     // Création des dossiers sans le suffixe P0
43     mkdir('../var/digitalization/Todo/PA0130551200001/');
44     chmod('../var/digitalization/Todo/PA0130551200001/', 0777);
45     mkdir('../var/digitalization/Todo/DP0130551200001/');
46     chmod('../var/digitalization/Todo/DP0130551200001/', 0777);
47     // Récupération du document
48     copy('binary_files/20091106AUTPCP.pdf', '../var/digitalization/Todo/PA0130551200001/20091106AUTPCP.pdf');
49     copy('binary_files/20091106AUTPCP-1.pdf', '../var/digitalization/Todo/PA0130551200001/20091106AUTPCP-1.pdf');
50     }
51    
52     /**
53     * Fonction lancée en fin de classe
54     */
55     public static function common_tearDownAfterClass() {
56     // Suppression du document 20091106AUTPCP.pdf
57     unlink('../var/digitalization/Todo/PC0130551200001.P0/20091106AUTPCP.pdf');
58     unlink('../var/digitalization/Todo/PC0130551200001.P0/20091106AUTPCP-1.pdf');
59     unlink('../var/digitalization/Todo/PA0130551200001/20091106AUTPCP.pdf');
60     unlink('../var/digitalization/Todo/PA0130551200001/20091106AUTPCP-1.pdf');
61    
62     // Suppression des dossiers PC0130551200001.P0 et PC0130551200002.P0
63     if(file_exists('../var/digitalization/Todo/PC0130551200001.P0')) {
64     rmdir('../var/digitalization/Todo/PC0130551200001.P0');
65     }
66     if(file_exists('../var/digitalization/Todo/PC0130551200002.P0')) {
67     rmdir('../var/digitalization/Todo/PC0130551200002.P0');
68     }
69     // Suppression des dossiers sans P0
70     if(file_exists('../var/digitalization/Todo/PA0130551200001')) {
71     rmdir('../var/digitalization/Todo/PA0130551200001');
72     }
73     if(file_exists('../var/digitalization/Todo/DP0130551200001')) {
74     rmdir('../var/digitalization/Todo/DP0130551200001');
75     }
76     }
77    
78     /**
79     * Méthode lancée en début de traitement
80     */
81     public function common_setUp() {
82     date_default_timezone_set('Europe/Paris');
83     echo ' = '.get_called_class().'.'.str_replace('test_', '', $this->getName())."\r\n";
84     //
85     @session_start();
86     $_SESSION['collectivite'] = 1;
87     $_SESSION['login'] = "admin";
88     $_SERVER['REQUEST_URI'] = "";
89     $f = new utils("nohtml");
90     $f->disableLog();
91     $this->digitalizedDocument = new DigitalizedDocument($f);
92     }
93    
94     /**
95     * Méthode lancée en fin de traitement
96     */
97     public function common_tearDown() {
98     // On détruit l'instance de la classe DigitalizedDocument
99     $this->digitalizedDocument->__destruct();
100     }
101    
102     /**
103     * Méthode étant appelée lors du fail d'un test.
104     *
105     * @param $e Exception remontée lors du test
106     * @return void
107     */
108     public function common_onNotSuccessfulTest(Throwable $e) {
109     echo 'Line '.$e->getLine().' : '.$e->getMessage()."\r\n";
110     parent::onNotSuccessfulTest($e);
111     }
112    
113     /**
114     * Fonction permettant de verifier l'ajout dans la base de données
115     */
116     private function checkLinkFile($uid) {
117    
118     //Requête qui vérifie dans la bdd si le lien existe
119     $sql = "SELECT document_numerise
120     FROM ".DB_PREFIXE."document_numerise
121     WHERE uid = '".$uid."'";
122     $document_numerise = $this->digitalizedDocument->f->db->getOne($sql);
123     $this->digitalizedDocument->f->isDatabaseError($document_numerise);
124    
125     //Si le lien a été trouvé on retourne vrai
126     if ($document_numerise) {
127    
128     return true;
129    
130     }
131    
132     //sinon on retourne false
133     return false;
134     }
135    
136     /**
137     * Recupère uid par rapport à l'identifiant
138     */
139     private function get_uid_by_id($document_numerise) {
140    
141     //Requête qui vérifie dans la bdd si le lien existe
142     $sql = "SELECT uid
143     FROM ".DB_PREFIXE."document_numerise
144     WHERE document_numerise = '".$document_numerise."'";
145     $uid = $this->digitalizedDocument->f->db->getOne($sql);
146     $this->digitalizedDocument->f->isDatabaseError($uid);
147    
148     //
149     return $uid;
150    
151     }
152    
153     /**
154     * Test la fonction listFiles
155     */
156     public function testListFiles() {
157    
158     //Nom possible de dossier
159     $path = "../var/digitalization/Todo/PC0130551200001.P0";
160     $path_no_p0 = "../var/digitalization/Todo/PA0130551200001";
161    
162     //Retour de la fonction listFiles
163     $listFiles = $this->digitalizedDocument->listFiles($path);
164     $listFiles_no_p0 = $this->digitalizedDocument->listFiles($path_no_p0);
165     //On vérifie les documents retourné
166     $this->assertContains("20091106AUTPCP-1.pdf", $listFiles);
167     $this->assertContains("20091106AUTPCP.pdf", $listFiles);
168     // Même chose pour les dossiers sans P0
169     $this->assertContains("20091106AUTPCP-1.pdf", $listFiles_no_p0);
170     $this->assertContains("20091106AUTPCP.pdf", $listFiles_no_p0);
171    
172     //Nom de dossier vide
173     $path = "../var/digitalization/Todo/PC0130551200002.P0";
174     $path_no_p0 = "../var/digitalization/Todo/DP0130551200001";
175     //Retour de la fontion listFiles
176     $listFiles = $this->digitalizedDocument->listFiles($path);
177     $listFiles_no_p0 = $this->digitalizedDocument->listFiles($path_no_p0);
178     //On vérifie que le tableau retourné est vide
179     $this->assertEquals($listFiles, null);
180     $this->assertEquals($listFiles_no_p0, null);
181    
182     }
183    
184     /*
185     * Test la fonction extractMetadataFromFilename
186     */
187     public function testExtractMetadataFromFilename() {
188    
189     //Nom possible de document
190     $filename = "20091106AUTPCP.pdf";
191     //Retour de la fonction extractMetadataFromFilename
192     $extractMetadataFromFilename = $this->digitalizedDocument->extractMetadataFromFilename($filename);
193     //On vérifie les données retournées
194     $this->assertEquals($extractMetadataFromFilename["title"], "AUTPCP");
195     $this->assertEquals($extractMetadataFromFilename["dateEvenementDocument"], "06/11/2009");
196    
197     //Nom possible de document avec version
198     $filename = "20130420ART-1.pdf";
199     //Retour de la fonction extractMetadataFromFilename
200     $extractMetadataFromFilename = $this->digitalizedDocument->extractMetadataFromFilename($filename);
201     //On vérifie les données retournées
202     $this->assertEquals($extractMetadataFromFilename["title"], "ART");
203     $this->assertEquals($extractMetadataFromFilename["dateEvenementDocument"], "20/04/2013");
204    
205     //Nom erroné de document
206     $filename = "20591212.pdf";
207     //Retour de la fonction extractMetadataFromFilename
208     $extractMetadataFromFilename = $this->digitalizedDocument->extractMetadataFromFilename($filename);
209     //On vérifie que le tableau retourné est vide
210     $this->assertEquals($extractMetadataFromFilename, null);
211    
212     }
213    
214     /**
215     * Test la fonction extractMetadataToFilestorage
216     */
217     public function testExtractMetadataToFilestorage() {
218    
219     //Nom possible de dossier
220     $path = "../var/digitalization/Todo/PC0130551200001.P0";
221     $path_no_p0 = "../var/digitalization/Todo/PA0130551200001";
222     //Nom possible de document
223     $filename = "20091106AUTPCP.pdf";
224     //Retour de la fonction extractMetadataToFilestorage
225     $extractMetadataToFilestorage = $this->digitalizedDocument->extractMetadataToFilestorage($path, $filename);
226     $extractMetadataToFilestorage_no_p0 = $this->digitalizedDocument->extractMetadataToFilestorage($path_no_p0, $filename);
227     //On vérifie les données retournées
228     $this->assertEquals($extractMetadataToFilestorage['filename'], '20091106AUTPCP.pdf');
229     $this->assertEquals($extractMetadataToFilestorage['size'], '17435');
230     $this->assertEquals($extractMetadataToFilestorage['mimetype'], 'application/pdf');
231     // Pour le dossier sans P0
232     $this->assertEquals($extractMetadataToFilestorage_no_p0['filename'], '20091106AUTPCP.pdf');
233     $this->assertEquals($extractMetadataToFilestorage_no_p0['size'], '17435');
234     $this->assertEquals($extractMetadataToFilestorage_no_p0['mimetype'], 'application/pdf');
235     //Chemin document erroné
236     $path = "";
237     $path_no_p0 = "";
238     //Nom possible de document
239     $filename = "20091106AUTPCP.pdf";
240     //Retour de la fonction extractMetadataToFilestorage
241     $extractMetadataToFilestorage = $this->digitalizedDocument->extractMetadataToFilestorage($path, $filename);
242     $extractMetadataToFilestorage_no_p0 = $this->digitalizedDocument->extractMetadataToFilestorage($path_no_p0, $filename);
243     //On vérifie que le retour est null
244     $this->assertEquals($extractMetadataToFilestorage, null);
245     $this->assertEquals($extractMetadataToFilestorage_no_p0, null);
246    
247     }
248    
249     /**
250     * Test la fonction createFileTemporary
251     */
252     public function testCreateFileTemporary() {
253    
254     // XXX hack temporaire : la commande suivante permet de ne pas avoir d'erreurs de
255     // permissions système dues à l'enchaînement des tests *testREST.php* et
256     // *testDigitalizedDocument.php*
257     exec("sudo chmod 777 -R ../var > /dev/null 2>&1");
258    
259     //Nom possible d'un répertoire
260     $foldername = "PC0130551200001.P0";
261     $foldername_no_p0 = "PA0130551200001";
262     //Nom possible de dossier
263     $path = "../var/digitalization/Todo/PC0130551200001.P0";
264     $path_no_p0 = "../var/digitalization/Todo/PA0130551200001";
265     //Nom possible de document
266     $filename = "20091106AUTPCP.pdf";
267     //Construit les métadonnées
268     $metadata = array();
269     //Données récupérées pour le filestorage
270     $metadata = $this->digitalizedDocument->extractMetadataToFilestorage($path, $filename);
271     $metadata_no_p0 = $this->digitalizedDocument->extractMetadataToFilestorage($path_no_p0, $filename);
272     //Recupère le contenu du fichier
273     $file_content = file_get_contents($path.'/'.$filename);
274     $file_content_no_p0 = file_get_contents($path.'/'.$filename);
275    
276     //Retour de la fonction createFile
277     $createFile = $this->digitalizedDocument->createFileTemporary($file_content, $metadata);
278     $createFile_no_p0 = $this->digitalizedDocument->createFileTemporary($file_content_no_p0, $metadata_no_p0);
279     //On vérifie que l'action s'est bien déroulée
280     $file_exists_filestorage = $this->digitalizedDocument->filestorage->get_temporary($createFile);
281     $file_exists_filestorage_no_p0 = $this->digitalizedDocument->filestorage->get_temporary($createFile_no_p0);
282     $this->assertTrue($file_exists_filestorage != null);
283     $this->assertTrue($file_exists_filestorage_no_p0 != null);
284    
285     }
286    
287     /**
288     * Test la fonction createDocumentNumerise
289     */
290     public function testCreateDocumentNumerise() {
291    
292     //Nom possible d'un répertoire
293     $foldername = "PC0130551200001.P0";
294     $foldername_no_p0 = "PA0130551200001";
295     //Identifiant du dossier
296     $dossier = "PC0130551200001P0";
297     $dossier_no_p0 = "PA0130551200001";
298     //Nom possible de dossier
299     $path = "../var/digitalization/Todo/PC0130551200001.P0";
300     $path_no_p0 = "../var/digitalization/Todo/PA0130551200001";
301     //Nom du document
302     $filename = "20091106AUTPCP.pdf";
303     //Création du fichier
304     $newfile = "20091106RIPC05.pdf";
305     copy($path.'/'.$filename, $path.'/'.$newfile);
306     copy($path_no_p0.'/'.$filename, $path_no_p0.'/'.$newfile);
307     //Instance document_numerise
308     require_once "../obj/document_numerise.class.php";
309     $document_numerise = new document_numerise("]", $this->digitalizedDocument->f->db, NULL);
310    
311     //Construit les métadonnées
312     $metadata = array();
313     $metadata_no_p0 = array();
314     //Données récupérées pour le filestorage
315     $metadata = $this->digitalizedDocument->extractMetadataToFilestorage($path, $newfile);
316     $metadata_no_p0 = $this->digitalizedDocument->extractMetadataToFilestorage($path_no_p0, $newfile);
317    
318     //Recupère le contenu du fichier
319     $file_content = file_get_contents($path.'/'.$newfile);
320     $file_content_no_p0 = file_get_contents($path_no_p0.'/'.$newfile);
321    
322     //Créer le fichier temporaire
323     $uid = $this->digitalizedDocument->createFileTemporary($file_content, $metadata);
324     $uid_no_p0 = $this->digitalizedDocument->createFileTemporary($file_content_no_p0, $metadata_no_p0);
325    
326     //Retour de la fonction createFileStorage
327     $createDocumentNumerise = $this->digitalizedDocument->createDocumentNumerise($document_numerise, $uid, $dossier, $newfile, $this->digitalizedDocument->f->db, NULL);
328     $createDocumentNumerise_no_p0 = $this->digitalizedDocument->createDocumentNumerise($document_numerise, $uid_no_p0, $dossier_no_p0, $newfile, $this->digitalizedDocument->f->db, NULL);
329    
330     //Supprime le fichier laissé dans le dossier Todo
331     unlink($path.'/'.$newfile);
332     unlink($path_no_p0.'/'.$newfile);
333    
334     //On vérifie que le fichier a bien été créé dans le filestorage
335     $uid = $this->get_uid_by_id($createDocumentNumerise);
336     $uid_no_p0 = $this->get_uid_by_id($createDocumentNumerise_no_p0);
337    
338     $file_exists_filestorage = $this->digitalizedDocument->filestorage->get($uid);
339     $file_exists_filestorage_no_p0 = $this->digitalizedDocument->filestorage->get($uid_no_p0);
340    
341     $this->assertTrue($file_exists_filestorage != null);
342     $this->assertTrue($file_exists_filestorage_no_p0 != null);
343    
344     //Uid pas présent dans la bdd
345     $uid = uniqid();
346     $uid_no_p0 = uniqid();
347     //On vérifie que false est bien retourné
348     $this->assertEquals($this->checkLinkFile($uid), false);
349     $this->assertEquals($this->checkLinkFile($uid_no_p0), false);
350    
351     }
352    
353     /**
354     * Test la fonction moveDocumentNumerise
355     */
356     public function testMoveDocumentNumerise() {
357    
358     //Dossier source
359     $pathSrc = "../var/digitalization/Todo/PC0130551200001.P0";
360     $pathSrc_no_p0 = "../var/digitalization/Todo/PA0130551200001";
361     //Dossier de destination
362     $pathDes = "../var/digitalization/Done/PC0130551200001.P0";
363     $pathDes_no_p0 = "../var/digitalization/Done/PA0130551200001";
364     //Nom du fichier
365     $filename = "20091106AUTPCP.pdf";
366     //Retour de la fonction moveDocumentNumerise
367     $moveFile = $this->digitalizedDocument->moveDocumentNumerise($pathSrc, $pathDes, $filename);
368     $moveFile_no_p0 = $this->digitalizedDocument->moveDocumentNumerise($pathSrc_no_p0, $pathDes_no_p0, $filename);
369     //On vérifie que l'action s'est bien déroulée
370     //Le document doit être présent dans la destination
371     $file_exists_destination = file_exists($pathDes.'/'.$filename);
372     $file_exists_destination_no_p0 = file_exists($pathDes_no_p0.'/'.$filename);
373     $this->assertEquals($file_exists_destination, true);
374     $this->assertEquals($file_exists_destination_no_p0, true);
375     //Le document ne doit plus être présent dans la source
376     $file_exists_source = file_exists($pathSrc.'/'.$filename);
377     $file_exists_source_no_p0 = file_exists($pathSrc_no_p0.'/'.$filename);
378     $this->assertEquals($file_exists_source, false);
379     $this->assertEquals($file_exists_source_no_p0, false);
380    
381     //Remet le fichier dans todo pour les autres tests
382     rename($pathDes.'/'.$filename, $pathSrc.'/'.$filename);
383     rename($pathDes_no_p0.'/'.$filename, $pathSrc_no_p0.'/'.$filename);
384    
385     }
386    
387     /**
388     * Test la fonction purgeFiles
389     */
390     public function testPurgeFiles() {
391    
392     //Dossier source
393     $pathSrc = "../var/digitalization/Todo/PC0130551200001.P0";
394     $pathSrc_no_p0 = "../var/digitalization/Todo/PA0130551200001";
395     //Dossier de destination
396     $pathDes = "../var/digitalization/Done/PC0130551200001.P0";
397     $pathDes_no_p0 = "../var/digitalization/Done/PA0130551200001";
398     //Création dossier
399     if (!file_exists($pathDes)) {
400     mkdir("../var/digitalization/Done/PC0130551200001.P0");
401     }
402     if (!file_exists($pathDes_no_p0)) {
403     mkdir("../var/digitalization/Done/PA0130551200001");
404     }
405     //Nom du fichier
406     $filename = "20091106AUTPCP.pdf";
407     //Met le fichier dans Done
408     copy($pathSrc.'/'.$filename, $pathDes.'/'.$filename);
409     copy($pathSrc_no_p0.'/'.$filename, $pathDes_no_p0.'/'.$filename);
410    
411     //fichier
412     $file = $pathDes.'/'.$filename;
413     $file_no_p0 = $pathDes_no_p0.'/'.$filename;
414     //Date de l'import du document
415     $dateImport = "2012-01-01";
416     //Nombre jour
417     $nbDay = 60;
418     //Retour de la fonction purge
419     $purgeFiles = $this->digitalizedDocument->purgeFiles($file, $dateImport, $nbDay);
420     //On vérifie que l'action s'est bien déroulée
421     $this->assertEquals($purgeFiles, true);
422    
423     //Création du fichier
424     $newfile = "20091106RIPC05.pdf";
425     copy($pathSrc.'/'.$filename, $pathDes.'/'.$newfile);
426     copy($pathSrc_no_p0.'/'.$filename, $pathDes_no_p0.'/'.$newfile);
427     //fichier
428     $file = $pathDes.'/'.$newfile;
429     $file_no_p0 = $pathDes_no_p0.'/'.$newfile;
430     //Retour de la fonction purge sans les paramètres de date
431     $purgeFiles = $this->digitalizedDocument->purgeFiles($file);
432     $purgeFiles_no_p0 = $this->digitalizedDocument->purgeFiles($file_no_p0);
433     //On vérifie que l'action s'est bien déroulée
434     $this->assertEquals($purgeFiles, true);
435     $this->assertEquals($purgeFiles_no_p0, true);
436    
437     //Création du fichier
438     $newfile = "20091106DGPC03.pdf";
439     copy($pathSrc.'/'.$filename, $pathDes.'/'.$newfile);
440     copy($pathSrc_no_p0.'/'.$filename, $pathDes_no_p0.'/'.$newfile);
441    
442     //fichier
443     $file = $pathDes.'/'.$newfile;
444     $file_no_p0 = $pathDes_no_p0.'/'.$newfile;
445     //Date de l'import du document
446     $dateImport = date('d-m-Y');
447     //Nombre jour
448     $nbDay = 60;
449     //Retour de la fonction purge
450     $purgeFiles = $this->digitalizedDocument->purgeFiles($file, $dateImport, $nbDay);
451     $purgeFiles_no_p0 = $this->digitalizedDocument->purgeFiles($file_no_p0, $dateImport, $nbDay);
452    
453     //On vérifie que l'action s'est bien déroulée
454     $this->assertEquals($purgeFiles, false);
455     $this->assertEquals($purgeFiles_no_p0, false);
456    
457     //Supprime le fichier laissé dans le dossier Done
458     unlink($pathDes.'/'.$newfile);
459     unlink($pathDes_no_p0.'/'.$newfile);
460    
461     }
462    
463     /**
464     * Test la fonction run_import
465     */
466     public function test_run_import() {
467    
468     //Nom de dossier
469     $pathSrc = "../var/digitalization/Todo/PC0130551200001.P0";
470     $pathSrc_no_p0 = "../var/digitalization/Todo/PA0130551200001";
471     //Nom dossier destination
472     $pathDes = "../var/digitalization/Done/PC0130551200001.P0";
473     $pathDes_no_p0 = "../var/digitalization/Done/PA0130551200001";
474     //Renomme le fichier pdf
475     $path = "../var/digitalization/Todo/PC0130551200001.P0";
476     $listFiles = $this->digitalizedDocument->listFiles($pathSrc);
477     $listFiles_no_p0 = $this->digitalizedDocument->listFiles($pathSrc_no_p0);
478     //On vérifie les documents retourné
479     rename($pathSrc.'/'."20091106AUTPCP.pdf", $pathSrc.'/'."20091106NDL.pdf");
480     rename($pathSrc.'/'."20091106AUTPCP-1.pdf", $pathSrc.'/'."20091106NDL-1.pdf");
481     rename($pathSrc_no_p0.'/'."20091106AUTPCP.pdf", $pathSrc_no_p0.'/'."20091106NDL.pdf");
482     rename($pathSrc_no_p0.'/'."20091106AUTPCP-1.pdf", $pathSrc_no_p0.'/'."20091106NDL-1.pdf");
483    
484     //Retour de la fonction run_import
485     $run_import = $this->digitalizedDocument->run_import($pathSrc, $pathDes);
486     $run_import_no_p0 = $this->digitalizedDocument->run_import($pathSrc_no_p0, $pathDes_no_p0);
487     //On vérifie que l'action s'est bien déroulée
488     $this->assertEquals($run_import, true);
489     $this->assertEquals($run_import_no_p0, true);
490     $this->assertEquals(count($this->digitalizedDocument->filenameError), 0);
491    
492     //Replace les fichiers dans le fichier source
493     copy($pathDes.'/'."20091106NDL.pdf", $pathSrc.'/'."20091106AUTPCP.pdf");
494     copy($pathDes.'/'."20091106NDL-1.pdf", $pathSrc.'/'."20091106AUTPCP-1.pdf");
495     copy($pathDes_no_p0.'/'."20091106NDL.pdf", $pathSrc_no_p0.'/'."20091106AUTPCP.pdf");
496     copy($pathDes_no_p0.'/'."20091106NDL-1.pdf", $pathSrc_no_p0.'/'."20091106AUTPCP-1.pdf");
497     }
498    
499     /**
500     * Test la fonction run_purge
501     */
502     public function test_run_purge() {
503     copy('binary_files/20091106AUTPCP.pdf', '../var/digitalization/Todo/PC0130551200001.P0/20091106AUTPCP.pdf');
504     copy('binary_files/20091106AUTPCP-1.pdf', '../var/digitalization/Todo/PC0130551200001.P0/20091106AUTPCP-1.pdf');
505     copy('binary_files/20091106AUTPCP.pdf', '../var/digitalization/Todo/PA0130551200001/20091106AUTPCP.pdf');
506     copy('binary_files/20091106AUTPCP-1.pdf', '../var/digitalization/Todo/PA0130551200001/20091106AUTPCP-1.pdf');
507     //Dossier source
508     $pathSrc = "../var/digitalization/Todo/PC0130551200001.P0";
509     $pathSrc_no_p0 = "../var/digitalization/Todo/PA0130551200001";
510     //Dossier de destination
511     $pathDes = "../var/digitalization/Done/PC0130551200001.P0";
512     $pathDes_no_p0 = "../var/digitalization/Done/PA0130551200001";
513     //Création dossier
514     if (!file_exists($pathDes)) {
515     mkdir("../var/digitalization/Done/PC0130551200001.P0");
516     }
517     if (!file_exists($pathDes_no_p0)) {
518     mkdir("../var/digitalization/Done/PA0130551200001");
519     }
520     //Nom du fichier
521     $filename = "20091106AUTPCP.pdf";
522     //Met le fichier 20091106AUTPCP dans Done
523     copy($pathSrc.'/'.$filename, $pathDes.'/'.$filename);
524     copy($pathSrc_no_p0.'/'.$filename, $pathDes_no_p0.'/'.$filename);
525     //Création du fichier 20091106RIPC05
526     $newfile = "20091106RIPC05.pdf";
527     copy($pathSrc.'/'.$filename, $pathDes.'/'.$newfile);
528     copy($pathSrc_no_p0.'/'.$filename, $pathDes_no_p0.'/'.$newfile);
529     //Création du fichier 20091106DGPC03
530     $newfile = "20091106DGPC03.pdf";
531     copy($pathSrc.'/'.$filename, $pathDes.'/'.$newfile);
532     copy($pathSrc_no_p0.'/'.$filename, $pathDes_no_p0.'/'.$newfile);
533    
534     //Retour de la fonction run_purge sans date
535     $run_purge = $this->digitalizedDocument->run_purge($pathDes);
536     $run_purge_no_p0 = $this->digitalizedDocument->run_purge($pathDes_no_p0);
537    
538     //On vérifie que l'action s'est bien déroulée
539     $this->assertEquals($run_purge, true);
540     $this->assertEquals($run_purge_no_p0, true);
541     }
542     }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26