@amqp-contract/testing 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +100 -0
- package/dist/extension.d.mts +10 -0
- package/dist/extension.d.mts.map +1 -0
- package/dist/extension.mjs +13124 -0
- package/dist/extension.mjs.map +1 -0
- package/dist/global-setup.d.mts +20 -0
- package/dist/global-setup.d.mts.map +1 -0
- package/dist/global-setup.mjs +43 -0
- package/dist/global-setup.mjs.map +1 -0
- package/dist/magic-string.es-mfcqQQ0l.mjs +1014 -0
- package/dist/magic-string.es-mfcqQQ0l.mjs.map +1 -0
- package/package.json +35 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { TestProject } from "vitest/node";
|
|
2
|
+
|
|
3
|
+
//#region src/global-setup.d.ts
|
|
4
|
+
declare module "vitest" {
|
|
5
|
+
interface ProvidedContext {
|
|
6
|
+
__TESTCONTAINERS_RABBITMQ_IP__: string;
|
|
7
|
+
__TESTCONTAINERS_RABBITMQ_PORT_5672__: number;
|
|
8
|
+
__TESTCONTAINERS_RABBITMQ_PORT_15672__: number;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Setup function for Vitest globalSetup
|
|
13
|
+
* Starts a RabbitMQ container before all tests
|
|
14
|
+
*/
|
|
15
|
+
declare function setup({
|
|
16
|
+
provide
|
|
17
|
+
}: TestProject): Promise<() => Promise<void>>;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { setup as default };
|
|
20
|
+
//# sourceMappingURL=global-setup.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-setup.d.mts","names":[],"sources":["../src/global-setup.ts"],"sourcesContent":[],"mappings":";;;;;IAC+C,8BAAA,EAAA,MAAA;IAAA,qCAAA,EAAA,MAAA;IAAA,sCAAA,EAAA,MAAA;EAAA;;AAAA;;;;AAca,iBAA9B,KAAA,CAA8B;EAAA;AAAA,CAAA,EAAX,WAAW,CAAA,EAAA,OAAA,CAAA,GAAA,GAAA,OAAA,CAAA,IAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { GenericContainer, Wait } from "testcontainers";
|
|
2
|
+
|
|
3
|
+
//#region src/global-setup.ts
|
|
4
|
+
/**
|
|
5
|
+
* Setup function for Vitest globalSetup
|
|
6
|
+
* Starts a RabbitMQ container before all tests
|
|
7
|
+
*/
|
|
8
|
+
async function setup({ provide }) {
|
|
9
|
+
console.log("๐ณ Starting RabbitMQ test environment...");
|
|
10
|
+
const rabbitmqContainer = await new GenericContainer("rabbitmq:4.2.1-management-alpine").withExposedPorts(5672, 15672).withEnvironment({
|
|
11
|
+
RABBITMQ_DEFAULT_USER: "guest",
|
|
12
|
+
RABBITMQ_DEFAULT_PASS: "guest"
|
|
13
|
+
}).withHealthCheck({
|
|
14
|
+
test: [
|
|
15
|
+
"CMD",
|
|
16
|
+
"rabbitmq-diagnostics",
|
|
17
|
+
"-q",
|
|
18
|
+
"ping"
|
|
19
|
+
],
|
|
20
|
+
interval: 1e3,
|
|
21
|
+
retries: 30,
|
|
22
|
+
startPeriod: 3e3,
|
|
23
|
+
timeout: 5e3
|
|
24
|
+
}).withWaitStrategy(Wait.forHealthCheck()).start();
|
|
25
|
+
console.log("โ
RabbitMQ container started");
|
|
26
|
+
const __TESTCONTAINERS_RABBITMQ_IP__ = rabbitmqContainer.getHost();
|
|
27
|
+
const __TESTCONTAINERS_RABBITMQ_PORT_5672__ = rabbitmqContainer.getMappedPort(5672);
|
|
28
|
+
const __TESTCONTAINERS_RABBITMQ_PORT_15672__ = rabbitmqContainer.getMappedPort(15672);
|
|
29
|
+
provide("__TESTCONTAINERS_RABBITMQ_IP__", __TESTCONTAINERS_RABBITMQ_IP__);
|
|
30
|
+
provide("__TESTCONTAINERS_RABBITMQ_PORT_5672__", __TESTCONTAINERS_RABBITMQ_PORT_5672__);
|
|
31
|
+
provide("__TESTCONTAINERS_RABBITMQ_PORT_15672__", __TESTCONTAINERS_RABBITMQ_PORT_15672__);
|
|
32
|
+
console.log(`๐ RabbitMQ test environment is ready at ${__TESTCONTAINERS_RABBITMQ_IP__}:${__TESTCONTAINERS_RABBITMQ_PORT_5672__}`);
|
|
33
|
+
console.log(`๐ RabbitMQ management console available at http://${__TESTCONTAINERS_RABBITMQ_IP__}:${__TESTCONTAINERS_RABBITMQ_PORT_15672__}`);
|
|
34
|
+
return async () => {
|
|
35
|
+
console.log("๐งน Stopping RabbitMQ test environment...");
|
|
36
|
+
await rabbitmqContainer.stop();
|
|
37
|
+
console.log("โ
RabbitMQ test environment stopped");
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
export { setup as default };
|
|
43
|
+
//# sourceMappingURL=global-setup.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-setup.mjs","names":[],"sources":["../src/global-setup.ts"],"sourcesContent":["import { GenericContainer, Wait } from \"testcontainers\";\nimport type { TestProject } from \"vitest/node\";\n\ndeclare module \"vitest\" {\n export interface ProvidedContext {\n __TESTCONTAINERS_RABBITMQ_IP__: string;\n __TESTCONTAINERS_RABBITMQ_PORT_5672__: number;\n __TESTCONTAINERS_RABBITMQ_PORT_15672__: number;\n }\n}\n\n/**\n * Setup function for Vitest globalSetup\n * Starts a RabbitMQ container before all tests\n */\nexport default async function setup({ provide }: TestProject) {\n console.log(\"๐ณ Starting RabbitMQ test environment...\");\n\n // Start RabbitMQ container with management plugin\n const rabbitmqContainer = await new GenericContainer(\"rabbitmq:4.2.1-management-alpine\")\n .withExposedPorts(5672, 15672)\n .withEnvironment({\n RABBITMQ_DEFAULT_USER: \"guest\",\n RABBITMQ_DEFAULT_PASS: \"guest\",\n })\n .withHealthCheck({\n test: [\"CMD\", \"rabbitmq-diagnostics\", \"-q\", \"ping\"],\n interval: 1_000,\n retries: 30,\n startPeriod: 3_000,\n timeout: 5_000,\n })\n .withWaitStrategy(Wait.forHealthCheck())\n .start();\n\n console.log(\"โ
RabbitMQ container started\");\n\n const __TESTCONTAINERS_RABBITMQ_IP__ = rabbitmqContainer.getHost();\n const __TESTCONTAINERS_RABBITMQ_PORT_5672__ = rabbitmqContainer.getMappedPort(5672);\n const __TESTCONTAINERS_RABBITMQ_PORT_15672__ = rabbitmqContainer.getMappedPort(15672);\n\n // Provide context values with type assertions to work around TypeScript limitations\n provide(\"__TESTCONTAINERS_RABBITMQ_IP__\", __TESTCONTAINERS_RABBITMQ_IP__);\n provide(\"__TESTCONTAINERS_RABBITMQ_PORT_5672__\", __TESTCONTAINERS_RABBITMQ_PORT_5672__);\n provide(\"__TESTCONTAINERS_RABBITMQ_PORT_15672__\", __TESTCONTAINERS_RABBITMQ_PORT_15672__);\n\n console.log(\n `๐ RabbitMQ test environment is ready at ${__TESTCONTAINERS_RABBITMQ_IP__}:${__TESTCONTAINERS_RABBITMQ_PORT_5672__}`,\n );\n console.log(\n `๐ RabbitMQ management console available at http://${__TESTCONTAINERS_RABBITMQ_IP__}:${__TESTCONTAINERS_RABBITMQ_PORT_15672__}`,\n );\n\n // Return cleanup function\n return async () => {\n console.log(\"๐งน Stopping RabbitMQ test environment...\");\n await rabbitmqContainer.stop();\n console.log(\"โ
RabbitMQ test environment stopped\");\n };\n}\n"],"mappings":";;;;;;;AAeA,eAA8B,MAAM,EAAE,WAAwB;AAC5D,SAAQ,IAAI,2CAA2C;CAGvD,MAAM,oBAAoB,MAAM,IAAI,iBAAiB,mCAAmC,CACrF,iBAAiB,MAAM,MAAM,CAC7B,gBAAgB;EACf,uBAAuB;EACvB,uBAAuB;EACxB,CAAC,CACD,gBAAgB;EACf,MAAM;GAAC;GAAO;GAAwB;GAAM;GAAO;EACnD,UAAU;EACV,SAAS;EACT,aAAa;EACb,SAAS;EACV,CAAC,CACD,iBAAiB,KAAK,gBAAgB,CAAC,CACvC,OAAO;AAEV,SAAQ,IAAI,+BAA+B;CAE3C,MAAM,iCAAiC,kBAAkB,SAAS;CAClE,MAAM,wCAAwC,kBAAkB,cAAc,KAAK;CACnF,MAAM,yCAAyC,kBAAkB,cAAc,MAAM;AAGrF,SAAQ,kCAAkC,+BAA+B;AACzE,SAAQ,yCAAyC,sCAAsC;AACvF,SAAQ,0CAA0C,uCAAuC;AAEzF,SAAQ,IACN,4CAA4C,+BAA+B,GAAG,wCAC/E;AACD,SAAQ,IACN,sDAAsD,+BAA+B,GAAG,yCACzF;AAGD,QAAO,YAAY;AACjB,UAAQ,IAAI,2CAA2C;AACvD,QAAM,kBAAkB,MAAM;AAC9B,UAAQ,IAAI,sCAAsC"}
|