Add fauxqs AWS engine #1684
ci.yml
on: pull_request
Get changed packages
3s
Matrix: aws-packages
Matrix: general
automerge
Annotations
40 errors and 10 notices
|
test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts > SnsSqsPermissionConsumer - startupResourcePollingConfig > when subscriptionArn is not provided (subscription creation mode) > returns immediately in non-blocking mode when topic not available:
packages/sns/test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts#L713
AssertionError: expected true to be false // Object.is equality
- Expected
+ Received
- false
+ true
❯ test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts:713:37
|
|
test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts > SnsSqsPermissionConsumer - startupResourcePollingConfig > when subscriptionArn is not provided (subscription creation mode) > throws StartupResourcePollingTimeoutError when topic never appears:
packages/sns/test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts#L686
AssertionError: promise resolved "undefined" instead of rejecting
- Expected:
Error {
"message": "rejected promise",
}
+ Received:
undefined
❯ test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts:686:35
|
|
test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts > SnsSqsPermissionConsumer - startupResourcePollingConfig > when nonBlocking mode is enabled > start() returns immediately when topic is not available and starts consumers when resources become ready:
packages/sns/test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts#L577
AssertionError: expected true to be false // Object.is equality
- Expected
+ Received
- false
+ true
❯ test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts:577:34
|
|
test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts > SnsSqsPermissionConsumer - startupResourcePollingConfig > when nonBlocking mode is enabled > invokes onResourcesError callback when background topic polling times out:
packages/sns/test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts#L537
AssertionError: expected false to be true // Object.is equality
- Expected
+ Received
- true
+ false
❯ vi.waitFor.timeout test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts:537:40
|
|
test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts > SnsSqsPermissionConsumer - startupResourcePollingConfig > when nonBlocking mode is enabled > invokes onResourcesError callback when background queue polling times out:
packages/sns/test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts#L484
AssertionError: expected false to be true // Object.is equality
- Expected
+ Received
- true
+ false
❯ vi.waitFor.timeout test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts:484:40
|
|
test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts > SnsSqsPermissionConsumer - startupResourcePollingConfig > when nonBlocking mode is enabled > invokes onResourcesReady callback when both resources become available in background:
packages/sns/test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts#L421
AssertionError: expected true to be false // Object.is equality
- Expected
+ Received
- false
+ true
❯ test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts:421:37
|
|
test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts > SnsSqsPermissionConsumer - startupResourcePollingConfig > when startupResourcePolling is enabled > throws StartupResourcePollingTimeoutError when timeout is reached:
packages/sns/test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts#L187
AssertionError: promise resolved "undefined" instead of rejecting
- Expected:
Error {
"message": "rejected promise",
}
+ Received:
undefined
❯ test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts:187:35
|
|
test/consumers/SnsSqsPermissionConsumer.spec.ts > SnsSqsPermissionConsumer > init > tags update > updates existing queue and topic tags when update is forced:
packages/sns/lib/utils/snsUtils.ts#L108
InternalError: some-topic - Invalid parameter: Tags Reason: Topic already exists with different tags
❯ assertTopic lib/utils/snsUtils.ts:108:13
❯ test/consumers/SnsSqsPermissionConsumer.spec.ts:316:21
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { errorCode: 'SNS_TOPIC_ALREADY_EXISTS_WITH_DIFFERENT_TAGS', details: { topicName: 'some-topic', currentTags: '{"$metadata":{"httpStatusCode":200,"requestId":"4623032B489E443F","extendedRequestId":"fauxqs","attempts":1,"totalRetryDelay":0},"Tags":[]}', newTags: '[{"Key":"project","Value":"sns-project"},{"Key":"service","Value":"sns-service"},{"Key":"leftover","Value":"sns-leftover"}]' } }
Caused by: Caused by: InvalidParameterException: Invalid parameter: Tags Reason: Topic already exists with different tags
❯ AwsQueryProtocol.handleError ../../node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:1345:27
❯ AwsQueryProtocol.deserializeResponse ../../node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:1310:13
❯ ../../node_modules/@smithy/core/dist-cjs/submodules/schema/index.js:26:24
❯ ../../node_modules/@smithy/core/dist-cjs/index.js:121:20
❯ ../../node_modules/@smithy/middleware-retry/dist-cjs/index.js:254:46
❯ ../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js:5:26
❯ assertTopic lib/utils/snsUtils.ts:88:22
❯ test/consumers/SnsSqsPermissionConsumer.spec.ts:316:21
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { '$fault': 'client', '$response': { statusCode: 400, reason: 'Bad Request', headers: { 'content-type': 'text/xml', 'x-amz-request-id': '3611C4DF7FF24EC4', 'x-amz-id-2': 'fauxqs', 'content-length': '318', date: 'Sat, 21 Feb 2026 18:53:39 GMT', connection: 'keep-alive', 'keep-alive': 'timeout=72' }, body: { _events: { close: undefined, error: 'Function<anonymous>', data: undefined, end: 'Function<responseOnEnd>', readable: undefined }, _readableState: { highWaterMark: 65536, buffer: [], bufferIndex: +0, length: +0, pipes: [], awaitDrainWriters: null, constructor: 'Function<ReadableState>', objectMode: false, ended: true, endEmitted: true, reading: false, constructed: true, sync: true, needReadable: false, emittedReadable: false, readableListening: false, resumeScheduled: false, errorEmitted: false, emitClose: true, autoDestroy: true, destroyed: true, closed: true, closeEmitted: true, multiAwaitDrain: false, readingMore: true, dataEmitted: true, errored: null, defaultEncoding: 'utf8', decoder: null, encoding: null, flowing: false, pipesCount: +0, paused: true }, _maxListeners: undefined, socket: null, httpVersionMajor: 1, httpVersionMinor: 1, httpVersion: '1.1', complete: true, rawHeaders: [ 'content-type', 'text/xml', 'x-amz-request-id', '3611C4DF7FF24EC4', 'x-amz-id-2', 'fauxqs', 'content-length', '318', 'Date', 'Sat, 21 Feb 2026 18:53:39 GMT', 'Connection', 'keep-alive', 'Keep-Alive', 'timeout=72' ], rawTrailers: [], joinDuplicateHeaders: undefined, aborted: false, upgrade: false, url: '', method: null, statusCode: 400, statusMessage: 'Bad Request', client: { connecting: false, _hadError: false, _parent: null, _host: 'localhost', _closeAfterHandlingError: false, _events: { close: 'Function<onClose>', error: 'Function<bound onceWrapper>', prefinish: undefined, finish: undefined, drain: undefined, data: undefined, end: 'Function<onReadableStreamEnd>', readable: undefined, connect: undefined, free: 'Function<onFree>', timeout: 'Function<onTimeout>', agentRemove: 'Function<onRemove>' }, _readableState: { highWaterMark: 65536, buffer: [], bufferIndex: +0, length: +0, pipes: [], awaitDrainWriters: null, constructor: 'Function<ReadableState>', objectMode: false, ended: false, endEmitted: false, reading: true, constructed: true, sync: false, needReadable: true, emittedReadable: false, readableListening: false, resumeScheduled: false, errorEmitted: false, emitClose: false, autoDestroy: true, destroyed: false, closed: false, closeEmitted: false, multiAwaitDrain: false, readingMore: false,
|
|
test/consumers/SnsSqsPermissionConsumer.spec.ts > SnsSqsPermissionConsumer > init > tags update > should throw error if tags are different and force tag update is not true:
packages/sns/lib/utils/snsUtils.ts#L108
InternalError: some-topic - Invalid parameter: Tags Reason: Topic already exists with different tags
❯ assertTopic lib/utils/snsUtils.ts:108:13
❯ test/consumers/SnsSqsPermissionConsumer.spec.ts:285:21
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { errorCode: 'SNS_TOPIC_ALREADY_EXISTS_WITH_DIFFERENT_TAGS', details: { topicName: 'some-topic', currentTags: '{"$metadata":{"httpStatusCode":200,"requestId":"62C94139C8D74654","extendedRequestId":"fauxqs","attempts":1,"totalRetryDelay":0},"Tags":[]}', newTags: '[{"Key":"project","Value":"some-project"},{"Key":"service","Value":"some-service"},{"Key":"leftover","Value":"some-leftover"}]' } }
Caused by: Caused by: InvalidParameterException: Invalid parameter: Tags Reason: Topic already exists with different tags
❯ AwsQueryProtocol.handleError ../../node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:1345:27
❯ AwsQueryProtocol.deserializeResponse ../../node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:1310:13
❯ ../../node_modules/@smithy/core/dist-cjs/submodules/schema/index.js:26:24
❯ ../../node_modules/@smithy/core/dist-cjs/index.js:121:20
❯ ../../node_modules/@smithy/middleware-retry/dist-cjs/index.js:254:46
❯ ../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js:5:26
❯ assertTopic lib/utils/snsUtils.ts:88:22
❯ test/consumers/SnsSqsPermissionConsumer.spec.ts:285:21
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { '$fault': 'client', '$response': { statusCode: 400, reason: 'Bad Request', headers: { 'content-type': 'text/xml', 'x-amz-request-id': 'C2D96C29CED64B45', 'x-amz-id-2': 'fauxqs', 'content-length': '318', date: 'Sat, 21 Feb 2026 18:53:39 GMT', connection: 'keep-alive', 'keep-alive': 'timeout=72' }, body: { _events: { close: undefined, error: 'Function<anonymous>', data: undefined, end: 'Function<responseOnEnd>', readable: undefined }, _readableState: { highWaterMark: 65536, buffer: [], bufferIndex: +0, length: +0, pipes: [], awaitDrainWriters: null, constructor: 'Function<ReadableState>', objectMode: false, ended: true, endEmitted: true, reading: false, constructed: true, sync: true, needReadable: false, emittedReadable: false, readableListening: false, resumeScheduled: false, errorEmitted: false, emitClose: true, autoDestroy: true, destroyed: true, closed: true, closeEmitted: true, multiAwaitDrain: false, readingMore: true, dataEmitted: true, errored: null, defaultEncoding: 'utf8', decoder: null, encoding: null, flowing: false, pipesCount: +0, paused: true }, _maxListeners: undefined, socket: null, httpVersionMajor: 1, httpVersionMinor: 1, httpVersion: '1.1', complete: true, rawHeaders: [ 'content-type', 'text/xml', 'x-amz-request-id', 'C2D96C29CED64B45', 'x-amz-id-2', 'fauxqs', 'content-length', '318', 'Date', 'Sat, 21 Feb 2026 18:53:39 GMT', 'Connection', 'keep-alive', 'Keep-Alive', 'timeout=72' ], rawTrailers: [], joinDuplicateHeaders: undefined, aborted: false, upgrade: false, url: '', method: null, statusCode: 400, statusMessage: 'Bad Request', client: { connecting: false, _hadError: false, _parent: null, _host: 'localhost', _closeAfterHandlingError: false, _events: { close: 'Function<onClose>', error: 'Function<bound onceWrapper>', prefinish: undefined, finish: undefined, drain: undefined, data: undefined, end: 'Function<onReadableStreamEnd>', readable: undefined, connect: undefined, free: 'Function<onFree>', timeout: 'Function<onTimeout>', agentRemove: 'Function<onRemove>' }, _readableState: { highWaterMark: 65536, buffer: [], bufferIndex: +0, length: +0, pipes: [], awaitDrainWriters: null, constructor: 'Function<ReadableState>', objectMode: false, ended: false, endEmitted: false, reading: true, constructed: true, sync: false, needReadable: true, emittedReadable: false, readableListening: false, resumeScheduled: false, errorEmitted: false, emitClose: false, autoDestroy: true, destroyed: false, closed: false, closeEmitted: false, multiAwaitDrain: false, readingMore: fals
|
|
test/consumers/SnsSqsPermissionConsumer.spec.ts > SnsSqsPermissionConsumer > init > tags update > updates existing topic tags when update is forced:
packages/sns/lib/utils/snsUtils.ts#L108
InternalError: some-topic - Invalid parameter: Tags Reason: Topic already exists with different tags
❯ assertTopic lib/utils/snsUtils.ts:108:13
❯ test/consumers/SnsSqsPermissionConsumer.spec.ts:247:21
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { errorCode: 'SNS_TOPIC_ALREADY_EXISTS_WITH_DIFFERENT_TAGS', details: { topicName: 'some-topic', currentTags: '{"$metadata":{"httpStatusCode":200,"requestId":"ACE6794DAA9E4F33","extendedRequestId":"fauxqs","attempts":1,"totalRetryDelay":0},"Tags":[]}', newTags: '[{"Key":"project","Value":"some-project"},{"Key":"service","Value":"some-service"},{"Key":"leftover","Value":"some-leftover"}]' } }
Caused by: Caused by: InvalidParameterException: Invalid parameter: Tags Reason: Topic already exists with different tags
❯ AwsQueryProtocol.handleError ../../node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:1345:27
❯ AwsQueryProtocol.deserializeResponse ../../node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:1310:13
❯ ../../node_modules/@smithy/core/dist-cjs/submodules/schema/index.js:26:24
❯ ../../node_modules/@smithy/core/dist-cjs/index.js:121:20
❯ ../../node_modules/@smithy/middleware-retry/dist-cjs/index.js:254:46
❯ ../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js:5:26
❯ assertTopic lib/utils/snsUtils.ts:88:22
❯ test/consumers/SnsSqsPermissionConsumer.spec.ts:247:21
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { '$fault': 'client', '$response': { statusCode: 400, reason: 'Bad Request', headers: { 'content-type': 'text/xml', 'x-amz-request-id': 'A9540A86EE3B4EF0', 'x-amz-id-2': 'fauxqs', 'content-length': '318', date: 'Sat, 21 Feb 2026 18:53:39 GMT', connection: 'keep-alive', 'keep-alive': 'timeout=72' }, body: { _events: { close: undefined, error: 'Function<anonymous>', data: undefined, end: 'Function<responseOnEnd>', readable: undefined }, _readableState: { highWaterMark: 65536, buffer: [], bufferIndex: +0, length: +0, pipes: [], awaitDrainWriters: null, constructor: 'Function<ReadableState>', objectMode: false, ended: true, endEmitted: true, reading: false, constructed: true, sync: true, needReadable: false, emittedReadable: false, readableListening: false, resumeScheduled: false, errorEmitted: false, emitClose: true, autoDestroy: true, destroyed: true, closed: true, closeEmitted: true, multiAwaitDrain: false, readingMore: true, dataEmitted: true, errored: null, defaultEncoding: 'utf8', decoder: null, encoding: null, flowing: false, pipesCount: +0, paused: true }, _maxListeners: undefined, socket: null, httpVersionMajor: 1, httpVersionMinor: 1, httpVersion: '1.1', complete: true, rawHeaders: [ 'content-type', 'text/xml', 'x-amz-request-id', 'A9540A86EE3B4EF0', 'x-amz-id-2', 'fauxqs', 'content-length', '318', 'Date', 'Sat, 21 Feb 2026 18:53:39 GMT', 'Connection', 'keep-alive', 'Keep-Alive', 'timeout=72' ], rawTrailers: [], joinDuplicateHeaders: undefined, aborted: false, upgrade: false, url: '', method: null, statusCode: 400, statusMessage: 'Bad Request', client: { connecting: false, _hadError: false, _parent: null, _host: 'localhost', _closeAfterHandlingError: false, _events: { close: 'Function<onClose>', error: 'Function<bound onceWrapper>', prefinish: undefined, finish: undefined, drain: undefined, data: undefined, end: 'Function<onReadableStreamEnd>', readable: undefined, connect: undefined, free: 'Function<onFree>', timeout: 'Function<onTimeout>', agentRemove: 'Function<onRemove>' }, _readableState: { highWaterMark: 65536, buffer: [], bufferIndex: +0, length: +0, pipes: [], awaitDrainWriters: null, constructor: 'Function<ReadableState>', objectMode: false, ended: false, endEmitted: false, reading: true, constructed: true, sync: false, needReadable: true, emittedReadable: false, readableListening: false, resumeScheduled: false, errorEmitted: false, emitClose: false, autoDestroy: true, destroyed: false, closed: false, closeEmitted: false, multiAwaitDrain: false, readingMore: fals
|
|
aws-packages (22.x, @message-queue-toolkit/sns, fauxqs) / build
The strategy configuration was canceled because "aws-packages._24_x__message-queue-to_3" failed
|
|
test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts > SnsSqsPermissionConsumer - startupResourcePollingConfig > when subscriptionArn is not provided (subscription creation mode) > throws StartupResourcePollingTimeoutError when topic never appears:
packages/sns/test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts#L686
AssertionError: promise resolved "undefined" instead of rejecting
- Expected:
Error {
"message": "rejected promise",
}
+ Received:
undefined
❯ test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts:686:35
|
|
test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts > SnsSqsPermissionConsumer - startupResourcePollingConfig > when nonBlocking mode is enabled > start() returns immediately when topic is not available and starts consumers when resources become ready:
packages/sns/test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts#L577
AssertionError: expected true to be false // Object.is equality
- Expected
+ Received
- false
+ true
❯ test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts:577:34
|
|
test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts > SnsSqsPermissionConsumer - startupResourcePollingConfig > when nonBlocking mode is enabled > invokes onResourcesError callback when background topic polling times out:
packages/sns/test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts#L537
AssertionError: expected false to be true // Object.is equality
- Expected
+ Received
- true
+ false
❯ vi.waitFor.timeout test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts:537:40
|
|
test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts > SnsSqsPermissionConsumer - startupResourcePollingConfig > when nonBlocking mode is enabled > invokes onResourcesError callback when background queue polling times out:
packages/sns/test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts#L484
AssertionError: expected false to be true // Object.is equality
- Expected
+ Received
- true
+ false
❯ vi.waitFor.timeout test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts:484:40
|
|
test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts > SnsSqsPermissionConsumer - startupResourcePollingConfig > when nonBlocking mode is enabled > invokes onResourcesReady callback when both resources become available in background:
packages/sns/test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts#L421
AssertionError: expected true to be false // Object.is equality
- Expected
+ Received
- false
+ true
❯ test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts:421:37
|
|
test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts > SnsSqsPermissionConsumer - startupResourcePollingConfig > when startupResourcePolling is enabled > throws StartupResourcePollingTimeoutError when timeout is reached:
packages/sns/test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts#L187
AssertionError: promise resolved "undefined" instead of rejecting
- Expected:
Error {
"message": "rejected promise",
}
+ Received:
undefined
❯ test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts:187:35
|
|
test/consumers/SnsSqsPermissionConsumer.spec.ts > SnsSqsPermissionConsumer > init > tags update > updates existing queue and topic tags when update is forced:
packages/sns/lib/utils/snsUtils.ts#L108
InternalError: some-topic - Invalid parameter: Tags Reason: Topic already exists with different tags
❯ assertTopic lib/utils/snsUtils.ts:108:13
❯ test/consumers/SnsSqsPermissionConsumer.spec.ts:316:21
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { errorCode: 'SNS_TOPIC_ALREADY_EXISTS_WITH_DIFFERENT_TAGS', details: { topicName: 'some-topic', currentTags: '{"$metadata":{"httpStatusCode":200,"requestId":"0BC4442A6A4B47F7","extendedRequestId":"fauxqs","attempts":1,"totalRetryDelay":0},"Tags":[]}', newTags: '[{"Key":"project","Value":"sns-project"},{"Key":"service","Value":"sns-service"},{"Key":"leftover","Value":"sns-leftover"}]' } }
Caused by: Caused by: InvalidParameterException: Invalid parameter: Tags Reason: Topic already exists with different tags
❯ AwsQueryProtocol.handleError ../../node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:1345:27
❯ AwsQueryProtocol.deserializeResponse ../../node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:1310:13
❯ ../../node_modules/@smithy/core/dist-cjs/submodules/schema/index.js:26:24
❯ ../../node_modules/@smithy/core/dist-cjs/index.js:121:20
❯ ../../node_modules/@smithy/middleware-retry/dist-cjs/index.js:254:46
❯ ../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js:5:26
❯ assertTopic lib/utils/snsUtils.ts:88:22
❯ test/consumers/SnsSqsPermissionConsumer.spec.ts:316:21
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { '$fault': 'client', '$response': { statusCode: 400, reason: 'Bad Request', headers: { 'content-type': 'text/xml', 'x-amz-request-id': 'B26AF405B6594104', 'x-amz-id-2': 'fauxqs', 'content-length': '318', date: 'Sat, 21 Feb 2026 18:53:42 GMT', connection: 'keep-alive', 'keep-alive': 'timeout=72' }, body: { _events: { close: undefined, error: 'Function<anonymous>', data: undefined, end: 'Function<responseOnEnd>', readable: undefined }, _readableState: { highWaterMark: 65536, buffer: [], bufferIndex: +0, length: +0, pipes: [], awaitDrainWriters: null, constructor: 'Function<ReadableState>', objectMode: false, ended: true, endEmitted: true, reading: false, constructed: true, sync: true, needReadable: false, emittedReadable: false, readableListening: false, resumeScheduled: false, errorEmitted: false, emitClose: true, autoDestroy: true, destroyed: true, closed: true, closeEmitted: true, multiAwaitDrain: false, readingMore: true, dataEmitted: true, errored: null, defaultEncoding: 'utf8', decoder: null, encoding: null, flowing: false, pipesCount: +0, paused: true }, _maxListeners: undefined, socket: null, httpVersionMajor: 1, httpVersionMinor: 1, httpVersion: '1.1', complete: true, rawHeaders: [ 'content-type', 'text/xml', 'x-amz-request-id', 'B26AF405B6594104', 'x-amz-id-2', 'fauxqs', 'content-length', '318', 'Date', 'Sat, 21 Feb 2026 18:53:42 GMT', 'Connection', 'keep-alive', 'Keep-Alive', 'timeout=72' ], rawTrailers: [], joinDuplicateHeaders: undefined, aborted: false, upgrade: false, url: '', method: null, statusCode: 400, statusMessage: 'Bad Request', client: { connecting: false, _hadError: false, _parent: null, _host: 'localhost', _closeAfterHandlingError: false, _events: { close: 'Function<onClose>', error: 'Function<bound onceWrapper>', prefinish: undefined, finish: undefined, drain: undefined, data: undefined, end: 'Function<onReadableStreamEnd>', readable: undefined, connect: undefined, free: 'Function<onFree>', timeout: 'Function<onTimeout>', agentRemove: 'Function<onRemove>' }, _readableState: { highWaterMark: 65536, buffer: [], bufferIndex: +0, length: +0, pipes: [], awaitDrainWriters: null, constructor: 'Function<ReadableState>', objectMode: false, ended: false, endEmitted: false, reading: true, constructed: true, sync: false, needReadable: true, emittedReadable: false, readableListening: false, resumeScheduled: false, errorEmitted: false, emitClose: false, autoDestroy: true, destroyed: false, closed: false, closeEmitted: false, multiAwaitDrain: false, readingMore: false,
|
|
test/consumers/SnsSqsPermissionConsumer.spec.ts > SnsSqsPermissionConsumer > init > tags update > should throw error if tags are different and force tag update is not true:
packages/sns/lib/utils/snsUtils.ts#L108
InternalError: some-topic - Invalid parameter: Tags Reason: Topic already exists with different tags
❯ assertTopic lib/utils/snsUtils.ts:108:13
❯ test/consumers/SnsSqsPermissionConsumer.spec.ts:285:21
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { errorCode: 'SNS_TOPIC_ALREADY_EXISTS_WITH_DIFFERENT_TAGS', details: { topicName: 'some-topic', currentTags: '{"$metadata":{"httpStatusCode":200,"requestId":"95BBB8EFEC114166","extendedRequestId":"fauxqs","attempts":1,"totalRetryDelay":0},"Tags":[]}', newTags: '[{"Key":"project","Value":"some-project"},{"Key":"service","Value":"some-service"},{"Key":"leftover","Value":"some-leftover"}]' } }
Caused by: Caused by: InvalidParameterException: Invalid parameter: Tags Reason: Topic already exists with different tags
❯ AwsQueryProtocol.handleError ../../node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:1345:27
❯ AwsQueryProtocol.deserializeResponse ../../node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:1310:13
❯ ../../node_modules/@smithy/core/dist-cjs/submodules/schema/index.js:26:24
❯ ../../node_modules/@smithy/core/dist-cjs/index.js:121:20
❯ ../../node_modules/@smithy/middleware-retry/dist-cjs/index.js:254:46
❯ ../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js:5:26
❯ assertTopic lib/utils/snsUtils.ts:88:22
❯ test/consumers/SnsSqsPermissionConsumer.spec.ts:285:21
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { '$fault': 'client', '$response': { statusCode: 400, reason: 'Bad Request', headers: { 'content-type': 'text/xml', 'x-amz-request-id': 'A7B20936E4CE4376', 'x-amz-id-2': 'fauxqs', 'content-length': '318', date: 'Sat, 21 Feb 2026 18:53:42 GMT', connection: 'keep-alive', 'keep-alive': 'timeout=72' }, body: { _events: { close: undefined, error: 'Function<anonymous>', data: undefined, end: 'Function<responseOnEnd>', readable: undefined }, _readableState: { highWaterMark: 65536, buffer: [], bufferIndex: +0, length: +0, pipes: [], awaitDrainWriters: null, constructor: 'Function<ReadableState>', objectMode: false, ended: true, endEmitted: true, reading: false, constructed: true, sync: true, needReadable: false, emittedReadable: false, readableListening: false, resumeScheduled: false, errorEmitted: false, emitClose: true, autoDestroy: true, destroyed: true, closed: true, closeEmitted: true, multiAwaitDrain: false, readingMore: true, dataEmitted: true, errored: null, defaultEncoding: 'utf8', decoder: null, encoding: null, flowing: false, pipesCount: +0, paused: true }, _maxListeners: undefined, socket: null, httpVersionMajor: 1, httpVersionMinor: 1, httpVersion: '1.1', complete: true, rawHeaders: [ 'content-type', 'text/xml', 'x-amz-request-id', 'A7B20936E4CE4376', 'x-amz-id-2', 'fauxqs', 'content-length', '318', 'Date', 'Sat, 21 Feb 2026 18:53:42 GMT', 'Connection', 'keep-alive', 'Keep-Alive', 'timeout=72' ], rawTrailers: [], joinDuplicateHeaders: undefined, aborted: false, upgrade: false, url: '', method: null, statusCode: 400, statusMessage: 'Bad Request', client: { connecting: false, _hadError: false, _parent: null, _host: 'localhost', _closeAfterHandlingError: false, _events: { close: 'Function<onClose>', error: 'Function<bound onceWrapper>', prefinish: undefined, finish: undefined, drain: undefined, data: undefined, end: 'Function<onReadableStreamEnd>', readable: undefined, connect: undefined, free: 'Function<onFree>', timeout: 'Function<onTimeout>', agentRemove: 'Function<onRemove>' }, _readableState: { highWaterMark: 65536, buffer: [], bufferIndex: +0, length: +0, pipes: [], awaitDrainWriters: null, constructor: 'Function<ReadableState>', objectMode: false, ended: false, endEmitted: false, reading: true, constructed: true, sync: false, needReadable: true, emittedReadable: false, readableListening: false, resumeScheduled: false, errorEmitted: false, emitClose: false, autoDestroy: true, destroyed: false, closed: false, closeEmitted: false, multiAwaitDrain: false, readingMore: fals
|
|
test/consumers/SnsSqsPermissionConsumer.spec.ts > SnsSqsPermissionConsumer > init > tags update > updates existing topic tags when update is forced:
packages/sns/lib/utils/snsUtils.ts#L108
InternalError: some-topic - Invalid parameter: Tags Reason: Topic already exists with different tags
❯ assertTopic lib/utils/snsUtils.ts:108:13
❯ test/consumers/SnsSqsPermissionConsumer.spec.ts:247:21
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { errorCode: 'SNS_TOPIC_ALREADY_EXISTS_WITH_DIFFERENT_TAGS', details: { topicName: 'some-topic', currentTags: '{"$metadata":{"httpStatusCode":200,"requestId":"5A9BC2E62CB2410A","extendedRequestId":"fauxqs","attempts":1,"totalRetryDelay":0},"Tags":[]}', newTags: '[{"Key":"project","Value":"some-project"},{"Key":"service","Value":"some-service"},{"Key":"leftover","Value":"some-leftover"}]' } }
Caused by: Caused by: InvalidParameterException: Invalid parameter: Tags Reason: Topic already exists with different tags
❯ AwsQueryProtocol.handleError ../../node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:1345:27
❯ AwsQueryProtocol.deserializeResponse ../../node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js:1310:13
❯ ../../node_modules/@smithy/core/dist-cjs/submodules/schema/index.js:26:24
❯ ../../node_modules/@smithy/core/dist-cjs/index.js:121:20
❯ ../../node_modules/@smithy/middleware-retry/dist-cjs/index.js:254:46
❯ ../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js:5:26
❯ assertTopic lib/utils/snsUtils.ts:88:22
❯ test/consumers/SnsSqsPermissionConsumer.spec.ts:247:21
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { '$fault': 'client', '$response': { statusCode: 400, reason: 'Bad Request', headers: { 'content-type': 'text/xml', 'x-amz-request-id': '822188BBB0144145', 'x-amz-id-2': 'fauxqs', 'content-length': '318', date: 'Sat, 21 Feb 2026 18:53:42 GMT', connection: 'keep-alive', 'keep-alive': 'timeout=72' }, body: { _events: { close: undefined, error: 'Function<anonymous>', data: undefined, end: 'Function<responseOnEnd>', readable: undefined }, _readableState: { highWaterMark: 65536, buffer: [], bufferIndex: +0, length: +0, pipes: [], awaitDrainWriters: null, constructor: 'Function<ReadableState>', objectMode: false, ended: true, endEmitted: true, reading: false, constructed: true, sync: true, needReadable: false, emittedReadable: false, readableListening: false, resumeScheduled: false, errorEmitted: false, emitClose: true, autoDestroy: true, destroyed: true, closed: true, closeEmitted: true, multiAwaitDrain: false, readingMore: true, dataEmitted: true, errored: null, defaultEncoding: 'utf8', decoder: null, encoding: null, flowing: false, pipesCount: +0, paused: true }, _maxListeners: undefined, socket: null, httpVersionMajor: 1, httpVersionMinor: 1, httpVersion: '1.1', complete: true, rawHeaders: [ 'content-type', 'text/xml', 'x-amz-request-id', '822188BBB0144145', 'x-amz-id-2', 'fauxqs', 'content-length', '318', 'Date', 'Sat, 21 Feb 2026 18:53:42 GMT', 'Connection', 'keep-alive', 'Keep-Alive', 'timeout=72' ], rawTrailers: [], joinDuplicateHeaders: undefined, aborted: false, upgrade: false, url: '', method: null, statusCode: 400, statusMessage: 'Bad Request', client: { connecting: false, _hadError: false, _parent: null, _host: 'localhost', _closeAfterHandlingError: false, _events: { close: 'Function<onClose>', error: 'Function<bound onceWrapper>', prefinish: undefined, finish: undefined, drain: undefined, data: undefined, end: 'Function<onReadableStreamEnd>', readable: undefined, connect: undefined, free: 'Function<onFree>', timeout: 'Function<onTimeout>', agentRemove: 'Function<onRemove>' }, _readableState: { highWaterMark: 65536, buffer: [], bufferIndex: +0, length: +0, pipes: [], awaitDrainWriters: null, constructor: 'Function<ReadableState>', objectMode: false, ended: false, endEmitted: false, reading: true, constructed: true, sync: false, needReadable: true, emittedReadable: false, readableListening: false, resumeScheduled: false, errorEmitted: false, emitClose: false, autoDestroy: true, destroyed: false, closed: false, closeEmitted: false, multiAwaitDrain: false, readingMore: fals
|
|
aws-packages (22.x, @message-queue-toolkit/sns, fauxqs) / build
@message-queue-toolkit/sns#test:coverage: command (/home/runner/work/message-queue-toolkit/message-queue-toolkit/packages/sns) /opt/hostedtoolcache/node/22.22.0/x64/bin/npm run test:coverage exited (1)
|
|
aws-packages (22.x, @message-queue-toolkit/sqs, fauxqs) / build
The strategy configuration was canceled because "aws-packages._24_x__message-queue-to_3" failed
|
|
aws-packages (22.x, @message-queue-toolkit/sqs, fauxqs) / build
The operation was canceled.
|
|
aws-packages (22.x, @message-queue-toolkit/sqs, localstack) / build
The strategy configuration was canceled because "aws-packages._24_x__message-queue-to_3" failed
|
|
aws-packages (22.x, @message-queue-toolkit/sqs, localstack) / build
The operation was canceled.
|
|
aws-packages (22.x, @message-queue-toolkit/sns, localstack) / build
The strategy configuration was canceled because "aws-packages._24_x__message-queue-to_3" failed
|
|
aws-packages (22.x, @message-queue-toolkit/sns, localstack) / build
The operation was canceled.
|
|
aws-packages (24.x, @message-queue-toolkit/sns, localstack) / build
The strategy configuration was canceled because "aws-packages._24_x__message-queue-to_3" failed
|
|
aws-packages (24.x, @message-queue-toolkit/sns, localstack) / build
The operation was canceled.
|
|
aws-packages (24.x, @message-queue-toolkit/sqs, localstack) / build
The strategy configuration was canceled because "aws-packages._24_x__message-queue-to_3" failed
|
|
aws-packages (24.x, @message-queue-toolkit/sqs, localstack) / build
The operation was canceled.
|
|
aws-packages (24.x, @message-queue-toolkit/sqs, fauxqs) / build
The strategy configuration was canceled because "aws-packages._24_x__message-queue-to_3" failed
|
|
aws-packages (24.x, @message-queue-toolkit/sqs, fauxqs) / build
The operation was canceled.
|
|
CI
The strategy configuration was canceled because "aws-packages._24_x__message-queue-to_3" failed
|
|
CI
The strategy configuration was canceled because "aws-packages._24_x__message-queue-to_3" failed
|
|
CI
The strategy configuration was canceled because "aws-packages._24_x__message-queue-to_3" failed
|
|
CI
The strategy configuration was canceled because "aws-packages._24_x__message-queue-to_3" failed
|
|
CI
The strategy configuration was canceled because "aws-packages._24_x__message-queue-to_3" failed
|
|
CI
The strategy configuration was canceled because "aws-packages._24_x__message-queue-to_3" failed
|
|
CI
The strategy configuration was canceled because "aws-packages._24_x__message-queue-to_3" failed
|
|
general (24.x, @message-queue-toolkit/s3-payload-store) / build
Running @message-queue-toolkit/s3-payload-store with QUEUE_BACKEND=fauxqs
|
|
general (22.x, @message-queue-toolkit/s3-payload-store) / build
Running @message-queue-toolkit/s3-payload-store with QUEUE_BACKEND=fauxqs
|
|
aws-packages (24.x, @message-queue-toolkit/sns, fauxqs) / build
Running @message-queue-toolkit/sns with QUEUE_BACKEND=fauxqs
|
|
aws-packages (22.x, @message-queue-toolkit/sns, fauxqs) / build
Running @message-queue-toolkit/sns with QUEUE_BACKEND=fauxqs
|
|
aws-packages (22.x, @message-queue-toolkit/sqs, fauxqs) / build
Running @message-queue-toolkit/sqs with QUEUE_BACKEND=fauxqs
|
|
aws-packages (22.x, @message-queue-toolkit/sqs, localstack) / build
Running @message-queue-toolkit/sqs with QUEUE_BACKEND=localstack
|
|
aws-packages (22.x, @message-queue-toolkit/sns, localstack) / build
Running @message-queue-toolkit/sns with QUEUE_BACKEND=localstack
|
|
aws-packages (24.x, @message-queue-toolkit/sns, localstack) / build
Running @message-queue-toolkit/sns with QUEUE_BACKEND=localstack
|
|
aws-packages (24.x, @message-queue-toolkit/sqs, localstack) / build
Running @message-queue-toolkit/sqs with QUEUE_BACKEND=localstack
|
|
aws-packages (24.x, @message-queue-toolkit/sqs, fauxqs) / build
Running @message-queue-toolkit/sqs with QUEUE_BACKEND=fauxqs
|