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

Annotation of /trunk/tests/testDigitalizedDocument.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1835 - (hide annotations)
Mon May 6 11:06:54 2013 UTC (11 years, 9 months ago) by softime
File size: 17427 byte(s)
Modification des tests sur la class digitalizedDocument + déplacement class digitalizedDocument dans le dossier obj/ + Ajout des jeux de test pour la class digitalizedDocument


1 softime 1830 <?php
2     /**
3     * Ce fichier regroupe les tests unitaire sur la classe DigitalizedDocument
4     *
5     * @package openads
6     * @version SVN : $Id$
7     */
8    
9 softime 1835 require_once('../obj/digitalizedDocument.class.php');
10 softime 1830
11     /**
12     * Cette classe permet de faire des tests unitaires sur la classe DigitalizedDocument
13     *
14     * La constante DEBUG doit être définis sur DEGUG_MODE ou PRODUCTION_MODE
15     *
16     * Lors de l'envoi de la commande ajouter --stderr
17     */
18     class DigitalizedDocumentTest extends PHPUnit_Framework_TestCase {
19    
20     protected static $digitalizedDocument = NULL;
21    
22     /**
23     * Fonction lancée en debut de classe
24     */
25     public static function setUpBeforeClass() {
26 softime 1835 parent::setUpBeforeClass();
27 softime 1830 //On instancie la classe DigitalizedDocument
28     self::$digitalizedDocument = new DigitalizedDocument();
29     $_SERVER['REQUEST_URI'] = "";
30     }
31    
32     /**
33     * Fonction lancée en fin de classe
34     */
35     public static function tearDownAfterClass() {
36 softime 1835 parent::tearDownAfterClass();
37 softime 1830 //On détruit l'instance de la classe DigitalizedDocument
38     self::$digitalizedDocument->__destruct();
39     }
40    
41     /*
42     * Test la fonction analyseFolder
43     */
44     public function testAnalyseFolder() {
45    
46     //Nom possible d'un répertoire
47     $foldername = "PC0130551200001.P0";
48     //Retour de la fonction analyseFolder
49     $analyseFolder = self::$digitalizedDocument->analyseFolder($foldername);
50     //On vérifie les données retournée dans l'objet
51     $this->assertEquals($analyseFolder->dossier, 'PC0130551200001P0');
52    
53     //Nom erroné d'un repertoire
54     $foldername = "AAA014121A.AZ7";
55     //Retour de la fonction analyseFolder
56     $analyseFolder = self::$digitalizedDocument->analyseFolder($foldername);
57     //On vérifie que le retour est un objet vide
58     $this->assertEquals($analyseFolder, null);
59     }
60    
61     /**
62     * Test la fonction listFiles
63     */
64     public function testListFiles() {
65    
66     //Nom possible de dossier
67 softime 1835 $path = "binaire/binaire/test_digitalizedDocument/Transfert GED/Todo/PC0130551200001.P0";
68 softime 1830 //Retour de la fonction listFiles
69     $listFiles = self::$digitalizedDocument->listFiles($path);
70     //On vérifie les documents retourné
71     $this->assertEquals($listFiles[0], "20091106AUTPCP.pdf");
72    
73     //Nom de dossier vide
74 softime 1835 $path = "binaire/binaire/test_digitalizedDocument/Transfert GED/Todo/PC0130551200002.P0";
75 softime 1830 //Retour de la fontion listFiles
76     $listFiles = self::$digitalizedDocument->listFiles($path);
77     //On vérifie que le tableau retourné est vide
78     $this->assertEquals($listFiles, null);
79     }
80    
81     /*
82     * Test la fonction extractMetadataFromFilename
83     */
84     public function testExtractMetadataFromFilename() {
85    
86     //Nom possible de document
87     $filename = "20091106AUTPCP.pdf";
88     //Retour de la fonction extractMetadataFromFilename
89     $extractMetadataFromFilename = self::$digitalizedDocument->extractMetadataFromFilename($filename);
90     //On vérifie les données retournées
91 softime 1835 $this->assertEquals($extractMetadataFromFilename["type_doc"], "AUTPCP");
92     $this->assertEquals($extractMetadataFromFilename["date_evenement"], "06/11/2009");
93 softime 1830
94     //Nom possible de document avec version
95     $filename = "20130420ART-1.pdf";
96     //Retour de la fonction extractMetadataFromFilename
97     $extractMetadataFromFilename = self::$digitalizedDocument->extractMetadataFromFilename($filename);
98     //On vérifie les données retournées
99 softime 1835 $this->assertEquals($extractMetadataFromFilename["type_doc"], "ART");
100     $this->assertEquals($extractMetadataFromFilename["date_evenement"], "20/04/2013");
101 softime 1830
102     //Nom erroné de document
103     $filename = "20591212.pdf";
104     //Retour de la fonction extractMetadataFromFilename
105     $extractMetadataFromFilename = self::$digitalizedDocument->extractMetadataFromFilename($filename);
106     //On vérifie que le tableau retourné est vide
107     $this->assertEquals($extractMetadataFromFilename, null);
108    
109     }
110    
111     /**
112     * Test la fonction extractMetadataFromApp
113     */
114     public function testExtractMetadataFromApp() {
115    
116     //Code possible de type de document
117     $code = 'AUTPCP';
118     //Retour de la fonction extractMetadataFromApp
119     $extractMetadataFromApp = self::$digitalizedDocument->extractMetadataFromApp($code);
120     //On vérifie les données retournée dans l'objet
121     $this->assertEquals($extractMetadataFromApp, 'autres pièces composant le dossier (A3/A4)');
122    
123     //Code erroné de type de document
124     $code = 'ZZPOP';
125     //Retour de la fonction extractMetadataFromApp
126     $extractMetadataFromApp = self::$digitalizedDocument->extractMetadataFromApp($code);
127     //On vérifie que le retour est null
128     $this->assertEquals($extractMetadataFromApp, null);
129    
130     }
131    
132     /**
133     * Test la fonction extractMetadataToFilestorage
134     */
135     public function testExtractMetadataToFilestorage() {
136    
137     //Nom possible de dossier
138 softime 1835 $path = "binaire/binaire/test_digitalizedDocument/Transfert GED/Todo/PC0130551200001.P0";
139 softime 1830 //Nom possible de document
140     $filename = "20091106AUTPCP.pdf";
141     //Retour de la fonction extractMetadataToFilestorage
142     $extractMetadataToFilestorage = self::$digitalizedDocument->extractMetadataToFilestorage($path, $filename);
143     //On vérifie les données retournées
144     $this->assertEquals($extractMetadataToFilestorage['filename'], '20091106AUTPCP.pdf');
145 softime 1835 $this->assertEquals($extractMetadataToFilestorage['size'], '17435');
146     $this->assertEquals($extractMetadataToFilestorage['mimetype'], 'application/pdf');
147 softime 1830
148     //Chemin document erroné
149     $path = "";
150     //Nom possible de document
151     $filename = "20091106AUTPCP.pdf";
152     //Retour de la fonction extractMetadataToFilestorage
153     $extractMetadataToFilestorage = self::$digitalizedDocument->extractMetadataToFilestorage($path, $filename);
154 softime 1835 //On vérifie que le retour est null
155 softime 1830 $this->assertEquals($extractMetadataToFilestorage, null);
156    
157     }
158    
159     /**
160     * Test de la fonction setMetadata
161     */
162     public function testSetMetadata() {
163    
164     //Nom possible d'un répertoire
165     $foldername = "PC0130551200001.P0";
166     //Nom possible de dossier
167 softime 1835 $path = "binaire/binaire/test_digitalizedDocument/Transfert GED/Todo/PC0130551200001.P0";
168 softime 1830 //Nom possible de document avec version
169     $filename = "20091106AUTPCP.pdf";
170     //Retour de la fonction analyseFolder
171     $dossier_instruction = self::$digitalizedDocument->analyseFolder($foldername);
172     //Retour de la fonction setMetadata
173     $setMetadata = self::$digitalizedDocument->setMetadata($dossier_instruction, $path, $filename);
174     //On vérifie les données retournées
175 softime 1835 $this->assertEquals($setMetadata["dossier"], "PC0130551200001P0");
176     $this->assertEquals($setMetadata["dossier_autorisation"], "PC0130551200001");
177     $this->assertEquals($setMetadata["date_demande_initiale"], "2012/12");
178     $this->assertEquals($setMetadata["dossier_instruction_type"], "P");
179     $this->assertEquals($setMetadata["statut"], "En cours");
180     $this->assertEquals($setMetadata["dossier_autorisation_type"], "PC");
181     $this->assertEquals($setMetadata["groupe"], "ADS");
182     $this->assertEquals($setMetadata["code_produit"], "OpenADS");
183 softime 1830 $this->assertEquals($setMetadata["type_doc"], "autres pièces composant le dossier (A3/A4)");
184 softime 1835 $this->assertEquals($setMetadata["date_evenement"], "06/11/2009");
185     $this->assertEquals($setMetadata["filename"], "20091106AUTPCP.pdf");
186     $this->assertEquals($setMetadata["size"], "17435");
187     $this->assertEquals($setMetadata["mimetype"], "application/pdf");
188 softime 1830
189     //Nom possible d'un répertoire
190     $foldername = "PC0130551200001.P0";
191     //Nom possible de dossier
192 softime 1835 $path = "binaire/binaire/test_digitalizedDocument/Transfert GED/Todo/PC0130551200001.P0";
193     //Nom possible de document
194 softime 1830 $filename = "20091106AUTPCP.pdf";
195     //dossier_instruction erroné
196     $dossier_instruction = "";
197     //Retour de la fonction setMetadata
198     $setMetadata = self::$digitalizedDocument->setMetadata($dossier_instruction, $path, $filename);
199 softime 1835 //On vérifie que le résultat retourné est null
200 softime 1830 $this->assertEquals($setMetadata, null);
201    
202     }
203    
204     /**
205     * Test la fonction createFile
206     */
207     public function testCreateFile() {
208    
209     //Nom possible d'un répertoire
210     $foldername = "PC0130551200001.P0";
211     //Nom possible de dossier
212 softime 1835 $path = "binaire/binaire/test_digitalizedDocument/Transfert GED/Todo/PC0130551200001.P0";
213     //Nom possible de document
214 softime 1830 $filename = "20091106AUTPCP.pdf";
215     //Retour de la fonction analyseFolder
216     $dossier_instruction = self::$digitalizedDocument->analyseFolder($foldername);
217     //Contenu du fichier
218     $file_content = file_get_contents($path.'/'.$filename);
219     //Metadonnées du document
220     $metadata = self::$digitalizedDocument->setMetadata($dossier_instruction, $path, $filename);
221    
222     //instance de filestorage à null
223     self::$digitalizedDocument->filestorage = NULL;
224    
225     //Retour de la fonction createFile
226     $createFile = self::$digitalizedDocument->createFile($file_content, $metadata);
227 softime 1835 //On vérifie que creteFile retourne null
228 softime 1830 $this->assertEquals($createFile, null);
229    
230     //Remet instance de filestorage
231     self::$digitalizedDocument->filestorage = self::$digitalizedDocument->f->storage;
232    
233     //Retour de la fonction createFile
234     $createFile = self::$digitalizedDocument->createFile($file_content, $metadata);
235     //On vérifie que l'action s'est bien déroulée
236     $this->assertTrue($createFile != null);
237    
238     }
239    
240     /*
241     * Test la fonction deleteFile
242     */
243     public function testDeleteFile() {
244    
245     //Création d'un fichier dans le filestorage
246     //Nom possible d'un répertoire
247     $foldername = "PC0130551200001.P0";
248     //Nom possible de dossier
249 softime 1835 $path = "binaire/binaire/test_digitalizedDocument/Transfert GED/Todo/PC0130551200001.P0";
250 softime 1830 //Nom possible de document avec version
251     $filename = "20091106AUTPCP.pdf";
252     //Retour de la fonction analyseFolder
253     $dossier_instruction = self::$digitalizedDocument->analyseFolder($foldername);
254     //Contenu du fichier
255     $file_content = file_get_contents($path.'/'.$filename);
256     //Metadonnées du document
257     $metadata = self::$digitalizedDocument->setMetadata($dossier_instruction, $path, $filename);
258     //Retour de la fonction createFile
259     $uid = self::$digitalizedDocument->createFile($file_content, $metadata);
260    
261     //instance de filestorage à null
262     self::$digitalizedDocument->filestorage = NULL;
263    
264     //Retour de la fonction deleteFile
265     $deleteFile = self::$digitalizedDocument->deleteFile($uid);
266 softime 1835 //On vérifie que deleteFile retourne null
267 softime 1830 $this->assertEquals($deleteFile, null);
268    
269     //Remet instance de filestorage
270     self::$digitalizedDocument->filestorage = self::$digitalizedDocument->f->storage;
271    
272     //Retour de la fonction deleteFile
273     $deleteFile = self::$digitalizedDocument->deleteFile($uid);
274     //On vérifie que l'action s'est bien déroulée
275     $this->assertTrue($deleteFile != null);
276    
277     }
278    
279     /**
280     * Test la fonction linkFile
281     */
282     public function testLinkFile() {
283    
284     //Uid d'un fichier
285     $uid = uniqid();
286     //Clé primaire du dossier d'instruction
287     $id_instruction = "PC0130551200001P0";
288     //Retour de la fonction linkFile
289     self::$digitalizedDocument->linkFile($uid, $id_instruction, self::$digitalizedDocument->f->db, NULL);
290     //On vérifie que l'action s'est bien déroulée
291     $this->assertEquals(self::$digitalizedDocument->checkLinkFile($uid), true);
292    
293     //Uid pas présent dans la bdd
294     $uid = uniqid();
295 softime 1835 //On vérifie que false est bien retourné
296 softime 1830 $this->assertEquals(self::$digitalizedDocument->checkLinkFile($uid), false);
297    
298     }
299    
300     /**
301     * Test la fonction moveFile
302     */
303     public function testMoveFile() {
304    
305     //Dossier source
306 softime 1835 $pathSrc = "binaire/binaire/test_digitalizedDocument/Transfert GED/Todo/PC0130551200001.P0";
307 softime 1830 //Dossier de destination
308 softime 1835 $pathDes = "binaire/binaire/test_digitalizedDocument/Transfert GED/Done/PC0130551200001.P0";
309 softime 1830 //Nom du fichier
310     $filename = "20091106AUTPCP.pdf";
311     //Rertour de la fonction moveFile
312     $moveFile = self::$digitalizedDocument->moveFile($pathSrc, $pathDes, $filename);
313     //On vérifie que l'action s'est bien déroulée
314     $this->assertTrue($moveFile != null);
315    
316     //Remet le fichier dans todo pour les autres tests
317 softime 1835 rename($pathDes.'/'.$filename, $pathSrc.'/'.$filename);
318 softime 1830
319     }
320    
321     /**
322     * Test la fonction purgeFiles
323     */
324     public function testPurgeFiles() {
325    
326     //Dossier source
327 softime 1835 $pathSrc = "binaire/binaire/test_digitalizedDocument/Transfert GED/Todo/PC0130551200001.P0";
328 softime 1830 //Dossier de destination
329 softime 1835 $pathDes = "binaire/binaire/test_digitalizedDocument/Transfert GED/Done/PC0130551200001.P0";
330 softime 1830 //Création dossier
331     if (!file_exists($pathDes)) {
332 softime 1835 mkdir("binaire/binaire/test_digitalizedDocument/Transfert GED/Done/PC0130551200001.P0");
333 softime 1830 }
334     //Nom du fichier
335     $filename = "20091106AUTPCP.pdf";
336     //Met le fichier dans Done
337 softime 1835 copy($pathSrc.'/'.$filename, $pathDes.'/'.$filename);
338 softime 1830
339     //fichier
340     $file = $pathDes.'/'.$filename;
341     //Date de l'import du document
342     $dateImport = "2012-01-01";
343     //Nombre jour
344     $nbDay = 60;
345     //Retour de la fonction purge
346     $purgeFiles = self::$digitalizedDocument->purgeFiles($file, $dateImport, $nbDay);
347     //On vérifie que l'action s'est bien déroulée
348     $this->assertEquals($purgeFiles, true);
349    
350     //Création du fichier
351     $newfile = "20091106RIPC05.pdf";
352 softime 1835 copy($pathSrc.'/'.$filename, $pathDes.'/'.$newfile);
353 softime 1830 //fichier
354     $file = $pathDes.'/'.$newfile;
355     //Retour de la fonction purge sans les paramètres de date
356     $purgeFiles = self::$digitalizedDocument->purgeFiles($file);
357     //On vérifie que l'action s'est bien déroulée
358     $this->assertEquals($purgeFiles, true);
359    
360     //Création du fichier
361     $newfile = "20091106DGPC03.pdf";
362 softime 1835 copy($pathSrc.'/'.$filename, $pathDes.'/'.$newfile);
363 softime 1830 //fichier
364     $file = $pathDes.'/'.$newfile;
365     //Date de l'import du document
366     $dateImport = date('d-m-Y');
367     //Nombre jour
368     $nbDay = 60;
369     //Retour de la fonction purge
370     $purgeFiles = self::$digitalizedDocument->purgeFiles($file, $dateImport, $nbDay);
371     //On vérifie que l'action s'est bien déroulée
372     $this->assertEquals($purgeFiles, false);
373    
374     //Supprime le fichier laissé dans le dossier Done
375 softime 1835 unlink($pathDes.'/'.$newfile);
376 softime 1830
377     }
378    
379     /**
380     * Test la fonction run_import
381     */
382     public function test_run_import() {
383    
384     //Nom de dossier
385 softime 1835 $pathSrc = "binaire/binaire/test_digitalizedDocument/Transfert GED/Todo/PC0130551200001.P0";
386 softime 1830 //Nom dossier destination
387 softime 1835 $pathDes = "binaire/binaire/test_digitalizedDocument/Transfert GED/Done/PC0130551200001.P0";
388 softime 1830 //Déclarations paramètre
389     $db = self::$digitalizedDocument->f->db;
390     $DEBUG = NULL;
391     //Retour de la fonction run_import
392     $run_import = self::$digitalizedDocument->run_import($pathSrc, $pathDes, $db, $DEBUG);
393     //On vérifie que l'action s'est bien déroulée
394     $this->assertEquals($run_import, true);
395    
396     //Replace le fichier dans le fichier source
397 softime 1835 rename($pathDes.'/'."20091106AUTPCP.pdf", $pathSrc.'/'."20091106AUTPCP.pdf");
398    
399 softime 1830
400     }
401    
402     /**
403     * Test la fonction run_purge
404     */
405     public function test_run_purge() {
406    
407     //Dossier source
408 softime 1835 $pathSrc = "binaire/binaire/test_digitalizedDocument/Transfert GED/Todo/PC0130551200001.P0";
409 softime 1830 //Dossier de destination
410 softime 1835 $pathDes = "binaire/binaire/test_digitalizedDocument/Transfert GED/Done/PC0130551200001.P0";
411 softime 1830 //Création dossier
412     if (!file_exists($pathDes)) {
413 softime 1835 mkdir("binaire/binaire/test_digitalizedDocument/Transfert GED/Done/PC0130551200001.P0");
414 softime 1830 }
415     //Nom du fichier
416     $filename = "20091106AUTPCP.pdf";
417     //Met le fichier 20091106AUTPCP dans Done
418 softime 1835 copy($pathSrc.'/'.$filename, $pathDes.'/'.$filename);
419 softime 1830 //Création du fichier 20091106RIPC05
420     $newfile = "20091106RIPC05.pdf";
421 softime 1835 copy($pathSrc.'/'.$filename, $pathDes.'/'.$newfile);
422 softime 1830 //Création du fichier 20091106DGPC03
423     $newfile = "20091106DGPC03.pdf";
424 softime 1835 copy($pathSrc.'/'.$filename, $pathDes.'/'.$newfile);
425 softime 1830
426     //Nombre jour
427     $nbDay = 60;
428     //Retour de la fonction run_purge
429     $run_purge = self::$digitalizedDocument->run_purge($pathDes, $nbDay);
430     //On vérifie que l'action s'est bien déroulée
431     $this->assertEquals($run_purge, true);
432    
433     }
434    
435     }
436    
437     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26