@venturekit/testing 0.0.21 → 0.0.23
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/dist/cognito.d.ts +5 -2
- package/dist/cognito.d.ts.map +1 -1
- package/dist/cognito.js +14 -2
- package/dist/cognito.js.map +1 -1
- package/dist/ensure-database.d.ts +9 -0
- package/dist/ensure-database.d.ts.map +1 -1
- package/dist/ensure-database.js +7 -1
- package/dist/ensure-database.js.map +1 -1
- package/dist/playwright/web-servers.d.ts +5 -1
- package/dist/playwright/web-servers.d.ts.map +1 -1
- package/dist/playwright/web-servers.js +16 -10
- package/dist/playwright/web-servers.js.map +1 -1
- package/package.json +3 -3
package/dist/cognito.d.ts
CHANGED
|
@@ -53,8 +53,11 @@ export interface DevPoolsResult {
|
|
|
53
53
|
export declare function getDevPools(ref: DevServerRef): Promise<DevPoolsResult>;
|
|
54
54
|
/**
|
|
55
55
|
* Create a cognito-local user with a PERMANENT password (ready to log in
|
|
56
|
-
* immediately — no FORCE_CHANGE_PASSWORD step).
|
|
57
|
-
*
|
|
56
|
+
* immediately — no FORCE_CHANGE_PASSWORD step).
|
|
57
|
+
*
|
|
58
|
+
* Idempotent: an existing user has BOTH its password reset and its attributes
|
|
59
|
+
* refreshed, so a run always ends with the identity the caller asked for
|
|
60
|
+
* rather than whatever a previous run happened to leave behind.
|
|
58
61
|
*/
|
|
59
62
|
export declare function createTestUser(input: CreateTestUserInput): Promise<void>;
|
|
60
63
|
/** Set (or update) attributes on an existing cognito-local user. */
|
package/dist/cognito.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cognito.d.ts","sourceRoot":"","sources":["../src/cognito.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,sFAAsF;AACtF,MAAM,WAAW,YAAY;IAC3B,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAMD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAI5E;AAED
|
|
1
|
+
{"version":3,"file":"cognito.d.ts","sourceRoot":"","sources":["../src/cognito.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,sFAAsF;AACtF,MAAM,WAAW,YAAY;IAC3B,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAMD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAI5E;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B9E;AAED,oEAAoE;AACpE,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC1E,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,+EAA+E;AAC/E,wBAAsB,cAAc,CAClC,KAAK,EAAE,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACtC,OAAO,CAAC,IAAI,CAAC,CAUf"}
|
package/dist/cognito.js
CHANGED
|
@@ -26,8 +26,11 @@ export async function getDevPools(ref) {
|
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* Create a cognito-local user with a PERMANENT password (ready to log in
|
|
29
|
-
* immediately — no FORCE_CHANGE_PASSWORD step).
|
|
30
|
-
*
|
|
29
|
+
* immediately — no FORCE_CHANGE_PASSWORD step).
|
|
30
|
+
*
|
|
31
|
+
* Idempotent: an existing user has BOTH its password reset and its attributes
|
|
32
|
+
* refreshed, so a run always ends with the identity the caller asked for
|
|
33
|
+
* rather than whatever a previous run happened to leave behind.
|
|
31
34
|
*/
|
|
32
35
|
export async function createTestUser(input) {
|
|
33
36
|
const { baseUrl, intent, email, password, attributes } = input;
|
|
@@ -50,6 +53,15 @@ export async function createTestUser(input) {
|
|
|
50
53
|
body: { password, permanent: true },
|
|
51
54
|
query,
|
|
52
55
|
});
|
|
56
|
+
// The pool outlives the database. cognito-local keeps its users between
|
|
57
|
+
// runs, while `vk migrate --seed` hands out fresh row ids every time the
|
|
58
|
+
// database is recreated — so a survivor's `custom:tenantId` can point at a
|
|
59
|
+
// tenant that no longer exists. Left stale, that does not fail here; it
|
|
60
|
+
// fails much later as a 500 from the API ("Tenant '<uuid>' referenced by
|
|
61
|
+
// JWT claim does not exist"), which reads like an auth bug.
|
|
62
|
+
if (attributes && Object.keys(attributes).length > 0) {
|
|
63
|
+
await setTestUserAttributes({ baseUrl, intent, email, attributes, fetch: input.fetch });
|
|
64
|
+
}
|
|
53
65
|
}
|
|
54
66
|
/** Set (or update) attributes on an existing cognito-local user. */
|
|
55
67
|
export async function setTestUserAttributes(input) {
|
package/dist/cognito.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cognito.js","sourceRoot":"","sources":["../src/cognito.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA0CvC,SAAS,QAAQ,CAAC,MAAe;IAC/B,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAiB;IACjD,MAAM,GAAG,GAAG,eAAe,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,CAAiB,qBAAqB,CAAC,CAAC;IACjE,OAAO,GAAG,CAAC,IAAI,CAAC;AAClB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"cognito.js","sourceRoot":"","sources":["../src/cognito.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,15 @@ export interface EnsureStageDatabaseOptions extends Partial<StageDatabaseTarget>
|
|
|
18
18
|
name?: string;
|
|
19
19
|
/** Where to write progress lines. Pass `null` to stay silent. */
|
|
20
20
|
logger?: ((message: string) => void) | null;
|
|
21
|
+
/**
|
|
22
|
+
* How long to wait for the TCP connect before giving up. Defaults to 10s.
|
|
23
|
+
*
|
|
24
|
+
* `pg` waits indefinitely by default, so an unreachable host (Docker
|
|
25
|
+
* stopped, wrong port, a firewall black-holing the packets) hangs here with
|
|
26
|
+
* no output at all — which Playwright can only report, three minutes later,
|
|
27
|
+
* as an unexplained `webServer` timeout.
|
|
28
|
+
*/
|
|
29
|
+
connectTimeoutMs?: number;
|
|
21
30
|
}
|
|
22
31
|
export interface EnsureStageDatabaseResult {
|
|
23
32
|
/** The database name that now exists. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-database.d.ts","sourceRoot":"","sources":["../src/ensure-database.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACzB,MAAM,eAAe,CAAC;AAevB,MAAM,WAAW,0BAA2B,SAAQ,OAAO,CAAC,mBAAmB,CAAC,EAAE,YAAY;IAC5F;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ensure-database.d.ts","sourceRoot":"","sources":["../src/ensure-database.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACzB,MAAM,eAAe,CAAC;AAevB,MAAM,WAAW,0BAA2B,SAAQ,OAAO,CAAC,mBAAmB,CAAC,EAAE,YAAY;IAC5F;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5C;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,yBAAyB,CAAC,CAoDpC"}
|
package/dist/ensure-database.js
CHANGED
|
@@ -41,7 +41,13 @@ export async function ensureStageDatabase(options) {
|
|
|
41
41
|
const adminUrl = adminDatabaseUrl(options);
|
|
42
42
|
const url = pgConnectionString(options, name);
|
|
43
43
|
const { Client } = await loadPg();
|
|
44
|
-
const client = new Client({
|
|
44
|
+
const client = new Client({
|
|
45
|
+
connectionString: adminUrl,
|
|
46
|
+
connectionTimeoutMillis: options.connectTimeoutMs ?? 10_000,
|
|
47
|
+
});
|
|
48
|
+
// Printed BEFORE the connect so a stall always has a breadcrumb naming the
|
|
49
|
+
// host it is stalling on, rather than dead silence.
|
|
50
|
+
log(`connecting to Postgres at ${redactUrl(adminUrl)}`);
|
|
45
51
|
try {
|
|
46
52
|
await client.connect();
|
|
47
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-database.js","sourceRoot":"","sources":["../src/ensure-database.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,wBAAwB,GAGzB,MAAM,eAAe,CAAC;AAIvB,KAAK,UAAU,MAAM;IACnB,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAwB,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,4EAA4E;YAC1E,oDAAoD,CACvD,CAAC;IACJ,CAAC;AACH,CAAC;
|
|
1
|
+
{"version":3,"file":"ensure-database.js","sourceRoot":"","sources":["../src/ensure-database.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,8 +92,12 @@ export interface VkWebServersOptions extends PgConnection {
|
|
|
92
92
|
/**
|
|
93
93
|
* Declared database name — `infrastructure.databases[].name` (or its `id`)
|
|
94
94
|
* from `vk.config.ts`. The stage suffix is added for you.
|
|
95
|
+
*
|
|
96
|
+
* Omit it when the project declares no database intent: there is then
|
|
97
|
+
* nothing to create and nothing to migrate, so both steps are skipped and
|
|
98
|
+
* the command is just `vk dev`.
|
|
95
99
|
*/
|
|
96
|
-
database
|
|
100
|
+
database?: string;
|
|
97
101
|
api: VkApiServerSpec;
|
|
98
102
|
/** Additional servers (a Next.js admin, a marketing site, …). */
|
|
99
103
|
web?: VkWebServerSpec | VkWebServerSpec[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-servers.d.ts","sourceRoot":"","sources":["../../src/playwright/web-servers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAyD,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE1G;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,gBAAgB,CAAC,EAAE;QAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACtE;AAED,6DAA6D;AAC7D,wBAAgB,kBAAkB,IAAI,MAAM,CAI3C;AAED,oFAAoF;AACpF,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd
|
|
1
|
+
{"version":3,"file":"web-servers.d.ts","sourceRoot":"","sources":["../../src/playwright/web-servers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAyD,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE1G;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,gBAAgB,CAAC,EAAE;QAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACtE;AAED,6DAA6D;AAC7D,wBAAgB,kBAAkB,IAAI,MAAM,CAI3C;AAED,oFAAoF;AACpF,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,eAAe,CAAC;IACrB,iEAAiE;IACjE,GAAG,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAC;IAC1C;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAaD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,iBAAiB,EAAE,CA2E9E"}
|
|
@@ -78,11 +78,13 @@ export function vkWebServers(options) {
|
|
|
78
78
|
].filter(Boolean);
|
|
79
79
|
// Chained with `&&` so a failure in creation or migration aborts the run
|
|
80
80
|
// instead of booting an API against a database that is not ready.
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
`${exec} vk
|
|
85
|
-
|
|
81
|
+
const steps = [];
|
|
82
|
+
if (database) {
|
|
83
|
+
steps.push(`node ${JSON.stringify(ensureDbScriptPath())}`);
|
|
84
|
+
steps.push(`${exec} vk migrate ${migrateFlags.join(' ')}`);
|
|
85
|
+
}
|
|
86
|
+
steps.push(`${exec} vk dev ${devFlags.join(' ')}`);
|
|
87
|
+
const command = steps.join(' && ');
|
|
86
88
|
const apiServer = {
|
|
87
89
|
name: `API (vk dev --stage ${stage})`,
|
|
88
90
|
command,
|
|
@@ -94,11 +96,15 @@ export function vkWebServers(options) {
|
|
|
94
96
|
stderr: 'pipe',
|
|
95
97
|
env: stringEnv({
|
|
96
98
|
...baseEnv,
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
99
|
+
...(database
|
|
100
|
+
? {
|
|
101
|
+
// Pins `vk migrate` to the database `vk dev` derives for itself.
|
|
102
|
+
DATABASE_URL: stageDatabaseUrl({ ...options, database, stage }),
|
|
103
|
+
// Read by bin/ensure-db.mjs, which runs under bare node.
|
|
104
|
+
[ENSURE_DB_ENV.name]: stageDatabaseName(database, stage),
|
|
105
|
+
[ENSURE_DB_ENV.adminUrl]: adminDatabaseUrl(options),
|
|
106
|
+
}
|
|
107
|
+
: {}),
|
|
102
108
|
...api.env,
|
|
103
109
|
}),
|
|
104
110
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-servers.js","sourceRoot":"","sources":["../../src/playwright/web-servers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAqB,MAAM,gBAAgB,CAAC;AA4B1G,6DAA6D;AAC7D,MAAM,UAAU,kBAAkB;IAChC,wEAAwE;IACxE,uEAAuE;IACvE,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,4BAA4B;CAC9B,CAAC;
|
|
1
|
+
{"version":3,"file":"web-servers.js","sourceRoot":"","sources":["../../src/playwright/web-servers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@venturekit/testing",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.23",
|
|
4
4
|
"description": "Integration & end-to-end test harness for VentureKit apps — launch the local API stack, mint cognito-local users, reset the database, and drive a typed API client.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
],
|
|
42
42
|
"dependencies": {},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"@venturekit/data": "0.0.
|
|
44
|
+
"@venturekit/data": "0.0.23",
|
|
45
45
|
"@aws-sdk/client-cognito-identity-provider": "^3.1091.0",
|
|
46
46
|
"@playwright/test": ">=1.40.0",
|
|
47
47
|
"pg": "^8.11.0"
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
}
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
|
-
"@venturekit/data": "0.0.
|
|
64
|
+
"@venturekit/data": "0.0.23",
|
|
65
65
|
"@aws-sdk/client-cognito-identity-provider": "^3.1091.0",
|
|
66
66
|
"@playwright/test": "^1.49.0",
|
|
67
67
|
"pg": "^8.13.0",
|