1 |
<?php |
<?php |
2 |
/** |
/** |
3 |
* Ce fichier regroupe les tests unitaire sur la classe DigitalizedDocument |
* Ce script contient la définition de la classe 'DigitalizedDocumentTest'. |
4 |
* |
* |
5 |
* @package openads |
* @package openads |
6 |
* @version SVN : $Id: testDigitalizedDocument.php 6129 2016-03-08 15:51:07Z stimezouaght $ |
* @version SVN : $Id$ |
7 |
*/ |
*/ |
8 |
|
|
9 |
require_once('../obj/digitalizedDocument.class.php'); |
require_once "testDigitalizedDocument_common.php"; |
10 |
// |
final class DigitalizedDocumentTest extends DigitalizedDocumentCommon { |
11 |
require_once "../obj/utils.class.php"; |
public function setUp(): void { |
12 |
|
$this->common_setUp(); |
13 |
/** |
} |
14 |
* Cette classe permet de faire des tests unitaires sur la classe DigitalizedDocument |
public function tearDown(): void { |
15 |
* |
$this->common_tearDown(); |
|
* La constante DEBUG doit être définis sur DEGUG_MODE ou PRODUCTION_MODE |
|
|
* |
|
|
* Lors de l'envoi de la commande ajouter --bootstrap bootstrap.php |
|
|
* |
|
|
* Jeu de données utilisé : |
|
|
* Le dossier d'instruction PC0130551200001P0 et PC0130551200002P0 du jeu de données de |
|
|
* base, ainsi que les dossiers sans P0 PA0130551200001 et DP0130551200001 |
|
|
* les dossiers et document présent dans binary_files/test_digitalizedDocument |
|
|
*/ |
|
|
class DigitalizedDocumentTest extends PHPUnit_Framework_TestCase { |
|
|
|
|
|
var $digitalizedDocument = NULL; |
|
|
|
|
|
/** |
|
|
* Fonction lancée en début de classe |
|
|
*/ |
|
|
public static function setUpBeforeClass() { |
|
|
// Création des dossiers PC0130551200001.P0 et PC0130551200002 dans le |
|
|
// dossier de numérisation |
|
|
mkdir('../var/digitalization/Todo/PC0130551200001.P0/'); |
|
|
chmod('../var/digitalization/Todo/PC0130551200001.P0/', 0777); |
|
|
mkdir('../var/digitalization/Todo/PC0130551200002.P0/'); |
|
|
chmod('../var/digitalization/Todo/PC0130551200002.P0/', 0777); |
|
|
// Récupération du document |
|
|
copy('binary_files/20091106AUTPCP.pdf', '../var/digitalization/Todo/PC0130551200001.P0/20091106AUTPCP.pdf'); |
|
|
copy('binary_files/20091106AUTPCP-1.pdf', '../var/digitalization/Todo/PC0130551200001.P0/20091106AUTPCP-1.pdf'); |
|
|
// Création des dossiers sans le suffixe P0 |
|
|
mkdir('../var/digitalization/Todo/PA0130551200001/'); |
|
|
chmod('../var/digitalization/Todo/PA0130551200001/', 0777); |
|
|
mkdir('../var/digitalization/Todo/DP0130551200001/'); |
|
|
chmod('../var/digitalization/Todo/DP0130551200001/', 0777); |
|
|
// Récupération du document |
|
|
copy('binary_files/20091106AUTPCP.pdf', '../var/digitalization/Todo/PA0130551200001/20091106AUTPCP.pdf'); |
|
|
copy('binary_files/20091106AUTPCP-1.pdf', '../var/digitalization/Todo/PA0130551200001/20091106AUTPCP-1.pdf'); |
|
|
} |
|
|
|
|
|
/** |
|
|
* Fonction lancée en fin de classe |
|
|
*/ |
|
|
public static function tearDownAfterClass() { |
|
|
// Suppression du document 20091106AUTPCP.pdf |
|
|
unlink('../var/digitalization/Todo/PC0130551200001.P0/20091106AUTPCP.pdf'); |
|
|
unlink('../var/digitalization/Todo/PC0130551200001.P0/20091106AUTPCP-1.pdf'); |
|
|
unlink('../var/digitalization/Todo/PA0130551200001/20091106AUTPCP.pdf'); |
|
|
unlink('../var/digitalization/Todo/PA0130551200001/20091106AUTPCP-1.pdf'); |
|
|
|
|
|
// Suppression des dossiers PC0130551200001.P0 et PC0130551200002.P0 |
|
|
if(file_exists('../var/digitalization/Todo/PC0130551200001.P0')) { |
|
|
rmdir('../var/digitalization/Todo/PC0130551200001.P0'); |
|
|
} |
|
|
if(file_exists('../var/digitalization/Todo/PC0130551200002.P0')) { |
|
|
rmdir('../var/digitalization/Todo/PC0130551200002.P0'); |
|
|
} |
|
|
// Suppression des dossiers sans P0 |
|
|
if(file_exists('../var/digitalization/Todo/PA0130551200001')) { |
|
|
rmdir('../var/digitalization/Todo/PA0130551200001'); |
|
|
} |
|
|
if(file_exists('../var/digitalization/Todo/DP0130551200001')) { |
|
|
rmdir('../var/digitalization/Todo/DP0130551200001'); |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
/** |
|
|
* Fonction lancée en debut de chaque test |
|
|
*/ |
|
|
public function setUp() { |
|
|
// Instancie la timezone |
|
|
date_default_timezone_set('Europe/Paris'); |
|
|
echo ' = '.get_class().'.'.str_replace('test_', '', $this->getName())."\r\n"; |
|
|
@session_start(); |
|
|
$_SESSION['collectivite'] = 1; |
|
|
$_SESSION['login'] = "admin"; |
|
|
$_SERVER['REQUEST_URI'] = ""; |
|
|
$f = new utils("nohtml"); |
|
|
$f->disableLog(); |
|
|
$this->digitalizedDocument = new DigitalizedDocument($f); |
|
|
} |
|
|
|
|
|
public function onNotSuccessfulTest(Exception $e){ |
|
|
echo 'Line '.$e->getLine().' : '.$e->getMessage()."\r\n"; |
|
|
parent::onNotSuccessfulTest($e); |
|
|
} |
|
|
|
|
|
/** |
|
|
* Fonction lancée en fin de chaque test |
|
|
*/ |
|
|
public function tearDown() { |
|
|
//On détruit l'instance de la classe DigitalizedDocument |
|
|
$this->digitalizedDocument->__destruct(); |
|
|
} |
|
|
|
|
|
/** |
|
|
* Fonction permettant de verifier l'ajout dans la base de données |
|
|
*/ |
|
|
private function checkLinkFile($uid) { |
|
|
|
|
|
//Requête qui vérifie dans la bdd si le lien existe |
|
|
$sql = "SELECT document_numerise |
|
|
FROM ".DB_PREFIXE."document_numerise |
|
|
WHERE uid = '".$uid."'"; |
|
|
$document_numerise = $this->digitalizedDocument->f->db->getOne($sql); |
|
|
$this->digitalizedDocument->f->isDatabaseError($document_numerise); |
|
|
|
|
|
//Si le lien a été trouvé on retourne vrai |
|
|
if ($document_numerise) { |
|
|
|
|
|
return true; |
|
|
|
|
|
} |
|
|
|
|
|
//sinon on retourne false |
|
|
return false; |
|
|
} |
|
|
|
|
|
/** |
|
|
* Recupère uid par rapport à l'identifiant |
|
|
*/ |
|
|
private function get_uid_by_id($document_numerise) { |
|
|
|
|
|
//Requête qui vérifie dans la bdd si le lien existe |
|
|
$sql = "SELECT uid |
|
|
FROM ".DB_PREFIXE."document_numerise |
|
|
WHERE document_numerise = '".$document_numerise."'"; |
|
|
$uid = $this->digitalizedDocument->f->db->getOne($sql); |
|
|
$this->digitalizedDocument->f->isDatabaseError($uid); |
|
|
|
|
|
// |
|
|
return $uid; |
|
|
|
|
|
} |
|
|
|
|
|
/** |
|
|
* Test la fonction listFiles |
|
|
*/ |
|
|
public function testListFiles() { |
|
|
|
|
|
//Nom possible de dossier |
|
|
$path = "../var/digitalization/Todo/PC0130551200001.P0"; |
|
|
$path_no_p0 = "../var/digitalization/Todo/PA0130551200001"; |
|
|
|
|
|
//Retour de la fonction listFiles |
|
|
$listFiles = $this->digitalizedDocument->listFiles($path); |
|
|
$listFiles_no_p0 = $this->digitalizedDocument->listFiles($path_no_p0); |
|
|
//On vérifie les documents retourné |
|
|
$this->assertContains("20091106AUTPCP-1.pdf", $listFiles); |
|
|
$this->assertContains("20091106AUTPCP.pdf", $listFiles); |
|
|
// Même chose pour les dossiers sans P0 |
|
|
$this->assertContains("20091106AUTPCP-1.pdf", $listFiles_no_p0); |
|
|
$this->assertContains("20091106AUTPCP.pdf", $listFiles_no_p0); |
|
|
|
|
|
//Nom de dossier vide |
|
|
$path = "../var/digitalization/Todo/PC0130551200002.P0"; |
|
|
$path_no_p0 = "../var/digitalization/Todo/DP0130551200001"; |
|
|
//Retour de la fontion listFiles |
|
|
$listFiles = $this->digitalizedDocument->listFiles($path); |
|
|
$listFiles_no_p0 = $this->digitalizedDocument->listFiles($path_no_p0); |
|
|
//On vérifie que le tableau retourné est vide |
|
|
$this->assertEquals($listFiles, null); |
|
|
$this->assertEquals($listFiles_no_p0, null); |
|
|
|
|
|
} |
|
|
|
|
|
/* |
|
|
* Test la fonction extractMetadataFromFilename |
|
|
*/ |
|
|
public function testExtractMetadataFromFilename() { |
|
|
|
|
|
//Nom possible de document |
|
|
$filename = "20091106AUTPCP.pdf"; |
|
|
//Retour de la fonction extractMetadataFromFilename |
|
|
$extractMetadataFromFilename = $this->digitalizedDocument->extractMetadataFromFilename($filename); |
|
|
//On vérifie les données retournées |
|
|
$this->assertEquals($extractMetadataFromFilename["title"], "AUTPCP"); |
|
|
$this->assertEquals($extractMetadataFromFilename["dateEvenementDocument"], "06/11/2009"); |
|
|
|
|
|
//Nom possible de document avec version |
|
|
$filename = "20130420ART-1.pdf"; |
|
|
//Retour de la fonction extractMetadataFromFilename |
|
|
$extractMetadataFromFilename = $this->digitalizedDocument->extractMetadataFromFilename($filename); |
|
|
//On vérifie les données retournées |
|
|
$this->assertEquals($extractMetadataFromFilename["title"], "ART"); |
|
|
$this->assertEquals($extractMetadataFromFilename["dateEvenementDocument"], "20/04/2013"); |
|
|
|
|
|
//Nom erroné de document |
|
|
$filename = "20591212.pdf"; |
|
|
//Retour de la fonction extractMetadataFromFilename |
|
|
$extractMetadataFromFilename = $this->digitalizedDocument->extractMetadataFromFilename($filename); |
|
|
//On vérifie que le tableau retourné est vide |
|
|
$this->assertEquals($extractMetadataFromFilename, null); |
|
|
|
|
|
} |
|
|
|
|
|
/** |
|
|
* Test la fonction extractMetadataToFilestorage |
|
|
*/ |
|
|
public function testExtractMetadataToFilestorage() { |
|
|
|
|
|
//Nom possible de dossier |
|
|
$path = "../var/digitalization/Todo/PC0130551200001.P0"; |
|
|
$path_no_p0 = "../var/digitalization/Todo/PA0130551200001"; |
|
|
//Nom possible de document |
|
|
$filename = "20091106AUTPCP.pdf"; |
|
|
//Retour de la fonction extractMetadataToFilestorage |
|
|
$extractMetadataToFilestorage = $this->digitalizedDocument->extractMetadataToFilestorage($path, $filename); |
|
|
$extractMetadataToFilestorage_no_p0 = $this->digitalizedDocument->extractMetadataToFilestorage($path_no_p0, $filename); |
|
|
//On vérifie les données retournées |
|
|
$this->assertEquals($extractMetadataToFilestorage['filename'], '20091106AUTPCP.pdf'); |
|
|
$this->assertEquals($extractMetadataToFilestorage['size'], '17435'); |
|
|
$this->assertEquals($extractMetadataToFilestorage['mimetype'], 'application/pdf'); |
|
|
// Pour le dossier sans P0 |
|
|
$this->assertEquals($extractMetadataToFilestorage_no_p0['filename'], '20091106AUTPCP.pdf'); |
|
|
$this->assertEquals($extractMetadataToFilestorage_no_p0['size'], '17435'); |
|
|
$this->assertEquals($extractMetadataToFilestorage_no_p0['mimetype'], 'application/pdf'); |
|
|
//Chemin document erroné |
|
|
$path = ""; |
|
|
$path_no_p0 = ""; |
|
|
//Nom possible de document |
|
|
$filename = "20091106AUTPCP.pdf"; |
|
|
//Retour de la fonction extractMetadataToFilestorage |
|
|
$extractMetadataToFilestorage = $this->digitalizedDocument->extractMetadataToFilestorage($path, $filename); |
|
|
$extractMetadataToFilestorage_no_p0 = $this->digitalizedDocument->extractMetadataToFilestorage($path_no_p0, $filename); |
|
|
//On vérifie que le retour est null |
|
|
$this->assertEquals($extractMetadataToFilestorage, null); |
|
|
$this->assertEquals($extractMetadataToFilestorage_no_p0, null); |
|
|
|
|
16 |
} |
} |
17 |
|
public function onNotSuccessfulTest(Throwable $e): void { |
18 |
/** |
$this->common_onNotSuccessfulTest($e); |
|
* Test la fonction createFileTemporary |
|
|
*/ |
|
|
public function testCreateFileTemporary() { |
|
|
|
|
|
// XXX hack temporaire : la commande suivante permet de ne pas avoir d'erreurs de |
|
|
// permissions système dues à l'enchaînement des tests *testREST.php* et |
|
|
// *testDigitalizedDocument.php* |
|
|
exec("sudo chmod 777 -R ../var > /dev/null 2>&1"); |
|
|
|
|
|
//Nom possible d'un répertoire |
|
|
$foldername = "PC0130551200001.P0"; |
|
|
$foldername_no_p0 = "PA0130551200001"; |
|
|
//Nom possible de dossier |
|
|
$path = "../var/digitalization/Todo/PC0130551200001.P0"; |
|
|
$path_no_p0 = "../var/digitalization/Todo/PA0130551200001"; |
|
|
//Nom possible de document |
|
|
$filename = "20091106AUTPCP.pdf"; |
|
|
//Construit les métadonnées |
|
|
$metadata = array(); |
|
|
//Données récupérées pour le filestorage |
|
|
$metadata = $this->digitalizedDocument->extractMetadataToFilestorage($path, $filename); |
|
|
$metadata_no_p0 = $this->digitalizedDocument->extractMetadataToFilestorage($path_no_p0, $filename); |
|
|
//Recupère le contenu du fichier |
|
|
$file_content = file_get_contents($path.'/'.$filename); |
|
|
$file_content_no_p0 = file_get_contents($path.'/'.$filename); |
|
|
|
|
|
//Retour de la fonction createFile |
|
|
$createFile = $this->digitalizedDocument->createFileTemporary($file_content, $metadata); |
|
|
$createFile_no_p0 = $this->digitalizedDocument->createFileTemporary($file_content_no_p0, $metadata_no_p0); |
|
|
//On vérifie que l'action s'est bien déroulée |
|
|
$file_exists_filestorage = $this->digitalizedDocument->filestorage->get_temporary($createFile); |
|
|
$file_exists_filestorage_no_p0 = $this->digitalizedDocument->filestorage->get_temporary($createFile_no_p0); |
|
|
$this->assertTrue($file_exists_filestorage != null); |
|
|
$this->assertTrue($file_exists_filestorage_no_p0 != null); |
|
|
|
|
19 |
} |
} |
20 |
|
public static function setUpBeforeClass(): void { |
21 |
/** |
DigitalizedDocumentCommon::common_setUpBeforeClass(); |
|
* Test la fonction createDocumentNumerise |
|
|
*/ |
|
|
public function testCreateDocumentNumerise() { |
|
|
|
|
|
//Nom possible d'un répertoire |
|
|
$foldername = "PC0130551200001.P0"; |
|
|
$foldername_no_p0 = "PA0130551200001"; |
|
|
//Identifiant du dossier |
|
|
$dossier = "PC0130551200001P0"; |
|
|
$dossier_no_p0 = "PA0130551200001"; |
|
|
//Nom possible de dossier |
|
|
$path = "../var/digitalization/Todo/PC0130551200001.P0"; |
|
|
$path_no_p0 = "../var/digitalization/Todo/PA0130551200001"; |
|
|
//Nom du document |
|
|
$filename = "20091106AUTPCP.pdf"; |
|
|
//Création du fichier |
|
|
$newfile = "20091106RIPC05.pdf"; |
|
|
copy($path.'/'.$filename, $path.'/'.$newfile); |
|
|
copy($path_no_p0.'/'.$filename, $path_no_p0.'/'.$newfile); |
|
|
//Instance document_numerise |
|
|
require_once "../obj/document_numerise.class.php"; |
|
|
$document_numerise = new document_numerise("]", $this->digitalizedDocument->f->db, NULL); |
|
|
|
|
|
//Construit les métadonnées |
|
|
$metadata = array(); |
|
|
$metadata_no_p0 = array(); |
|
|
//Données récupérées pour le filestorage |
|
|
$metadata = $this->digitalizedDocument->extractMetadataToFilestorage($path, $newfile); |
|
|
$metadata_no_p0 = $this->digitalizedDocument->extractMetadataToFilestorage($path_no_p0, $newfile); |
|
|
|
|
|
//Recupère le contenu du fichier |
|
|
$file_content = file_get_contents($path.'/'.$newfile); |
|
|
$file_content_no_p0 = file_get_contents($path_no_p0.'/'.$newfile); |
|
|
|
|
|
//Créer le fichier temporaire |
|
|
$uid = $this->digitalizedDocument->createFileTemporary($file_content, $metadata); |
|
|
$uid_no_p0 = $this->digitalizedDocument->createFileTemporary($file_content_no_p0, $metadata_no_p0); |
|
|
|
|
|
//Retour de la fonction createFileStorage |
|
|
$createDocumentNumerise = $this->digitalizedDocument->createDocumentNumerise($document_numerise, $uid, $dossier, $newfile, $this->digitalizedDocument->f->db, NULL); |
|
|
$createDocumentNumerise_no_p0 = $this->digitalizedDocument->createDocumentNumerise($document_numerise, $uid_no_p0, $dossier_no_p0, $newfile, $this->digitalizedDocument->f->db, NULL); |
|
|
|
|
|
//Supprime le fichier laissé dans le dossier Todo |
|
|
unlink($path.'/'.$newfile); |
|
|
unlink($path_no_p0.'/'.$newfile); |
|
|
|
|
|
//On vérifie que le fichier a bien été créé dans le filestorage |
|
|
$uid = $this->get_uid_by_id($createDocumentNumerise); |
|
|
$uid_no_p0 = $this->get_uid_by_id($createDocumentNumerise_no_p0); |
|
|
|
|
|
$file_exists_filestorage = $this->digitalizedDocument->filestorage->get($uid); |
|
|
$file_exists_filestorage_no_p0 = $this->digitalizedDocument->filestorage->get($uid_no_p0); |
|
|
|
|
|
$this->assertTrue($file_exists_filestorage != null); |
|
|
$this->assertTrue($file_exists_filestorage_no_p0 != null); |
|
|
|
|
|
//Uid pas présent dans la bdd |
|
|
$uid = uniqid(); |
|
|
$uid_no_p0 = uniqid(); |
|
|
//On vérifie que false est bien retourné |
|
|
$this->assertEquals($this->checkLinkFile($uid), false); |
|
|
$this->assertEquals($this->checkLinkFile($uid_no_p0), false); |
|
|
|
|
22 |
} |
} |
23 |
|
public static function tearDownAfterClass(): void { |
24 |
/** |
DigitalizedDocumentCommon::common_tearDownAfterClass(); |
|
* Test la fonction moveDocumentNumerise |
|
|
*/ |
|
|
public function testMoveDocumentNumerise() { |
|
|
|
|
|
//Dossier source |
|
|
$pathSrc = "../var/digitalization/Todo/PC0130551200001.P0"; |
|
|
$pathSrc_no_p0 = "../var/digitalization/Todo/PA0130551200001"; |
|
|
//Dossier de destination |
|
|
$pathDes = "../var/digitalization/Done/PC0130551200001.P0"; |
|
|
$pathDes_no_p0 = "../var/digitalization/Done/PA0130551200001"; |
|
|
//Nom du fichier |
|
|
$filename = "20091106AUTPCP.pdf"; |
|
|
//Retour de la fonction moveDocumentNumerise |
|
|
$moveFile = $this->digitalizedDocument->moveDocumentNumerise($pathSrc, $pathDes, $filename); |
|
|
$moveFile_no_p0 = $this->digitalizedDocument->moveDocumentNumerise($pathSrc_no_p0, $pathDes_no_p0, $filename); |
|
|
//On vérifie que l'action s'est bien déroulée |
|
|
//Le document doit être présent dans la destination |
|
|
$file_exists_destination = file_exists($pathDes.'/'.$filename); |
|
|
$file_exists_destination_no_p0 = file_exists($pathDes_no_p0.'/'.$filename); |
|
|
$this->assertEquals($file_exists_destination, true); |
|
|
$this->assertEquals($file_exists_destination_no_p0, true); |
|
|
//Le document ne doit plus être présent dans la source |
|
|
$file_exists_source = file_exists($pathSrc.'/'.$filename); |
|
|
$file_exists_source_no_p0 = file_exists($pathSrc_no_p0.'/'.$filename); |
|
|
$this->assertEquals($file_exists_source, false); |
|
|
$this->assertEquals($file_exists_source_no_p0, false); |
|
|
|
|
|
//Remet le fichier dans todo pour les autres tests |
|
|
rename($pathDes.'/'.$filename, $pathSrc.'/'.$filename); |
|
|
rename($pathDes_no_p0.'/'.$filename, $pathSrc_no_p0.'/'.$filename); |
|
|
|
|
25 |
} |
} |
|
|
|
|
/** |
|
|
* Test la fonction purgeFiles |
|
|
*/ |
|
|
public function testPurgeFiles() { |
|
|
|
|
|
//Dossier source |
|
|
$pathSrc = "../var/digitalization/Todo/PC0130551200001.P0"; |
|
|
$pathSrc_no_p0 = "../var/digitalization/Todo/PA0130551200001"; |
|
|
//Dossier de destination |
|
|
$pathDes = "../var/digitalization/Done/PC0130551200001.P0"; |
|
|
$pathDes_no_p0 = "../var/digitalization/Done/PA0130551200001"; |
|
|
//Création dossier |
|
|
if (!file_exists($pathDes)) { |
|
|
mkdir("../var/digitalization/Done/PC0130551200001.P0"); |
|
|
} |
|
|
if (!file_exists($pathDes_no_p0)) { |
|
|
mkdir("../var/digitalization/Done/PA0130551200001"); |
|
|
} |
|
|
//Nom du fichier |
|
|
$filename = "20091106AUTPCP.pdf"; |
|
|
//Met le fichier dans Done |
|
|
copy($pathSrc.'/'.$filename, $pathDes.'/'.$filename); |
|
|
copy($pathSrc_no_p0.'/'.$filename, $pathDes_no_p0.'/'.$filename); |
|
|
|
|
|
//fichier |
|
|
$file = $pathDes.'/'.$filename; |
|
|
$file_no_p0 = $pathDes_no_p0.'/'.$filename; |
|
|
//Date de l'import du document |
|
|
$dateImport = "2012-01-01"; |
|
|
//Nombre jour |
|
|
$nbDay = 60; |
|
|
//Retour de la fonction purge |
|
|
$purgeFiles = $this->digitalizedDocument->purgeFiles($file, $dateImport, $nbDay); |
|
|
//On vérifie que l'action s'est bien déroulée |
|
|
$this->assertEquals($purgeFiles, true); |
|
|
|
|
|
//Création du fichier |
|
|
$newfile = "20091106RIPC05.pdf"; |
|
|
copy($pathSrc.'/'.$filename, $pathDes.'/'.$newfile); |
|
|
copy($pathSrc_no_p0.'/'.$filename, $pathDes_no_p0.'/'.$newfile); |
|
|
//fichier |
|
|
$file = $pathDes.'/'.$newfile; |
|
|
$file_no_p0 = $pathDes_no_p0.'/'.$newfile; |
|
|
//Retour de la fonction purge sans les paramètres de date |
|
|
$purgeFiles = $this->digitalizedDocument->purgeFiles($file); |
|
|
$purgeFiles_no_p0 = $this->digitalizedDocument->purgeFiles($file_no_p0); |
|
|
//On vérifie que l'action s'est bien déroulée |
|
|
$this->assertEquals($purgeFiles, true); |
|
|
$this->assertEquals($purgeFiles_no_p0, true); |
|
|
|
|
|
//Création du fichier |
|
|
$newfile = "20091106DGPC03.pdf"; |
|
|
copy($pathSrc.'/'.$filename, $pathDes.'/'.$newfile); |
|
|
copy($pathSrc_no_p0.'/'.$filename, $pathDes_no_p0.'/'.$newfile); |
|
|
|
|
|
//fichier |
|
|
$file = $pathDes.'/'.$newfile; |
|
|
$file_no_p0 = $pathDes_no_p0.'/'.$newfile; |
|
|
//Date de l'import du document |
|
|
$dateImport = date('d-m-Y'); |
|
|
//Nombre jour |
|
|
$nbDay = 60; |
|
|
//Retour de la fonction purge |
|
|
$purgeFiles = $this->digitalizedDocument->purgeFiles($file, $dateImport, $nbDay); |
|
|
$purgeFiles_no_p0 = $this->digitalizedDocument->purgeFiles($file_no_p0, $dateImport, $nbDay); |
|
|
|
|
|
//On vérifie que l'action s'est bien déroulée |
|
|
$this->assertEquals($purgeFiles, false); |
|
|
$this->assertEquals($purgeFiles_no_p0, false); |
|
|
|
|
|
//Supprime le fichier laissé dans le dossier Done |
|
|
unlink($pathDes.'/'.$newfile); |
|
|
unlink($pathDes_no_p0.'/'.$newfile); |
|
|
|
|
|
} |
|
|
|
|
|
/** |
|
|
* Test la fonction run_import |
|
|
*/ |
|
|
public function test_run_import() { |
|
|
|
|
|
//Nom de dossier |
|
|
$pathSrc = "../var/digitalization/Todo/PC0130551200001.P0"; |
|
|
$pathSrc_no_p0 = "../var/digitalization/Todo/PA0130551200001"; |
|
|
//Nom dossier destination |
|
|
$pathDes = "../var/digitalization/Done/PC0130551200001.P0"; |
|
|
$pathDes_no_p0 = "../var/digitalization/Done/PA0130551200001"; |
|
|
//Renomme le fichier pdf |
|
|
$path = "../var/digitalization/Todo/PC0130551200001.P0"; |
|
|
$listFiles = $this->digitalizedDocument->listFiles($pathSrc); |
|
|
$listFiles_no_p0 = $this->digitalizedDocument->listFiles($pathSrc_no_p0); |
|
|
//On vérifie les documents retourné |
|
|
rename($pathSrc.'/'."20091106AUTPCP.pdf", $pathSrc.'/'."20091106NDL.pdf"); |
|
|
rename($pathSrc.'/'."20091106AUTPCP-1.pdf", $pathSrc.'/'."20091106NDL-1.pdf"); |
|
|
rename($pathSrc_no_p0.'/'."20091106AUTPCP.pdf", $pathSrc_no_p0.'/'."20091106NDL.pdf"); |
|
|
rename($pathSrc_no_p0.'/'."20091106AUTPCP-1.pdf", $pathSrc_no_p0.'/'."20091106NDL-1.pdf"); |
|
|
|
|
|
//Déclarations paramètre |
|
|
$db = $this->digitalizedDocument->f->db; |
|
|
$DEBUG = NULL; |
|
|
//Retour de la fonction run_import |
|
|
$run_import = $this->digitalizedDocument->run_import($pathSrc, $pathDes, $db, $DEBUG); |
|
|
$run_import_no_p0 = $this->digitalizedDocument->run_import($pathSrc_no_p0, $pathDes_no_p0, $db, $DEBUG); |
|
|
//On vérifie que l'action s'est bien déroulée |
|
|
$this->assertEquals($run_import, true); |
|
|
$this->assertEquals($run_import_no_p0, true); |
|
|
$this->assertEquals(count($this->digitalizedDocument->filenameError), 0); |
|
|
|
|
|
//Replace les fichiers dans le fichier source |
|
|
copy($pathDes.'/'."20091106NDL.pdf", $pathSrc.'/'."20091106AUTPCP.pdf"); |
|
|
copy($pathDes.'/'."20091106NDL-1.pdf", $pathSrc.'/'."20091106AUTPCP-1.pdf"); |
|
|
copy($pathDes_no_p0.'/'."20091106NDL.pdf", $pathSrc_no_p0.'/'."20091106AUTPCP.pdf"); |
|
|
copy($pathDes_no_p0.'/'."20091106NDL-1.pdf", $pathSrc_no_p0.'/'."20091106AUTPCP-1.pdf"); |
|
|
} |
|
|
|
|
|
/** |
|
|
* Test la fonction run_purge |
|
|
*/ |
|
|
public function test_run_purge() { |
|
|
copy('binary_files/20091106AUTPCP.pdf', '../var/digitalization/Todo/PC0130551200001.P0/20091106AUTPCP.pdf'); |
|
|
copy('binary_files/20091106AUTPCP-1.pdf', '../var/digitalization/Todo/PC0130551200001.P0/20091106AUTPCP-1.pdf'); |
|
|
copy('binary_files/20091106AUTPCP.pdf', '../var/digitalization/Todo/PA0130551200001/20091106AUTPCP.pdf'); |
|
|
copy('binary_files/20091106AUTPCP-1.pdf', '../var/digitalization/Todo/PA0130551200001/20091106AUTPCP-1.pdf'); |
|
|
//Dossier source |
|
|
$pathSrc = "../var/digitalization/Todo/PC0130551200001.P0"; |
|
|
$pathSrc_no_p0 = "../var/digitalization/Todo/PA0130551200001"; |
|
|
//Dossier de destination |
|
|
$pathDes = "../var/digitalization/Done/PC0130551200001.P0"; |
|
|
$pathDes_no_p0 = "../var/digitalization/Done/PA0130551200001"; |
|
|
//Création dossier |
|
|
if (!file_exists($pathDes)) { |
|
|
mkdir("../var/digitalization/Done/PC0130551200001.P0"); |
|
|
} |
|
|
if (!file_exists($pathDes_no_p0)) { |
|
|
mkdir("../var/digitalization/Done/PA0130551200001"); |
|
|
} |
|
|
//Nom du fichier |
|
|
$filename = "20091106AUTPCP.pdf"; |
|
|
//Met le fichier 20091106AUTPCP dans Done |
|
|
copy($pathSrc.'/'.$filename, $pathDes.'/'.$filename); |
|
|
copy($pathSrc_no_p0.'/'.$filename, $pathDes_no_p0.'/'.$filename); |
|
|
//Création du fichier 20091106RIPC05 |
|
|
$newfile = "20091106RIPC05.pdf"; |
|
|
copy($pathSrc.'/'.$filename, $pathDes.'/'.$newfile); |
|
|
copy($pathSrc_no_p0.'/'.$filename, $pathDes_no_p0.'/'.$newfile); |
|
|
//Création du fichier 20091106DGPC03 |
|
|
$newfile = "20091106DGPC03.pdf"; |
|
|
copy($pathSrc.'/'.$filename, $pathDes.'/'.$newfile); |
|
|
copy($pathSrc_no_p0.'/'.$filename, $pathDes_no_p0.'/'.$newfile); |
|
|
|
|
|
//Retour de la fonction run_purge sans date |
|
|
$run_purge = $this->digitalizedDocument->run_purge($pathDes); |
|
|
$run_purge_no_p0 = $this->digitalizedDocument->run_purge($pathDes_no_p0); |
|
|
|
|
|
//On vérifie que l'action s'est bien déroulée |
|
|
$this->assertEquals($run_purge, true); |
|
|
$this->assertEquals($run_purge_no_p0, true); |
|
|
|
|
|
} |
|
|
|
|
26 |
} |
} |
|
|
|
|
?> |
|