Skip to content

Commit d0b34bd

Browse files
committed
Cleanup
1 parent dfe884a commit d0b34bd

16 files changed

Lines changed: 110 additions & 50 deletions

packages/s3-payload-store/test/store/S3PayloadStore.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { beforeAll, beforeEach, describe, expect, it } from 'vitest'
66
import { resolvePayloadStoreConfig, S3PayloadStore } from '../../lib/S3PayloadStore.ts'
77
import { assertEmptyBucket, getObjectContent, objectExists } from '../utils/s3Utils.ts'
88
import { streamToString } from '../utils/streamUtils.ts'
9-
import { TEST_AWS_CONFIG } from '../utils/testS3Config.ts'
9+
import { getTestS3Config } from '../utils/testS3Config.ts'
1010

1111
const TEST_BUCKET = 'test-bucket'
1212

@@ -15,7 +15,7 @@ describe('S3PayloadStore', () => {
1515
let store: S3PayloadStore
1616

1717
beforeAll(() => {
18-
s3 = new S3(TEST_AWS_CONFIG)
18+
s3 = new S3(getTestS3Config())
1919
store = new S3PayloadStore({ s3 }, { bucketName: TEST_BUCKET })
2020
})
2121
beforeEach(async () => {

packages/s3-payload-store/test/utils/globalSetup.ts

Lines changed: 0 additions & 11 deletions
This file was deleted.
Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
import type { S3ClientConfig } from '@aws-sdk/client-s3'
22
import { createLocalhostHandler } from 'fauxqs'
33

4-
export const TEST_AWS_CONFIG: S3ClientConfig = {
5-
endpoint: 'http://s3.localhost:4566',
6-
region: 'eu-west-1',
7-
credentials: {
8-
accessKeyId: 'access',
9-
secretAccessKey: 'secret',
10-
},
11-
requestHandler: createLocalhostHandler(),
4+
import { getFauxqsPort } from './fauxqsInstance.ts'
5+
6+
export function getTestS3Config(): S3ClientConfig {
7+
const port = getFauxqsPort()
8+
return {
9+
endpoint: `http://s3.localhost:${port}`,
10+
region: 'eu-west-1',
11+
credentials: {
12+
accessKeyId: 'access',
13+
secretAccessKey: 'secret',
14+
},
15+
requestHandler: createLocalhostHandler(),
16+
}
1217
}

packages/s3-payload-store/vitest.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export default defineConfig({
88
mockReset: true,
99
pool: 'threads',
1010
maxWorkers: 1,
11-
globalSetup: ['test/utils/globalSetup.ts'],
11+
setupFiles: ['test/utils/vitest.setup.ts'],
1212
coverage: {
1313
provider: 'v8',
1414
include: ['lib/**/*.ts'],

packages/sns/test/consumers/SnsSqsPermissionConsumer.deadLetterQueue.spec.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import type { AwilixContainer } from 'awilix'
55
import { Consumer } from 'sqs-consumer'
66
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it } from 'vitest'
77
import type { SnsPermissionPublisher } from '../publishers/SnsPermissionPublisher.ts'
8+
import { getPort } from '../utils/fauxqsInstance.ts'
89
import type { TestAwsResourceAdmin } from '../utils/testAdmin.ts'
910
import type { Dependencies } from '../utils/testContext.ts'
1011
import { registerDependencies } from '../utils/testContext.ts'
@@ -71,10 +72,10 @@ describe('SnsSqsPermissionConsumer - dead letter queue', () => {
7172

7273
await newConsumer.init()
7374
expect(newConsumer.subscriptionProps.queueUrl).toBe(
74-
`http://sqs.eu-west-1.localstack:4566/000000000000/${queueName}`,
75+
`http://sqs.eu-west-1.localstack:${getPort()}/000000000000/${queueName}`,
7576
)
7677
expect(newConsumer.subscriptionProps.deadLetterQueueUrl).toBe(
77-
`http://sqs.eu-west-1.localstack:4566/000000000000/${deadLetterQueueName}`,
78+
`http://sqs.eu-west-1.localstack:${getPort()}/000000000000/${deadLetterQueueName}`,
7879
)
7980

8081
const attributes = await getQueueAttributes(sqsClient, newConsumer.subscriptionProps.queueUrl)
@@ -99,17 +100,17 @@ describe('SnsSqsPermissionConsumer - dead letter queue', () => {
99100
deadLetterQueue: {
100101
redrivePolicy: { maxReceiveCount: 3 },
101102
locatorConfig: {
102-
queueUrl: `http://sqs.eu-west-1.localstack:4566/000000000000/${deadLetterQueueName}`,
103+
queueUrl: `http://sqs.eu-west-1.localstack:${getPort()}/000000000000/${deadLetterQueueName}`,
103104
},
104105
},
105106
})
106107

107108
await newConsumer.init()
108109
expect(newConsumer.subscriptionProps.queueUrl).toBe(
109-
`http://sqs.eu-west-1.localstack:4566/000000000000/${queueName}`,
110+
`http://sqs.eu-west-1.localstack:${getPort()}/000000000000/${queueName}`,
110111
)
111112
expect(newConsumer.subscriptionProps.deadLetterQueueUrl).toBe(
112-
`http://sqs.eu-west-1.localstack:4566/000000000000/${deadLetterQueueName}`,
113+
`http://sqs.eu-west-1.localstack:${getPort()}/000000000000/${deadLetterQueueName}`,
113114
)
114115

115116
const attributes = await getQueueAttributes(sqsClient, newConsumer.subscriptionProps.queueUrl)
@@ -150,10 +151,10 @@ describe('SnsSqsPermissionConsumer - dead letter queue', () => {
150151

151152
await newConsumer.init()
152153
expect(newConsumer.subscriptionProps.queueUrl).toBe(
153-
`http://sqs.eu-west-1.localstack:4566/000000000000/${queueName}`,
154+
`http://sqs.eu-west-1.localstack:${getPort()}/000000000000/${queueName}`,
154155
)
155156
expect(newConsumer.subscriptionProps.deadLetterQueueUrl).toBe(
156-
`http://sqs.eu-west-1.localstack:4566/000000000000/${deadLetterQueueName}`,
157+
`http://sqs.eu-west-1.localstack:${getPort()}/000000000000/${deadLetterQueueName}`,
157158
)
158159

159160
const mainQueueAttributes = await getQueueAttributes(

packages/sns/test/consumers/SnsSqsPermissionConsumer.spec.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { type AwilixContainer, asFunction, asValue } from 'awilix'
88
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
99
import { assertTopic } from '../../lib/utils/snsUtils.ts'
1010
import { SnsPermissionPublisher } from '../publishers/SnsPermissionPublisher.ts'
11+
import { getPort } from '../utils/fauxqsInstance.ts'
1112
import type { TestAwsResourceAdmin } from '../utils/testAdmin.ts'
1213
import type { Dependencies } from '../utils/testContext.ts'
1314
import { registerDependencies } from '../utils/testContext.ts'
@@ -19,7 +20,7 @@ describe('SnsSqsPermissionConsumer', () => {
1920
const queueName = 'some-queue'
2021
const topicNome = 'some-topic'
2122

22-
const queueUrl = `http://sqs.eu-west-1.localstack:4566/000000000000/${queueName}`
23+
const queueUrl = `http://sqs.eu-west-1.localstack:${getPort()}/000000000000/${queueName}`
2324

2425
let diContainer: AwilixContainer<Dependencies>
2526
let sqsClient: SQSClient
@@ -487,7 +488,7 @@ describe('SnsSqsPermissionConsumer', () => {
487488
await newConsumer.init()
488489
expect(newConsumer.subscriptionProps.queueUrl).toBe(queueUrl)
489490
expect(newConsumer.subscriptionProps.deadLetterQueueUrl).toBe(
490-
'http://sqs.eu-west-1.localstack:4566/000000000000/deadLetterQueue',
491+
`http://sqs.eu-west-1.localstack:${getPort()}/000000000000/deadLetterQueue`,
491492
)
492493

493494
const attributes = await getQueueAttributes(
@@ -515,15 +516,15 @@ describe('SnsSqsPermissionConsumer', () => {
515516
deadLetterQueue: {
516517
redrivePolicy: { maxReceiveCount: 3 },
517518
locatorConfig: {
518-
queueUrl: 'http://sqs.eu-west-1.localstack:4566/000000000000/deadLetterQueue',
519+
queueUrl: `http://sqs.eu-west-1.localstack:${getPort()}/000000000000/deadLetterQueue`,
519520
},
520521
},
521522
})
522523

523524
await newConsumer.init()
524525
expect(newConsumer.subscriptionProps.queueUrl).toBe(queueUrl)
525526
expect(newConsumer.subscriptionProps.deadLetterQueueUrl).toBe(
526-
'http://sqs.eu-west-1.localstack:4566/000000000000/deadLetterQueue',
527+
`http://sqs.eu-west-1.localstack:${getPort()}/000000000000/deadLetterQueue`,
527528
)
528529

529530
const attributes = await getQueueAttributes(

packages/sns/test/consumers/SnsSqsPermissionConsumer.startupResourcePolling.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515
type SNSSQSConsumerOptions,
1616
} from '../../lib/sns/AbstractSnsSqsConsumer.ts'
1717
import { initSnsSqs } from '../../lib/utils/snsInitter.ts'
18+
import { getPort } from '../utils/fauxqsInstance.ts'
1819
import type { TestAwsResourceAdmin } from '../utils/testAdmin.ts'
1920
import type { Dependencies } from '../utils/testContext.ts'
2021
import { registerDependencies } from '../utils/testContext.ts'
@@ -62,7 +63,7 @@ class TestStartupResourcePollingConsumer extends AbstractSnsSqsConsumer<
6263
describe('SnsSqsPermissionConsumer - startupResourcePollingConfig', () => {
6364
const queueName = 'startup-resource-polling-test-queue'
6465
const topicName = 'startup-resource-polling-test-topic'
65-
const queueUrl = `http://sqs.eu-west-1.localstack:4566/000000000000/${queueName}`
66+
const queueUrl = `http://sqs.eu-west-1.localstack:${getPort()}/000000000000/${queueName}`
6667

6768
let diContainer: AwilixContainer<Dependencies>
6869
let sqsClient: SQSClient

packages/sns/test/utils/fauxqsInstance.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,29 @@
22
import { type FauxqsServer, startFauxqs } from 'fauxqs'
33

44
const isLocalstack = process.env.QUEUE_BACKEND === 'localstack'
5+
const LOCALSTACK_PORT = 4566
6+
const LOCALSTACK_HOST = 'localstack'
7+
const FAUXQS_PORT = 4567
8+
const FAUXQS_HOST = 'localstack'
9+
510
let server: FauxqsServer | undefined
611

12+
export function getPort(): number {
13+
return isLocalstack ? LOCALSTACK_PORT : FAUXQS_PORT
14+
}
15+
16+
export function getHost(): string {
17+
return isLocalstack ? LOCALSTACK_HOST : FAUXQS_HOST
18+
}
19+
720
export async function ensureFauxqsServer(): Promise<void> {
821
if (isLocalstack) {
922
console.log(`[fauxqs] skipping, QUEUE_BACKEND=${process.env.QUEUE_BACKEND}`)
1023
return
1124
}
1225
if (server) return
13-
server = await startFauxqs({ port: 4566, logger: false, host: 'localstack' })
14-
console.log('[fauxqs] server started on port 4566')
26+
server = await startFauxqs({ port: FAUXQS_PORT, logger: false, host: 'localstack' })
27+
console.log(`[fauxqs] server started on port ${FAUXQS_PORT}`)
1528
}
1629

1730
export function getFauxqsServer(): FauxqsServer | undefined {

packages/sns/test/utils/testAdmin.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ export class TestAwsResourceAdmin {
1414
private snsClient: SNSClient
1515
private stsClient: STSClient
1616
private region: string
17+
private port: number
18+
private host: string
1719

1820
constructor(opts: {
1921
server: FauxqsServer | undefined
@@ -22,13 +24,25 @@ export class TestAwsResourceAdmin {
2224
snsClient: SNSClient
2325
stsClient: STSClient
2426
region: string
27+
port: number
28+
host: string
2529
}) {
2630
this.server = opts.server
2731
this.sqsClient = opts.sqsClient
2832
this.s3 = opts.s3
2933
this.snsClient = opts.snsClient
3034
this.stsClient = opts.stsClient
3135
this.region = opts.region
36+
this.port = opts.port
37+
this.host = opts.host
38+
}
39+
40+
getPort(): number {
41+
return this.port
42+
}
43+
44+
getHost(): string {
45+
return this.host
3246
}
3347

3448
async createQueue(

packages/sns/test/utils/testContext.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import { SnsPublisherManager } from '../../lib/sns/SnsPublisherManager.ts'
2525
import { SnsSqsPermissionConsumer } from '../consumers/SnsSqsPermissionConsumer.ts'
2626
import { CreateLocateConfigMixPublisher } from '../publishers/CreateLocateConfigMixPublisher.ts'
2727
import { SnsPermissionPublisher } from '../publishers/SnsPermissionPublisher.ts'
28-
import { getFauxqsServer } from './fauxqsInstance.ts'
28+
import { getFauxqsServer, getHost, getPort } from './fauxqsInstance.ts'
2929
import { TestAwsResourceAdmin } from './testAdmin.ts'
3030
import { TEST_REDIS_CONFIG } from './testRedisConfig.ts'
3131
import { TEST_AWS_CONFIG, TEST_S3_CONFIG } from './testSnsConfig.ts'
@@ -124,6 +124,8 @@ export async function registerDependencies(
124124
snsClient: deps.snsClient,
125125
stsClient: deps.stsClient,
126126
region: 'eu-west-1',
127+
port: getPort(),
128+
host: getHost(),
127129
})
128130
}, SINGLETON_CONFIG),
129131

0 commit comments

Comments
 (0)