'use strict'; // NOTE: `stompit` is bundled into the deployment package // eslint-disable-next-line import/no-unresolved const stompit = require('stompit'); function consumer(event, context, callback) { const functionName = 'consumer'; const messages = event.messages.map((message) => Buffer.from(message.data, 'base64').toString()); // eslint-disable-next-line no-console console.log(functionName, JSON.stringify(messages)); return callback(null, event); } async function producer() { const connectOptions = { host: process.env.MQ_HOST, port: 61614, ssl: true, connectHeaders: { login: process.env.MQ_USERNAME, passcode: process.env.MQ_PASSWORD, }, }; const queueName = process.env.QUEUE_NAME; const sendPromise = new Promise((resolve, reject) => { stompit.connect(connectOptions, (error, client) => { if (error) { console.log(`connect error ${error.message}`); reject(error); } const frame = client.send({ 'destination': queueName, 'content-type': 'text/plain', }); frame.write('Hello from Apache MQ Integration test!'); frame.end(); client.disconnect(); resolve(); }); }); await sendPromise; return { statusCode: 200, }; } module.exports = { producer, consumer };