visionclaw 0.1.195-dev.feat-e2e-test-system.11 → 0.1.195-dev.feat-e2e-test-system.13
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/e2e/parser.js +1 -1
- package/dist/e2e/parser.js.map +1 -1
- package/dist/e2e/runner.d.ts.map +1 -1
- package/dist/e2e/runner.js +6 -22
- package/dist/e2e/runner.js.map +1 -1
- package/dist/e2e/suites/google.d.ts.map +1 -1
- package/dist/e2e/suites/google.js +22 -7
- package/dist/e2e/suites/google.js.map +1 -1
- package/dist/e2e/types.d.ts +1 -1
- package/dist/e2e/types.d.ts.map +1 -1
- package/dist-agent/bundle.cjs +28 -28
- package/package.json +1 -1
package/dist/e2e/parser.js
CHANGED
|
@@ -24,7 +24,7 @@ export function parseE2EArgs(args) {
|
|
|
24
24
|
args: positional,
|
|
25
25
|
flags,
|
|
26
26
|
json: flags.has("--json"),
|
|
27
|
-
|
|
27
|
+
autoCleanup: flags.has("--auto-cleanup"),
|
|
28
28
|
includeDestructive: flags.has("--include-destructive"),
|
|
29
29
|
includeAgent: flags.has("--include-agent"),
|
|
30
30
|
setupKind,
|
package/dist/e2e/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/e2e/parser.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,IAAI,GAAG,CAAU,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAElH,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAgB,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,IAAI,GAAY,KAAK,CAAC,CAAC,CAAC,KAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;IAEzD,IAAI,SAAyC,CAAC;IAC9C,IAAI,aAAiC,CAAC;IACtC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,cAAc;YAAE,SAAS,GAAG,cAAc,CAAC;QACjE,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,mBAAmB;YAAE,SAAS,GAAG,mBAAmB,CAAC;IAC7E,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,UAAU;QAChB,KAAK;QACL,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/e2e/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/e2e/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/e2e/runner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAkB,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAelF,wBAAsB,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/e2e/runner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAkB,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAelF,wBAAsB,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,CA8FvF;AA4DD,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,UAAQ,GAAG,MAAM,CAG1E"}
|
package/dist/e2e/runner.js
CHANGED
|
@@ -29,7 +29,7 @@ export async function runE2E(options) {
|
|
|
29
29
|
" cleanup — list runs and their cleanup state",
|
|
30
30
|
" cleanup <runId> — clean up and delete a specific run",
|
|
31
31
|
" cleanup latest — clean up and delete the most recent run",
|
|
32
|
-
" cleanup
|
|
32
|
+
" cleanup all — clean up and delete all runs",
|
|
33
33
|
" setup google-guest <email> — start remote Google guest account OAuth flow",
|
|
34
34
|
" setup google-guest <email> --local — start local browser Google guest setup",
|
|
35
35
|
" setup google-guest-code <id> <url> — complete OAuth with callback URL",
|
|
@@ -37,7 +37,7 @@ export async function runE2E(options) {
|
|
|
37
37
|
"",
|
|
38
38
|
"Flags:",
|
|
39
39
|
" --json — output raw JSON result",
|
|
40
|
-
" --
|
|
40
|
+
" --auto-cleanup — clean up test artifacts immediately after run",
|
|
41
41
|
" --include-agent — include agent suite (slow)",
|
|
42
42
|
"",
|
|
43
43
|
"Examples:",
|
|
@@ -57,7 +57,6 @@ export async function runE2E(options) {
|
|
|
57
57
|
const artifactsDir = ensureE2ERunDir(runId);
|
|
58
58
|
const startedAt = new Date().toISOString();
|
|
59
59
|
const cleanupItems = [];
|
|
60
|
-
await cleanupPreviousRuns(config, runId);
|
|
61
60
|
logger.system(formatE2EStartMessage(runId, options.mode));
|
|
62
61
|
const context = {
|
|
63
62
|
runId,
|
|
@@ -78,9 +77,9 @@ export async function runE2E(options) {
|
|
|
78
77
|
suites.push(await suite.run(context));
|
|
79
78
|
}
|
|
80
79
|
saveCleanupItems(runId, cleanupItems);
|
|
81
|
-
const cleanup = options.
|
|
82
|
-
?
|
|
83
|
-
:
|
|
80
|
+
const cleanup = options.autoCleanup
|
|
81
|
+
? await runCleanupForRun(config, runId)
|
|
82
|
+
: { status: "skipped", items: cleanupItems, message: "Artifacts retained; run /e2e cleanup to remove" };
|
|
84
83
|
const finishedAt = new Date().toISOString();
|
|
85
84
|
const result = {
|
|
86
85
|
runId,
|
|
@@ -96,21 +95,6 @@ export async function runE2E(options) {
|
|
|
96
95
|
writeReports(result);
|
|
97
96
|
return result;
|
|
98
97
|
}
|
|
99
|
-
async function cleanupPreviousRuns(config, currentRunId) {
|
|
100
|
-
const previousRunIds = listRecentRunIds(20).filter((id) => id !== currentRunId);
|
|
101
|
-
for (const id of previousRunIds) {
|
|
102
|
-
try {
|
|
103
|
-
await runCleanupForRun(config, id);
|
|
104
|
-
}
|
|
105
|
-
catch {
|
|
106
|
-
// best-effort
|
|
107
|
-
}
|
|
108
|
-
deleteE2ERunDir(id);
|
|
109
|
-
}
|
|
110
|
-
if (previousRunIds.length > 0) {
|
|
111
|
-
logger.system(`Auto-cleaned ${previousRunIds.length} previous e2e run(s)`);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
98
|
async function handleCleanup(config, options) {
|
|
115
99
|
const target = options.cleanupTarget;
|
|
116
100
|
if (!target)
|
|
@@ -121,7 +105,7 @@ async function handleCleanup(config, options) {
|
|
|
121
105
|
if (!runId)
|
|
122
106
|
return "No recent E2E runs found.";
|
|
123
107
|
}
|
|
124
|
-
if (target === "--all-stale" || target === "--failed") {
|
|
108
|
+
if (target === "all" || target === "--all-stale" || target === "--failed") {
|
|
125
109
|
const recentRunIds = listRecentRunIds(20);
|
|
126
110
|
const runIds = target === "--failed" ? recentRunIds.filter((id) => hasFailedCleanupItems(id)) : recentRunIds;
|
|
127
111
|
const lines = [`Running cleanup for ${runIds.length} run(s)...`];
|
package/dist/e2e/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/e2e/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC9H,OAAO,EACL,oCAAoC,EACpC,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAEjC,SAAS,SAAS;IAChB,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5E,OAAO,OAAO,KAAK,IAAI,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAA0B;IACrD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO;YACL,sBAAsB;YACtB,EAAE;YACF,4BAA4B;YAC5B,EAAE;YACF,QAAQ;YACR,kEAAkE;YAClE,8BAA8B;YAC9B,6CAA6C;YAC7C,8DAA8D;YAC9D,iCAAiC;YACjC,oDAAoD;YACpD,0CAA0C;YAC1C,gDAAgD;YAChD,wDAAwD;YACxD,4DAA4D;YAC5D,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/e2e/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../../src/e2e/suites/google.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../../src/e2e/suites/google.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAc,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOxD,eAAO,MAAM,WAAW,EAAE,QAmJzB,CAAC"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import os from "node:os";
|
|
4
|
+
import { chromium } from "playwright";
|
|
4
5
|
import { GoogleCalendarClient } from "../../calendar/google-calendar.js";
|
|
5
6
|
import { GmailEmailClient } from "../../email/gmail-email.js";
|
|
6
7
|
import { GoogleDriveClient } from "../../drive/google-drive.js";
|
|
7
8
|
import { hasLocalGoogleRefreshToken } from "../../google/token-file.js";
|
|
9
|
+
import { ensureBrowser, getCdpEndpoint } from "../../agent/browser-launcher.js";
|
|
8
10
|
import { createGuestCalendarClient, loadE2EGuestTokens } from "../setup-google-guest.js";
|
|
9
|
-
import { buildSuiteResult, ok, runTest, skipped
|
|
11
|
+
import { buildSuiteResult, ok, runTest, skipped } from "../suite-utils.js";
|
|
10
12
|
function guestEmail(context) {
|
|
11
13
|
return context.config.e2e?.google?.meetGuestEmail ?? process.env.E2E_GOOGLE_MEET_GUEST_EMAIL;
|
|
12
14
|
}
|
|
@@ -121,13 +123,26 @@ export const googleSuite = {
|
|
|
121
123
|
throw new Error("Guest cannot see invited event");
|
|
122
124
|
return ok("Guest can see invited event", { eventId, hasMeetLink: !!hangoutLink });
|
|
123
125
|
}));
|
|
124
|
-
tests.push(await runTest("google", "google.meet.guest_can_open_join_page", "Guest Meet page", () => {
|
|
126
|
+
tests.push(await runTest("google", "google.meet.guest_can_open_join_page", "Guest Meet page", async () => {
|
|
125
127
|
if (!hangoutLink)
|
|
126
|
-
return
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
128
|
+
return skipped("Meet link unavailable from previous test");
|
|
129
|
+
await ensureBrowser();
|
|
130
|
+
const browser = await chromium.connectOverCDP(getCdpEndpoint());
|
|
131
|
+
try {
|
|
132
|
+
const ctx = await browser.newContext();
|
|
133
|
+
const page = await ctx.newPage();
|
|
134
|
+
await page.goto(hangoutLink, { waitUntil: "domcontentloaded", timeout: 15000 });
|
|
135
|
+
const url = page.url();
|
|
136
|
+
if (url.includes("error") || url.includes("lookup"))
|
|
137
|
+
throw new Error(`Meet link redirected to error page: ${url}`);
|
|
138
|
+
const screenshotPath = path.join(context.artifactsDir, "meet-join-page.png");
|
|
139
|
+
await page.screenshot({ path: screenshotPath });
|
|
140
|
+
await ctx.close();
|
|
141
|
+
return ok("Meet join page loaded", { url, screenshotPath });
|
|
142
|
+
}
|
|
143
|
+
finally {
|
|
144
|
+
await browser.close();
|
|
145
|
+
}
|
|
131
146
|
}));
|
|
132
147
|
tests.push(await runTest("google", "google.drive.crud", "Drive CRUD", async () => {
|
|
133
148
|
const client = new GoogleDriveClient(context.config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../../src/e2e/suites/google.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"google.js","sourceRoot":"","sources":["../../../src/e2e/suites/google.ts"],"names":[],"mappings":"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"}
|
package/dist/e2e/types.d.ts
CHANGED
package/dist/e2e/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/e2e/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpE,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAE9G,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/e2e/types.ts"],"names":[],"mappings":"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"}
|
package/dist-agent/bundle.cjs
CHANGED
|
@@ -20510,7 +20510,7 @@ var require_prompts3 = __commonJS({
|
|
|
20510
20510
|
|
|
20511
20511
|
// dist/utils/version-check.js
|
|
20512
20512
|
function isBundled() {
|
|
20513
|
-
const v15 = "0.1.195-dev.feat-e2e-test-system.
|
|
20513
|
+
const v15 = "0.1.195-dev.feat-e2e-test-system.13";
|
|
20514
20514
|
return typeof v15 === "string" && v15 !== "undefined";
|
|
20515
20515
|
}
|
|
20516
20516
|
function getPackageRoot() {
|
|
@@ -20527,7 +20527,7 @@ function getInstallationInfo() {
|
|
|
20527
20527
|
};
|
|
20528
20528
|
}
|
|
20529
20529
|
function getCurrentVersion() {
|
|
20530
|
-
const bundledVersion = "0.1.195-dev.feat-e2e-test-system.
|
|
20530
|
+
const bundledVersion = "0.1.195-dev.feat-e2e-test-system.13";
|
|
20531
20531
|
if (bundledVersion && bundledVersion !== "undefined") {
|
|
20532
20532
|
return bundledVersion;
|
|
20533
20533
|
}
|
|
@@ -1030035,7 +1030035,7 @@ function parseE2EArgs(args) {
|
|
|
1030035
1030035
|
args: positional,
|
|
1030036
1030036
|
flags,
|
|
1030037
1030037
|
json: flags.has("--json"),
|
|
1030038
|
-
|
|
1030038
|
+
autoCleanup: flags.has("--auto-cleanup"),
|
|
1030039
1030039
|
includeDestructive: flags.has("--include-destructive"),
|
|
1030040
1030040
|
includeAgent: flags.has("--include-agent"),
|
|
1030041
1030041
|
setupKind,
|
|
@@ -1030857,17 +1030857,19 @@ var init_setup_google_guest = __esm({
|
|
|
1030857
1030857
|
function guestEmail(context) {
|
|
1030858
1030858
|
return context.config.e2e?.google?.meetGuestEmail ?? process.env.E2E_GOOGLE_MEET_GUEST_EMAIL;
|
|
1030859
1030859
|
}
|
|
1030860
|
-
var import_node_fs65, import_node_path65, import_node_os30, googleSuite;
|
|
1030860
|
+
var import_node_fs65, import_node_path65, import_node_os30, import_playwright4, googleSuite;
|
|
1030861
1030861
|
var init_google = __esm({
|
|
1030862
1030862
|
"dist/e2e/suites/google.js"() {
|
|
1030863
1030863
|
"use strict";
|
|
1030864
1030864
|
import_node_fs65 = __toESM(require("node:fs"), 1);
|
|
1030865
1030865
|
import_node_path65 = __toESM(require("node:path"), 1);
|
|
1030866
1030866
|
import_node_os30 = __toESM(require("node:os"), 1);
|
|
1030867
|
+
import_playwright4 = require("playwright");
|
|
1030867
1030868
|
init_google_calendar();
|
|
1030868
1030869
|
init_gmail_email();
|
|
1030869
1030870
|
init_google_drive();
|
|
1030870
1030871
|
init_token_file();
|
|
1030872
|
+
init_browser_launcher();
|
|
1030871
1030873
|
init_setup_google_guest();
|
|
1030872
1030874
|
init_suite_utils();
|
|
1030873
1030875
|
googleSuite = {
|
|
@@ -1030982,13 +1030984,25 @@ Please ignore.`
|
|
|
1030982
1030984
|
throw new Error("Guest cannot see invited event");
|
|
1030983
1030985
|
return ok11("Guest can see invited event", { eventId, hasMeetLink: !!hangoutLink });
|
|
1030984
1030986
|
}));
|
|
1030985
|
-
tests.push(await runTest("google", "google.meet.guest_can_open_join_page", "Guest Meet page", () => {
|
|
1030987
|
+
tests.push(await runTest("google", "google.meet.guest_can_open_join_page", "Guest Meet page", async () => {
|
|
1030986
1030988
|
if (!hangoutLink)
|
|
1030987
|
-
return
|
|
1030988
|
-
|
|
1030989
|
-
|
|
1030990
|
-
|
|
1030991
|
-
|
|
1030989
|
+
return skipped("Meet link unavailable from previous test");
|
|
1030990
|
+
await ensureBrowser();
|
|
1030991
|
+
const browser = await import_playwright4.chromium.connectOverCDP(getCdpEndpoint());
|
|
1030992
|
+
try {
|
|
1030993
|
+
const ctx = await browser.newContext();
|
|
1030994
|
+
const page = await ctx.newPage();
|
|
1030995
|
+
await page.goto(hangoutLink, { waitUntil: "domcontentloaded", timeout: 15e3 });
|
|
1030996
|
+
const url2 = page.url();
|
|
1030997
|
+
if (url2.includes("error") || url2.includes("lookup"))
|
|
1030998
|
+
throw new Error(`Meet link redirected to error page: ${url2}`);
|
|
1030999
|
+
const screenshotPath = import_node_path65.default.join(context.artifactsDir, "meet-join-page.png");
|
|
1031000
|
+
await page.screenshot({ path: screenshotPath });
|
|
1031001
|
+
await ctx.close();
|
|
1031002
|
+
return ok11("Meet join page loaded", { url: url2, screenshotPath });
|
|
1031003
|
+
} finally {
|
|
1031004
|
+
await browser.close();
|
|
1031005
|
+
}
|
|
1030992
1031006
|
}));
|
|
1030993
1031007
|
tests.push(await runTest("google", "google.drive.crud", "Drive CRUD", async () => {
|
|
1030994
1031008
|
const client = new GoogleDriveClient(context.config);
|
|
@@ -1036353,7 +1036367,7 @@ async function runE2E(options3) {
|
|
|
1036353
1036367
|
" cleanup \u2014 list runs and their cleanup state",
|
|
1036354
1036368
|
" cleanup <runId> \u2014 clean up and delete a specific run",
|
|
1036355
1036369
|
" cleanup latest \u2014 clean up and delete the most recent run",
|
|
1036356
|
-
" cleanup
|
|
1036370
|
+
" cleanup all \u2014 clean up and delete all runs",
|
|
1036357
1036371
|
" setup google-guest <email> \u2014 start remote Google guest account OAuth flow",
|
|
1036358
1036372
|
" setup google-guest <email> --local \u2014 start local browser Google guest setup",
|
|
1036359
1036373
|
" setup google-guest-code <id> <url> \u2014 complete OAuth with callback URL",
|
|
@@ -1036361,7 +1036375,7 @@ async function runE2E(options3) {
|
|
|
1036361
1036375
|
"",
|
|
1036362
1036376
|
"Flags:",
|
|
1036363
1036377
|
" --json \u2014 output raw JSON result",
|
|
1036364
|
-
" --
|
|
1036378
|
+
" --auto-cleanup \u2014 clean up test artifacts immediately after run",
|
|
1036365
1036379
|
" --include-agent \u2014 include agent suite (slow)",
|
|
1036366
1036380
|
"",
|
|
1036367
1036381
|
"Examples:",
|
|
@@ -1036381,7 +1036395,6 @@ async function runE2E(options3) {
|
|
|
1036381
1036395
|
const artifactsDir = ensureE2ERunDir(runId);
|
|
1036382
1036396
|
const startedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
1036383
1036397
|
const cleanupItems = [];
|
|
1036384
|
-
await cleanupPreviousRuns(config2, runId);
|
|
1036385
1036398
|
logger.system(formatE2EStartMessage(runId, options3.mode));
|
|
1036386
1036399
|
const context = {
|
|
1036387
1036400
|
runId,
|
|
@@ -1036402,7 +1036415,7 @@ async function runE2E(options3) {
|
|
|
1036402
1036415
|
suites.push(await suite.run(context));
|
|
1036403
1036416
|
}
|
|
1036404
1036417
|
saveCleanupItems(runId, cleanupItems);
|
|
1036405
|
-
const cleanup = options3.
|
|
1036418
|
+
const cleanup = options3.autoCleanup ? await runCleanupForRun(config2, runId) : { status: "skipped", items: cleanupItems, message: "Artifacts retained; run /e2e cleanup to remove" };
|
|
1036406
1036419
|
const finishedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
1036407
1036420
|
const result = {
|
|
1036408
1036421
|
runId,
|
|
@@ -1036418,19 +1036431,6 @@ async function runE2E(options3) {
|
|
|
1036418
1036431
|
writeReports(result);
|
|
1036419
1036432
|
return result;
|
|
1036420
1036433
|
}
|
|
1036421
|
-
async function cleanupPreviousRuns(config2, currentRunId) {
|
|
1036422
|
-
const previousRunIds = listRecentRunIds(20).filter((id2) => id2 !== currentRunId);
|
|
1036423
|
-
for (const id2 of previousRunIds) {
|
|
1036424
|
-
try {
|
|
1036425
|
-
await runCleanupForRun(config2, id2);
|
|
1036426
|
-
} catch {
|
|
1036427
|
-
}
|
|
1036428
|
-
deleteE2ERunDir(id2);
|
|
1036429
|
-
}
|
|
1036430
|
-
if (previousRunIds.length > 0) {
|
|
1036431
|
-
logger.system(`Auto-cleaned ${previousRunIds.length} previous e2e run(s)`);
|
|
1036432
|
-
}
|
|
1036433
|
-
}
|
|
1036434
1036434
|
async function handleCleanup(config2, options3) {
|
|
1036435
1036435
|
const target = options3.cleanupTarget;
|
|
1036436
1036436
|
if (!target)
|
|
@@ -1036441,7 +1036441,7 @@ async function handleCleanup(config2, options3) {
|
|
|
1036441
1036441
|
if (!runId)
|
|
1036442
1036442
|
return "No recent E2E runs found.";
|
|
1036443
1036443
|
}
|
|
1036444
|
-
if (target === "--all-stale" || target === "--failed") {
|
|
1036444
|
+
if (target === "all" || target === "--all-stale" || target === "--failed") {
|
|
1036445
1036445
|
const recentRunIds = listRecentRunIds(20);
|
|
1036446
1036446
|
const runIds = target === "--failed" ? recentRunIds.filter((id2) => hasFailedCleanupItems(id2)) : recentRunIds;
|
|
1036447
1036447
|
const lines = [`Running cleanup for ${runIds.length} run(s)...`];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "visionclaw",
|
|
3
|
-
"version": "0.1.195-dev.feat-e2e-test-system.
|
|
3
|
+
"version": "0.1.195-dev.feat-e2e-test-system.13",
|
|
4
4
|
"description": "A personal assistant agent that runs on your desktop, receives commands from messaging channels, and executes tasks autonomously.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|