From 35b52ba7b571a86ae0d3acd6a62618e6833a6e8e Mon Sep 17 00:00:00 2001 From: Emmanuel Gaillot Date: Mon, 4 Nov 2024 17:57:45 +0100 Subject: [PATCH] [CORRECTION] Initialise `requestId` avec la bonne valeur MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit … c'est-à-dire, sans le suffixe `@…` – pour se conformer au validateur ebMS. Co-authored-by: Fabien Lamarque --- src/domibus/enteteMessageRecu.js | 3 ++- test/domibus/enteteMessageRecu.spec.js | 8 ++++++++ test/domibus/reponseRecuperationMessage.spec.js | 4 ++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/domibus/enteteMessageRecu.js b/src/domibus/enteteMessageRecu.js index ffaee08..a883fc8 100644 --- a/src/domibus/enteteMessageRecu.js +++ b/src/domibus/enteteMessageRecu.js @@ -20,7 +20,8 @@ class EnteteMessageRecu { } idMessage() { - return this.enteteMessageUtilisateur.MessageInfo.MessageId; + const idMessage = this.enteteMessageUtilisateur.MessageInfo.MessageId; + return idMessage.replace(/@.*$/, ''); } idPayload(typeMime) { diff --git a/test/domibus/enteteMessageRecu.spec.js b/test/domibus/enteteMessageRecu.spec.js index 7303e3e..98e68c4 100644 --- a/test/domibus/enteteMessageRecu.spec.js +++ b/test/domibus/enteteMessageRecu.spec.js @@ -4,6 +4,9 @@ describe('Un entête de message Domibus reçu', () => { const donnees = { Messaging: { UserMessage: { + MessageInfo: { + MessageId: '00000000-0000-0000-0000-000000000000@domibus.eu', + }, PayloadInfo: { PartInfo: [{ '@_href': 'cid:11111111-1111-1111-1111-111111111111@regrep.oots.eu', @@ -17,6 +20,11 @@ describe('Un entête de message Domibus reçu', () => { }, }; + it("retourne l'identifiant du message en supprimant le suffixe", () => { + const entete = new EnteteMessageRecu(donnees); + expect(entete.idMessage()).toBe('00000000-0000-0000-0000-000000000000'); + }); + it("retrouve l'identifiant du payload associé à un type MIME donné", () => { const entete = new EnteteMessageRecu(donnees); expect(entete.idPayload('application/pdf')).toEqual('cid:22222222-2222-2222-2222-222222222222@pdf.oots.eu'); diff --git a/test/domibus/reponseRecuperationMessage.spec.js b/test/domibus/reponseRecuperationMessage.spec.js index a2fb10d..3d99f03 100644 --- a/test/domibus/reponseRecuperationMessage.spec.js +++ b/test/domibus/reponseRecuperationMessage.spec.js @@ -45,13 +45,13 @@ describe('La réponse à une requête Domibus de récupération de message', () expect(reponse.expediteur().typeId).toEqual('unType'); }); - it('connaît son identifiant de message', () => { + it('connaît son identifiant de message (le UUID, moins le suffixe)', () => { const enveloppeSOAP = ConstructeurEnveloppeSOAPException.erreurAutorisationRequise() .avecIdMessage('11111111-1111-1111-1111-111111111111@oots.eu') .construis(); const reponse = new ReponseRecuperationMessage(enveloppeSOAP); - expect(reponse.idMessage()).toEqual('11111111-1111-1111-1111-111111111111@oots.eu'); + expect(reponse.idMessage()).toEqual('11111111-1111-1111-1111-111111111111'); }); it('connaît son identifiant de payload du message EBMS', () => {