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.
Files changed (74) hide show
  1. package/README.md +18 -6
  2. package/dist/browser-empty.d.ts.map +1 -1
  3. package/dist/browser-empty.js.map +1 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/singleton.d.ts.map +1 -1
  7. package/dist/singleton.js.map +1 -1
  8. package/dist/utils.d.ts.map +1 -1
  9. package/dist/utils.js.map +1 -1
  10. package/dist/vite-plugin.d.ts.map +1 -1
  11. package/dist/vite-plugin.js.map +1 -1
  12. package/dist/vitest-setup.d.ts.map +1 -1
  13. package/dist/vitest-setup.js.map +1 -1
  14. package/package.json +14 -12
  15. package/dist/examples/branch-expiration.test.d.ts +0 -2
  16. package/dist/examples/branch-expiration.test.d.ts.map +0 -1
  17. package/dist/examples/branch-expiration.test.js +0 -60
  18. package/dist/examples/branch-expiration.test.js.map +0 -1
  19. package/dist/examples/drivers/http-neon-drizzle.test.d.ts +0 -2
  20. package/dist/examples/drivers/http-neon-drizzle.test.d.ts.map +0 -1
  21. package/dist/examples/drivers/http-neon-drizzle.test.js +0 -80
  22. package/dist/examples/drivers/http-neon-drizzle.test.js.map +0 -1
  23. package/dist/examples/drivers/http-neon.test.d.ts +0 -2
  24. package/dist/examples/drivers/http-neon.test.d.ts.map +0 -1
  25. package/dist/examples/drivers/http-neon.test.js +0 -71
  26. package/dist/examples/drivers/http-neon.test.js.map +0 -1
  27. package/dist/examples/drivers/tcp-pg-drizzle.test.d.ts +0 -2
  28. package/dist/examples/drivers/tcp-pg-drizzle.test.d.ts.map +0 -1
  29. package/dist/examples/drivers/tcp-pg-drizzle.test.js +0 -90
  30. package/dist/examples/drivers/tcp-pg-drizzle.test.js.map +0 -1
  31. package/dist/examples/drivers/tcp-pg.test.d.ts +0 -2
  32. package/dist/examples/drivers/tcp-pg.test.d.ts.map +0 -1
  33. package/dist/examples/drivers/tcp-pg.test.js +0 -76
  34. package/dist/examples/drivers/tcp-pg.test.js.map +0 -1
  35. package/dist/examples/drivers/tcp-postgres-drizzle.test.d.ts +0 -2
  36. package/dist/examples/drivers/tcp-postgres-drizzle.test.d.ts.map +0 -1
  37. package/dist/examples/drivers/tcp-postgres-drizzle.test.js +0 -77
  38. package/dist/examples/drivers/tcp-postgres-drizzle.test.js.map +0 -1
  39. package/dist/examples/drivers/tcp-postgres.test.d.ts +0 -2
  40. package/dist/examples/drivers/tcp-postgres.test.d.ts.map +0 -1
  41. package/dist/examples/drivers/tcp-postgres.test.js +0 -69
  42. package/dist/examples/drivers/tcp-postgres.test.js.map +0 -1
  43. package/dist/examples/drivers/ws-neon-drizzle.test.d.ts +0 -2
  44. package/dist/examples/drivers/ws-neon-drizzle.test.d.ts.map +0 -1
  45. package/dist/examples/drivers/ws-neon-drizzle.test.js +0 -121
  46. package/dist/examples/drivers/ws-neon-drizzle.test.js.map +0 -1
  47. package/dist/examples/drivers/ws-neon.test.d.ts +0 -2
  48. package/dist/examples/drivers/ws-neon.test.d.ts.map +0 -1
  49. package/dist/examples/drivers/ws-neon.test.js +0 -97
  50. package/dist/examples/drivers/ws-neon.test.js.map +0 -1
  51. package/dist/examples/isolated.test.d.ts +0 -2
  52. package/dist/examples/isolated.test.d.ts.map +0 -1
  53. package/dist/examples/isolated.test.js +0 -114
  54. package/dist/examples/isolated.test.js.map +0 -1
  55. package/dist/examples/minimal.test.d.ts +0 -2
  56. package/dist/examples/minimal.test.d.ts.map +0 -1
  57. package/dist/examples/minimal.test.js +0 -19
  58. package/dist/examples/minimal.test.js.map +0 -1
  59. package/dist/examples/neon-testing.d.ts +0 -6
  60. package/dist/examples/neon-testing.d.ts.map +0 -1
  61. package/dist/examples/neon-testing.js +0 -8
  62. package/dist/examples/neon-testing.js.map +0 -1
  63. package/dist/examples/options-validation.test.d.ts +0 -2
  64. package/dist/examples/options-validation.test.d.ts.map +0 -1
  65. package/dist/examples/options-validation.test.js +0 -99
  66. package/dist/examples/options-validation.test.js.map +0 -1
  67. package/dist/examples/recommended.test.d.ts +0 -2
  68. package/dist/examples/recommended.test.d.ts.map +0 -1
  69. package/dist/examples/recommended.test.js +0 -17
  70. package/dist/examples/recommended.test.js.map +0 -1
  71. package/dist/vitest.config.d.ts +0 -3
  72. package/dist/vitest.config.d.ts.map +0 -1
  73. package/dist/vitest.config.js +0 -16
  74. 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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=recommended.test.d.ts.map
@@ -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"}
@@ -1,3 +0,0 @@
1
- declare const _default: import("vite").UserConfig;
2
- export default _default;
3
- //# sourceMappingURL=vitest.config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vitest.config.d.ts","sourceRoot":"","sources":["../vitest.config.ts"],"names":[],"mappings":";AAOA,wBASG"}
@@ -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"}