Skip to content

Commit

Permalink
test(sqs): disable sqs/v3 test for Node.js < 14
Browse files Browse the repository at this point in the history
  • Loading branch information
Bastian Krol committed May 15, 2023
1 parent 6ae90e7 commit f8adc7d
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 65 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,7 @@ const { verifyHttpRootEntry, verifyHttpExit } = require('@instana/core/test/test
const defaultPrefix = 'https://sqs.us-east-2.amazonaws.com/410797082306/';
const queueUrlPrefix = process.env.SQS_QUEUE_URL_PREFIX || defaultPrefix;

const createQueues = require('./util').createQueues;
const deleteQueues = require('./util').deleteQueues;
const sendSnsNotificationToSqsQueue = require('./sendNonInstrumented').sendSnsNotificationToSqsQueue;
const { createQueues, deleteQueues, minimumNodeJsVersion, sendSnsNotificationToSqsQueue } = require('./util');

const sendingMethods = ['v3', 'cb', 'v2'];
const receivingMethods = ['v3', 'cb', 'v2'];
Expand All @@ -41,7 +39,7 @@ const retryTime = config.getTestTimeout() * 2;
function start(version) {
let mochaSuiteFn;

if (!supportedVersion(process.versions.node)) {
if (!supportedVersion(process.versions.node) || semver.lt(process.versions.node, minimumNodeJsVersion)) {
mochaSuiteFn = describe.skip;
} else {
mochaSuiteFn = describe;
Expand Down
61 changes: 61 additions & 0 deletions packages/collector/test/tracing/cloud/aws-sdk/v3/sqs/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,15 @@

'use strict';

exports.minimumNodeJsVersion = '14.0.0';

if (require('semver').lt(process.versions.node, exports.minimumNodeJsVersion)) {
exports.createQueues = function () {};
exports.deleteQueues = function () {};
exports.sendSnsNotificationToSqsQueue = function () {};
return;
}

const AWS = require('@aws-sdk/client-sqs');
const sqs = new AWS.SQS({ region: 'us-east-2' });

Expand Down Expand Up @@ -34,3 +43,55 @@ exports.deleteQueues = function (urls) {

return Promise.all(promises);
};

/*
* Sends a message to the queue that simulates a SNS notification routed into SQS via a SNS/SQS subscription.
*/
exports.sendSnsNotificationToSqsQueue = function sendSnsNotificationToSqsQueue(queueURL, traceId, parentId) {
const traceIdKey = 'X_InSTaNa_t';
const parentIdKey = 'x_insTAnA_S';
const levelKey = 'X_INSTaNa_L';
return new Promise((resolve, reject) => {
const sendParams = {
MessageBody: JSON.stringify({
Type: 'Notification',
MessageId: '99999c55-7d4e-555b-a1ef-4532d06f474c',
TopicArn: 'arn:aws:sns:us-east-2:555123456890:sns-topic-with-sqs-subscription',
Subject: 'Test Message Subject',
Message: "The SNS message's body.",
MessageAttributes: {
[traceIdKey]: {
Type: 'String',
Value: traceId
},
[parentIdKey]: {
Type: 'String',
Value: parentId
},
[levelKey]: {
Type: 'String',
Value: '1'
}
}
}),
QueueUrl: queueURL,
MessageAttributes: {
unrelated_attribute: {
DataType: 'String',
StringValue: 'some unrelated attribute'
}
}
};

sqs.sendMessage(sendParams, (err, data) => {
if (err) {
return reject(err);
} else {
return resolve({
status: 'OK-CALLBACK-NOT-INSTRUMENTED',
data
});
}
});
});
};

0 comments on commit f8adc7d

Please sign in to comment.