neon-testing 2.2.1-beta.0 → 2.2.1-beta.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/README.md +18 -6
- package/dist/browser-empty.d.ts.map +1 -1
- package/dist/browser-empty.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/singleton.d.ts.map +1 -1
- package/dist/singleton.js.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js.map +1 -1
- package/dist/vite-plugin.d.ts.map +1 -1
- package/dist/vite-plugin.js.map +1 -1
- package/dist/vitest-setup.d.ts.map +1 -1
- package/dist/vitest-setup.js.map +1 -1
- package/package.json +14 -12
- package/dist/examples/branch-expiration.test.d.ts +0 -2
- package/dist/examples/branch-expiration.test.d.ts.map +0 -1
- package/dist/examples/branch-expiration.test.js +0 -60
- package/dist/examples/branch-expiration.test.js.map +0 -1
- package/dist/examples/drivers/http-neon-drizzle.test.d.ts +0 -2
- package/dist/examples/drivers/http-neon-drizzle.test.d.ts.map +0 -1
- package/dist/examples/drivers/http-neon-drizzle.test.js +0 -80
- package/dist/examples/drivers/http-neon-drizzle.test.js.map +0 -1
- package/dist/examples/drivers/http-neon.test.d.ts +0 -2
- package/dist/examples/drivers/http-neon.test.d.ts.map +0 -1
- package/dist/examples/drivers/http-neon.test.js +0 -71
- package/dist/examples/drivers/http-neon.test.js.map +0 -1
- package/dist/examples/drivers/tcp-pg-drizzle.test.d.ts +0 -2
- package/dist/examples/drivers/tcp-pg-drizzle.test.d.ts.map +0 -1
- package/dist/examples/drivers/tcp-pg-drizzle.test.js +0 -90
- package/dist/examples/drivers/tcp-pg-drizzle.test.js.map +0 -1
- package/dist/examples/drivers/tcp-pg.test.d.ts +0 -2
- package/dist/examples/drivers/tcp-pg.test.d.ts.map +0 -1
- package/dist/examples/drivers/tcp-pg.test.js +0 -76
- package/dist/examples/drivers/tcp-pg.test.js.map +0 -1
- package/dist/examples/drivers/tcp-postgres-drizzle.test.d.ts +0 -2
- package/dist/examples/drivers/tcp-postgres-drizzle.test.d.ts.map +0 -1
- package/dist/examples/drivers/tcp-postgres-drizzle.test.js +0 -77
- package/dist/examples/drivers/tcp-postgres-drizzle.test.js.map +0 -1
- package/dist/examples/drivers/tcp-postgres.test.d.ts +0 -2
- package/dist/examples/drivers/tcp-postgres.test.d.ts.map +0 -1
- package/dist/examples/drivers/tcp-postgres.test.js +0 -69
- package/dist/examples/drivers/tcp-postgres.test.js.map +0 -1
- package/dist/examples/drivers/ws-neon-drizzle.test.d.ts +0 -2
- package/dist/examples/drivers/ws-neon-drizzle.test.d.ts.map +0 -1
- package/dist/examples/drivers/ws-neon-drizzle.test.js +0 -121
- package/dist/examples/drivers/ws-neon-drizzle.test.js.map +0 -1
- package/dist/examples/drivers/ws-neon.test.d.ts +0 -2
- package/dist/examples/drivers/ws-neon.test.d.ts.map +0 -1
- package/dist/examples/drivers/ws-neon.test.js +0 -97
- package/dist/examples/drivers/ws-neon.test.js.map +0 -1
- package/dist/examples/isolated.test.d.ts +0 -2
- package/dist/examples/isolated.test.d.ts.map +0 -1
- package/dist/examples/isolated.test.js +0 -114
- package/dist/examples/isolated.test.js.map +0 -1
- package/dist/examples/minimal.test.d.ts +0 -2
- package/dist/examples/minimal.test.d.ts.map +0 -1
- package/dist/examples/minimal.test.js +0 -19
- package/dist/examples/minimal.test.js.map +0 -1
- package/dist/examples/neon-testing.d.ts +0 -6
- package/dist/examples/neon-testing.d.ts.map +0 -1
- package/dist/examples/neon-testing.js +0 -8
- package/dist/examples/neon-testing.js.map +0 -1
- package/dist/examples/options-validation.test.d.ts +0 -2
- package/dist/examples/options-validation.test.d.ts.map +0 -1
- package/dist/examples/options-validation.test.js +0 -99
- package/dist/examples/options-validation.test.js.map +0 -1
- package/dist/examples/recommended.test.d.ts +0 -2
- package/dist/examples/recommended.test.d.ts.map +0 -1
- package/dist/examples/recommended.test.js +0 -17
- package/dist/examples/recommended.test.js.map +0 -1
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -16
- package/dist/vitest.config.js.map +0 -1
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { describe, expect, test } from "vitest";
|
|
2
|
-
import { makeNeonTesting } from "neon-testing";
|
|
3
|
-
const projectId = process.env.NEON_PROJECT_ID;
|
|
4
|
-
describe("expiresIn", () => {
|
|
5
|
-
/**
|
|
6
|
-
* Test options validation when setting the factory-level options
|
|
7
|
-
*/
|
|
8
|
-
describe("factory-level (makeNeonTesting)", () => {
|
|
9
|
-
test("non-integer throws", () => {
|
|
10
|
-
expect(() => {
|
|
11
|
-
makeNeonTesting({
|
|
12
|
-
apiKey: process.env.NEON_API_KEY,
|
|
13
|
-
projectId,
|
|
14
|
-
expiresIn: 600.5,
|
|
15
|
-
});
|
|
16
|
-
}).toThrow("expiresIn must be an integer");
|
|
17
|
-
});
|
|
18
|
-
test("zero throws", () => {
|
|
19
|
-
expect(() => {
|
|
20
|
-
makeNeonTesting({
|
|
21
|
-
apiKey: process.env.NEON_API_KEY,
|
|
22
|
-
projectId,
|
|
23
|
-
expiresIn: 0,
|
|
24
|
-
});
|
|
25
|
-
}).toThrow("expiresIn must be a positive integer");
|
|
26
|
-
});
|
|
27
|
-
test("negative throws", () => {
|
|
28
|
-
expect(() => {
|
|
29
|
-
makeNeonTesting({
|
|
30
|
-
apiKey: process.env.NEON_API_KEY,
|
|
31
|
-
projectId,
|
|
32
|
-
expiresIn: -10,
|
|
33
|
-
});
|
|
34
|
-
}).toThrow("expiresIn must be a positive integer");
|
|
35
|
-
});
|
|
36
|
-
test("> 30 days throws", () => {
|
|
37
|
-
expect(() => {
|
|
38
|
-
makeNeonTesting({
|
|
39
|
-
apiKey: process.env.NEON_API_KEY,
|
|
40
|
-
projectId,
|
|
41
|
-
expiresIn: 2592001,
|
|
42
|
-
});
|
|
43
|
-
}).toThrow("expiresIn must not exceed 30 days");
|
|
44
|
-
});
|
|
45
|
-
test("valid value does not throw", () => {
|
|
46
|
-
expect(() => {
|
|
47
|
-
makeNeonTesting({
|
|
48
|
-
apiKey: process.env.NEON_API_KEY,
|
|
49
|
-
projectId,
|
|
50
|
-
expiresIn: 600,
|
|
51
|
-
});
|
|
52
|
-
}).not.toThrow();
|
|
53
|
-
});
|
|
54
|
-
test("null does not throw", () => {
|
|
55
|
-
expect(() => {
|
|
56
|
-
makeNeonTesting({
|
|
57
|
-
apiKey: process.env.NEON_API_KEY,
|
|
58
|
-
projectId,
|
|
59
|
-
expiresIn: null,
|
|
60
|
-
});
|
|
61
|
-
}).not.toThrow();
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
/**
|
|
65
|
-
* Test options validation when overriding the factory-level options
|
|
66
|
-
*/
|
|
67
|
-
describe("override-level (setup function)", () => {
|
|
68
|
-
// Create a base neonTesting without expiresIn specified at factory level
|
|
69
|
-
const baseTesting = makeNeonTesting({
|
|
70
|
-
apiKey: process.env.NEON_API_KEY,
|
|
71
|
-
projectId,
|
|
72
|
-
});
|
|
73
|
-
test("non-integer in override throws", () => {
|
|
74
|
-
expect(() => {
|
|
75
|
-
baseTesting({ expiresIn: 600.5 });
|
|
76
|
-
}).toThrow("expiresIn must be an integer");
|
|
77
|
-
});
|
|
78
|
-
test("zero in override throws", () => {
|
|
79
|
-
expect(() => {
|
|
80
|
-
baseTesting({ expiresIn: 0 });
|
|
81
|
-
}).toThrow("expiresIn must be a positive integer");
|
|
82
|
-
});
|
|
83
|
-
test("negative in override throws", () => {
|
|
84
|
-
expect(() => {
|
|
85
|
-
baseTesting({ expiresIn: -10 });
|
|
86
|
-
}).toThrow("expiresIn must be a positive integer");
|
|
87
|
-
});
|
|
88
|
-
test("> 30 days in override throws", () => {
|
|
89
|
-
expect(() => {
|
|
90
|
-
baseTesting({ expiresIn: 2592001 });
|
|
91
|
-
}).toThrow("expiresIn must not exceed 30 days");
|
|
92
|
-
});
|
|
93
|
-
// Note: Valid override values (600, null) are tested in branch-expiration.test.ts
|
|
94
|
-
// where describe blocks actually create branches. We can't test them here since
|
|
95
|
-
// calling baseTesting() inside a test would register beforeAll() hooks which is
|
|
96
|
-
// not allowed.
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
//# sourceMappingURL=options-validation.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"options-validation.test.js","sourceRoot":"","sources":["../../examples/options-validation.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"recommended.test.d.ts","sourceRoot":"","sources":["../../examples/recommended.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
// recommended.test.ts
|
|
2
|
-
import { expect, test } from "vitest";
|
|
3
|
-
import { neonTesting } from "./neon-testing";
|
|
4
|
-
import { Pool } from "@neondatabase/serverless";
|
|
5
|
-
// Enable Neon test branch for this test file
|
|
6
|
-
neonTesting({
|
|
7
|
-
// Recommended for Neon WebSocket drivers to automatically close connections
|
|
8
|
-
autoCloseWebSockets: true,
|
|
9
|
-
});
|
|
10
|
-
test("database operations", async () => {
|
|
11
|
-
const pool = new Pool({ connectionString: process.env.DATABASE_URL });
|
|
12
|
-
await pool.query(`CREATE TABLE users (id SERIAL PRIMARY KEY, name TEXT)`);
|
|
13
|
-
await pool.query(`INSERT INTO users (name) VALUES ('Ellen Ripley')`);
|
|
14
|
-
const users = await pool.query(`SELECT * FROM users`);
|
|
15
|
-
expect(users.rows).toStrictEqual([{ id: 1, name: "Ellen Ripley" }]);
|
|
16
|
-
});
|
|
17
|
-
//# sourceMappingURL=recommended.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"recommended.test.js","sourceRoot":"","sources":["../../examples/recommended.test.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,6CAA6C;AAC7C,WAAW,CAAC;IACV,4EAA4E;IAC5E,mBAAmB,EAAE,IAAI;CAC1B,CAAC,CAAC;AAEH,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;IACrC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IAEtE,MAAM,IAAI,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC1E,MAAM,IAAI,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAErE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC"}
|
package/dist/vitest.config.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vitest.config.d.ts","sourceRoot":"","sources":["../vitest.config.ts"],"names":[],"mappings":";AAOA,wBASG"}
|
package/dist/vitest.config.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { defineConfig, configDefaults } from "vitest/config";
|
|
2
|
-
import dotenv from "dotenv";
|
|
3
|
-
import tsconfigPaths from "vite-tsconfig-paths";
|
|
4
|
-
import { neonTesting } from "./vite-plugin";
|
|
5
|
-
dotenv.config();
|
|
6
|
-
export default defineConfig({
|
|
7
|
-
test: {
|
|
8
|
-
testTimeout: 10000,
|
|
9
|
-
hookTimeout: 20000,
|
|
10
|
-
exclude: [...configDefaults.exclude, "**/dist/**"],
|
|
11
|
-
// Limit to concurrent test files to avoid Neon API rate limiting
|
|
12
|
-
maxConcurrency: 2,
|
|
13
|
-
},
|
|
14
|
-
plugins: [tsconfigPaths(), neonTesting({ debug: false })],
|
|
15
|
-
});
|
|
16
|
-
//# sourceMappingURL=vitest.config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vitest.config.js","sourceRoot":"","sources":["../vitest.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE;QACJ,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC;QAClD,iEAAiE;QACjE,cAAc,EAAE,CAAC;KAClB;IACD,OAAO,EAAE,CAAC,aAAa,EAAE,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;CAC1D,CAAC,CAAC"}
|