From 1f37c31fc8291378b0b6c3334dc02a4bd5989ecb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CBugs5382=E2=80=9D?= Date: Fri, 22 Dec 2023 15:29:30 -0500 Subject: [PATCH] test: update tests [ci skip] --- __tests__/hl7.end2end.test.ts | 86 +++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/__tests__/hl7.end2end.test.ts b/__tests__/hl7.end2end.test.ts index db4045c..2342232 100644 --- a/__tests__/hl7.end2end.test.ts +++ b/__tests__/hl7.end2end.test.ts @@ -622,4 +622,90 @@ describe('node hl7 end to end - client', () => { }) + describe('...send file with two message, get proper ACK', () => { + + let LISTEN_PORT: number + + const hl7_string: string = "MSH|^~\\&|||||20081231||ADT^A01^ADT_A01|12345|D|2.7\rEVN||20081231\rMSH|^~\\&|||||20081231||ADT^A01^ADT_A01|12345|D|2.7\rEVN||20081231" + + beforeAll(async () => { + + fs.readdir("temp/", (err, files) => { + if (err) return; + for (const file of files) { + fs.unlink(path.join("temp/", file), (err) => { + if (err) throw err; + }); + } + }) + + await sleep(2) + + const message = new Message({text: hl7_string, date: "8"}) + message.toFile('readFileTestMSH', true, 'temp/') + + fs.access("temp/hl7.readFileTestMSH.20081231.hl7", fs.constants.F_OK, (err) => { + if (!err) { + // Do something + } + }); + + await (async () => { + try { + await fs.promises.access("temp/hl7.readFileTestMSH.20081231.hl7", fs.constants.F_OK); + // Do something + } catch (err) { + // Handle error + } + })(); + + }) + + beforeEach(async () => { + LISTEN_PORT = await portfinder.getPortPromise({ + port: 3000, + stopPort: 65353 + }) + + dfd = createDeferred() + + }) + + test('...no tls', async () => { + + const server = new Server({bindAddress: '0.0.0.0'}) + const IB_ADT = server.createInbound({port: LISTEN_PORT}, async (req, res) => { + const messageReq = req.getMessage() + expect(messageReq.get('MSH.12').toString()).toBe('2.7') + await res.sendResponse("AA") + }) + + // await expectEvent(IB_ADT, 'listen') + + const client = new Client({host: '0.0.0.0'}) + let count: number = 0 + const OB_ADT = client.createOutbound({ port: LISTEN_PORT }, async (res) => { + const messageRes = res.getMessage() + expect(messageRes.get('MSA.1').toString()).toBe('AA') + count += 1 + if (count == 2) { + dfd.resolve() + } + }) + + await expectEvent(OB_ADT, 'connect') + + const fileBatch = await OB_ADT.readFile(`temp/hl7.readFileTestMSH.20081231.hl7`) + + await OB_ADT.sendMessage(fileBatch) + + await dfd.promise + + await OB_ADT.close() + await IB_ADT.close() + + }) + + }) + }) \ No newline at end of file