diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index 62ef100ed4..11a52e6df7 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -98,6 +98,7 @@ jobs: RUN_MSSQL_TESTS: 1 RUN_POSTGRES_TESTS: 1 RUN_REDIS_TESTS: 1 + RUN_RABBIT_TESTS: 1 CASSANDRA_HOST: localhost MONGODB_DB: opentelemetry-tests MONGODB_HOST: 127.0.0.1 diff --git a/plugins/node/instrumentation-amqplib/test/amqplib-callbacks.test.ts b/plugins/node/instrumentation-amqplib/test/amqplib-callbacks.test.ts index 65973d5b1f..424554e4dd 100644 --- a/plugins/node/instrumentation-amqplib/test/amqplib-callbacks.test.ts +++ b/plugins/node/instrumentation-amqplib/test/amqplib-callbacks.test.ts @@ -29,7 +29,7 @@ import { SemanticAttributes, } from '@opentelemetry/semantic-conventions'; import { context, SpanKind } from '@opentelemetry/api'; -import { asyncConfirmSend, asyncConsume } from './utils'; +import { asyncConfirmSend, asyncConsume, shouldTest } from './utils'; import { censoredUrl, rabbitMqUrl, @@ -42,14 +42,22 @@ const queueName = 'queue-name-from-unittest'; describe('amqplib instrumentation callback model', () => { let conn: amqpCallback.Connection; - before(done => { - amqpCallback.connect(rabbitMqUrl, (err, connection) => { - conn = connection; - done(err); - }); + before(function (done) { + if (!shouldTest) { + this.skip(); + } else { + amqpCallback.connect(rabbitMqUrl, (err, connection) => { + conn = connection; + done(err); + }); + } }); after(done => { - conn.close(() => done()); + if (!shouldTest) { + done(); + } else { + conn.close(() => done()); + } }); describe('channel', () => { diff --git a/plugins/node/instrumentation-amqplib/test/amqplib-connection.test.ts b/plugins/node/instrumentation-amqplib/test/amqplib-connection.test.ts index e80738e310..748f06c7ee 100644 --- a/plugins/node/instrumentation-amqplib/test/amqplib-connection.test.ts +++ b/plugins/node/instrumentation-amqplib/test/amqplib-connection.test.ts @@ -15,6 +15,7 @@ */ import 'mocha'; import * as expect from 'expect'; +import { shouldTest } from './utils'; import { censoredUrl, rabbitMqUrl, @@ -34,6 +35,12 @@ import * as amqp from 'amqplib'; import { SemanticAttributes } from '@opentelemetry/semantic-conventions'; describe('amqplib instrumentation connection', () => { + before(function () { + if (!shouldTest) { + this.skip(); + } + }); + describe('connect with url object', () => { it('should extract connection attributes form url options', async function () { const testName = this.test!.title; diff --git a/plugins/node/instrumentation-amqplib/test/amqplib-promise.test.ts b/plugins/node/instrumentation-amqplib/test/amqplib-promise.test.ts index 4863881739..b343dc71ea 100644 --- a/plugins/node/instrumentation-amqplib/test/amqplib-promise.test.ts +++ b/plugins/node/instrumentation-amqplib/test/amqplib-promise.test.ts @@ -41,6 +41,7 @@ import { } from '@opentelemetry/semantic-conventions'; import { Span, SpanKind, SpanStatusCode } from '@opentelemetry/api'; import { asyncConfirmPublish, asyncConfirmSend, asyncConsume } from './utils'; +import { shouldTest } from './utils'; import { censoredUrl, rabbitMqUrl, @@ -60,11 +61,17 @@ const CHANNEL_CLOSED_IN_TEST = Symbol( describe('amqplib instrumentation promise model', () => { let conn: amqp.Connection; - before(async () => { - conn = await amqp.connect(rabbitMqUrl); + before(async function () { + if (!shouldTest) { + this.skip(); + } else { + conn = await amqp.connect(rabbitMqUrl); + } }); after(async () => { - await conn.close(); + if (shouldTest) { + await conn.close(); + } }); let endHookSpy: SinonSpy; diff --git a/plugins/node/instrumentation-amqplib/test/utils.test.ts b/plugins/node/instrumentation-amqplib/test/utils.test.ts index 57cd59bb23..efa69b5886 100644 --- a/plugins/node/instrumentation-amqplib/test/utils.test.ts +++ b/plugins/node/instrumentation-amqplib/test/utils.test.ts @@ -21,16 +21,23 @@ import { } from '../src/utils'; import { SemanticAttributes } from '@opentelemetry/semantic-conventions'; import * as amqp from 'amqplib'; +import { shouldTest } from './utils'; import { rabbitMqUrl } from './config'; describe('utils', () => { describe('getConnectionAttributesFromServer', () => { let conn: amqp.Connection; - before(async () => { - conn = await amqp.connect(rabbitMqUrl); + before(async function () { + if (!shouldTest) { + this.skip(); + } else { + conn = await amqp.connect(rabbitMqUrl); + } }); after(async () => { - await conn.close(); + if (shouldTest) { + await conn.close(); + } }); it('messaging system attribute', () => { diff --git a/plugins/node/instrumentation-amqplib/test/utils.ts b/plugins/node/instrumentation-amqplib/test/utils.ts index 42d68a7861..f6297dfb66 100644 --- a/plugins/node/instrumentation-amqplib/test/utils.ts +++ b/plugins/node/instrumentation-amqplib/test/utils.ts @@ -100,3 +100,5 @@ export const asyncConsume = ( ) ); }; + +export const shouldTest = !!process.env.RUN_RABBIT_TESTS; diff --git a/plugins/node/opentelemetry-instrumentation-aws-sdk/.tav.yml b/plugins/node/opentelemetry-instrumentation-aws-sdk/.tav.yml index 2f41cf8622..418a433ff4 100644 --- a/plugins/node/opentelemetry-instrumentation-aws-sdk/.tav.yml +++ b/plugins/node/opentelemetry-instrumentation-aws-sdk/.tav.yml @@ -1,21 +1,21 @@ "aws-sdk": # there are so many version to test, it can take forever. # we will just sample few of them - versions: ">=2.1004.0 || 2.1002.0 || 2.950.0 || 2.903.0 || 2.880.0 || 2.706.0 || 2.608.0 || 2.518.0 || 2.422.0 || 2.308.0" + versions: ">=2.1130.0 || 2.1048.0 || 2.1012.0 || 2.647.0 || 2.308.0" commands: - npm run test # Fix missing `contrib-test-utils` package pretest: npm run --prefix ../../../ lerna:link "@aws-sdk/client-s3": - versions: ">=3.33.0 || 3.27.0 || 3.18.0 || 3.6.1 || 3.3.0" + versions: ">=3.83.0 || 3.58.0 || 3.54.0 || 3.6.1" commands: - npm run test # Fix missing `contrib-test-utils` package pretest: npm run --prefix ../../../ lerna:link "@aws-sdk/client-sqs": - versions: ">=3.33.0 || 3.24.0 || 3.19.0 || 3.1.0" + versions: ">=3.85.0 || 3.82.0 || 3.58.0 || 3.54.0 || 3.43.0 || 3.24.0" commands: - npm run test # Fix missing `contrib-test-utils` package