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

Annotation of /trunk/tests/testDigitalizedDocument_common.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 13528 - (hide annotations)
Thu Dec 15 22:46:03 2022 UTC (2 years, 1 month ago) by softime
File size: 29278 byte(s)
chore(branch): fusion de la branche d'intégration 5.15.0-develop dans le trunk

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26