From 332b992a06cbe93b3e208dfc488d66c1d9c04abb Mon Sep 17 00:00:00 2001 From: Julien LE GALL <julien.legall@libriciel.coop> Date: Fri, 21 Mar 2025 14:34:11 +0100 Subject: [PATCH] centralisation de l ajout de _0.xml au nom de fichier xml --- .../actes/class/ActesTransaction.class.php | 19 +------ .../module/actes/ActesTransactionTest.php | 55 ++++++++++++++++--- 2 files changed, 51 insertions(+), 23 deletions(-) diff --git a/public.ssl/modules/actes/class/ActesTransaction.class.php b/public.ssl/modules/actes/class/ActesTransaction.class.php index 73661d143..df6aa236e 100644 --- a/public.ssl/modules/actes/class/ActesTransaction.class.php +++ b/public.ssl/modules/actes/class/ActesTransaction.class.php @@ -614,6 +614,9 @@ class ActesTransaction extends DataObject return false; } + $xml_name .= "_0.xml"; + $this->xmlFileName = $xml_name; + if (!Helpers :: createDirTree(dirname($this->rootDir . "/" . $this->xmlFileName))) { $this->errorMsg = "Erreur système de fichiers (createDirTree)."; return false; @@ -639,10 +642,6 @@ class ActesTransaction extends DataObject */ public function generateActeXMLFile(string $xml_name): false|string { - $xml_name .= "_0.xml"; - - $this->xmlFileName = $xml_name; - $xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n"; $xml .= "<actes:Acte\n"; $xml .= "xmlns:actes=\"http://www.interieur.gouv.fr/ACTES#v1.1-20040216\"\n"; @@ -697,9 +696,6 @@ class ActesTransaction extends DataObject public function generateReponseCourrierXMLFile($xml_name) { - $xml_name .= "_0.xml"; - $this->xmlFileName = $xml_name; - switch ($this->getType()) { case TypeTransaction::CourrierSimple: $root = "ReponseCourrierSimple"; @@ -769,10 +765,6 @@ class ActesTransaction extends DataObject */ public function generateCancelXMLFile($xml_name) { - $xml_name .= "_0.xml"; - - $this->xmlFileName = $xml_name; - $xml = null; if (!empty($this->related_transaction->unique_id)) { @@ -797,11 +789,6 @@ class ActesTransaction extends DataObject */ public function generateClassifRequestXMLFile($xml_name) { - $xml_name .= "_0.xml"; - - $this->xmlFileName = $xml_name; - - $xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n"; $xml .= "<actes:DemandeClassification \n"; $xml .= "xmlns:actes=\"http://www.interieur.gouv.fr/ACTES#v1.1-20040216\"\n"; diff --git a/test/PHPUnit/public.ssl/module/actes/ActesTransactionTest.php b/test/PHPUnit/public.ssl/module/actes/ActesTransactionTest.php index 913cd27ba..63242c912 100644 --- a/test/PHPUnit/public.ssl/module/actes/ActesTransactionTest.php +++ b/test/PHPUnit/public.ssl/module/actes/ActesTransactionTest.php @@ -99,11 +99,13 @@ class ActesTransactionTest extends S2lowTestCase public function testAddFileActePDF() { + $this->actesTransaction->setType(TypeTransaction::TransmissionActe); $this->addActePDF(); } public function testAddAnnexe() { + $this->actesTransaction->setType(TypeTransaction::TransmissionActe); $this->addActePDF(); $this->addAnnexePDF(); $this->addAnnexePDF(); @@ -146,6 +148,7 @@ class ActesTransactionTest extends S2lowTestCase public function testAddActesXML() { + $this->actesTransaction->setType(TypeTransaction::TransmissionActe); $this->setActesBudgetaire(); $this->addActeXML(); } @@ -178,6 +181,7 @@ class ActesTransactionTest extends S2lowTestCase public function testAttachmentXML() { + $this->actesTransaction->setType(TypeTransaction::TransmissionActe); $this->setActesBudgetaire(); $this->addActePDF(); $dest_filename2 = mt_rand(0, mt_getrandmax()); @@ -187,6 +191,7 @@ class ActesTransactionTest extends S2lowTestCase public function testAttachmentXMLNoBudgetaire() { + $this->actesTransaction->setType(TypeTransaction::TransmissionActe); $this->addActePDF(); $dest_filename2 = mt_rand(0, mt_getrandmax()); $this->assertTrue($this->actesTransaction->addAttachmentFile("vide.xml", "toto/" . $dest_filename2, $this->xml_filepath)); @@ -205,6 +210,7 @@ class ActesTransactionTest extends S2lowTestCase */ public function testgenerateActeXMLFile() { + $this->actesTransaction->setType(TypeTransaction::TransmissionActe); $this->addActePDF(); $this->actesTransaction->set('decision_date', "2013-04-05"); $this->actesTransaction->set('classification_date', "2013-04-05"); @@ -264,13 +270,16 @@ class ActesTransactionTest extends S2lowTestCase $xml_name = $this->actesTransaction->getStdFileName($env, false); $this->actesTransaction->generateMessageXMLFile($xml_name); - $this->actesTransaction->save(); $transaction_id = $this->actesTransaction->getId(); $actesIncludedFileSQL = $this->getObjectInstancier()->get(ActesIncludedFileSQL::class); $file_list = $actesIncludedFileSQL->getAll($transaction_id); + self::assertEquals( + $xml_name . '_0.xml', + $this->actesTransaction->get('xmlFileName') + ); $this->assertEquals("99_AU", $file_list[2]['code_pj']); $this->assertEquals("99_AU-001-000000000-20170829-TEST-DE-1-1_2.pdf", $file_list[2]['filename']); } @@ -416,8 +425,12 @@ class ActesTransactionTest extends S2lowTestCase $env->set('department', '001'); $env->set('siren', '000000000'); - static::assertTrue($this->actesTransaction->generateMessageXMLFile('test.xml')); + static::assertTrue($this->actesTransaction->generateMessageXMLFile('test')); $file_path = ACTES_FILES_UPLOAD_ROOT . '/' . $this->actesTransaction->get('xmlFileName'); + static::assertSame( + 'test_0.xml', + $this->actesTransaction->get('xmlFileName') + ); static::assertFileExists($file_path); // On vérifie que le type de message généré est correct static::assertStringContainsString('<actes:Acte', file_get_contents($file_path)); @@ -447,8 +460,12 @@ class ActesTransactionTest extends S2lowTestCase $this->actesTransaction->set('related_transaction', $relatedTransaction); - static::assertTrue($this->actesTransaction->generateMessageXMLFile('test.xml')); + static::assertTrue($this->actesTransaction->generateMessageXMLFile('test')); $file_path = ACTES_FILES_UPLOAD_ROOT . '/' . $this->actesTransaction->get('xmlFileName'); + static::assertSame( + 'test_0.xml', + $this->actesTransaction->get('xmlFileName') + ); static::assertFileExists($file_path); // On vérifie que le type de message généré est correct static::assertStringContainsString('<actes:' . $expectedRoot, file_get_contents($file_path)); @@ -483,8 +500,12 @@ class ActesTransactionTest extends S2lowTestCase $this->actesTransaction->set('related_transaction', $relatedTransaction); - static::assertTrue($this->actesTransaction->generateMessageXMLFile('test.xml')); + static::assertTrue($this->actesTransaction->generateMessageXMLFile('test')); $file_path = ACTES_FILES_UPLOAD_ROOT . '/' . $this->actesTransaction->get('xmlFileName'); + static::assertSame( + 'test_0.xml', + $this->actesTransaction->get('xmlFileName') + ); static::assertFileExists($file_path); $file_content = file_get_contents($file_path); // On vérifie que le type de message généré est correct @@ -505,8 +526,12 @@ class ActesTransactionTest extends S2lowTestCase $env->set('department', '001'); $env->set('siren', '000000000'); - static::assertTrue($this->actesTransaction->generateMessageXMLFile('test.xml')); + static::assertTrue($this->actesTransaction->generateMessageXMLFile('test')); $file_path = ACTES_FILES_UPLOAD_ROOT . '/' . $this->actesTransaction->get('xmlFileName'); + static::assertEquals( + 'test_0.xml', + $this->actesTransaction->get('xmlFileName') + ); static::assertFileExists($file_path); $file_content = file_get_contents($file_path); // On vérifie que le type de message généré est correct @@ -538,8 +563,12 @@ class ActesTransactionTest extends S2lowTestCase $this->actesTransaction->set('related_transaction', $relatedTransaction); - static::assertTrue($this->actesTransaction->generateMessageXMLFile('test.xml')); + static::assertTrue($this->actesTransaction->generateMessageXMLFile('test')); $file_path = ACTES_FILES_UPLOAD_ROOT . '/' . $this->actesTransaction->get('xmlFileName'); + static::assertSame( + 'test_0.xml', + $this->actesTransaction->get('xmlFileName') + ); static::assertFileExists($file_path); $file_content = file_get_contents($file_path); // On vérifie que le type de message généré est correct @@ -555,7 +584,7 @@ class ActesTransactionTest extends S2lowTestCase basename($this->actesTransaction->files['attachment'][0]['name']), $file_content ); - unlink('/data/tdt-workspace/actes/uploads/test.xml_0.xml'); + unlink('/data/tdt-workspace/actes/uploads/test_0.xml'); } /** @@ -655,10 +684,18 @@ class ActesTransactionTest extends S2lowTestCase unlink(ACTES_FILES_UPLOAD_ROOT . '/testFiles/' . '001-000000000-20170130-TEST42-DE-3-3_1.pdf'); rmdir(ACTES_FILES_UPLOAD_ROOT . '/testFiles/'); + static::assertSame( + $xml_name . '_0.xml', + $this->actesTransaction->get('xmlFileName') + ); self::assertSame( TypeTransaction::DemandePieceComplementaire->value, $transaction->get('type') ); + self::assertSame( + $xml_name . '_0.xml', + $this->actesTransaction->get('xmlFileName') + ); self::assertSame(null, $transaction->getErrorMsg()); self::assertSame( @@ -728,6 +765,10 @@ class ActesTransactionTest extends S2lowTestCase TypeTransaction::DemandePieceComplementaire->value, $transaction->get('type') ); + self::assertSame( + $xml_name . '_0.xml', + $this->actesTransaction->get('xmlFileName') + ); //TODO : il y a un bug // 001-000000000-20170130-TEST42-DE-3-4_2.pdf devrait être dans les annexes -- GitLab