From a0b466694030881f40d657cdb77202de6444956a Mon Sep 17 00:00:00 2001 From: clh02467605 Date: Fri, 10 Jul 2026 17:11:20 +0800 Subject: [PATCH] refactor(e2e): remove outdated token-plan tests and add new route exports - Deleted the `token-plan.e2e.test.ts` file as it contained outdated test cases. - Introduced `TOKEN_PLAN_ROUTES` in `topic-routes.ts` to define new command routes for token-plan operations. - This update streamlines the E2E testing structure and prepares for future enhancements. --- .../tests/e2e/token-plan.e2e.test.ts | 40 +++++++++++++------ packages/commands/tests/e2e/topic-routes.ts | 7 ++++ 2 files changed, 34 insertions(+), 13 deletions(-) rename packages/{cli => commands}/tests/e2e/token-plan.e2e.test.ts (62%) diff --git a/packages/cli/tests/e2e/token-plan.e2e.test.ts b/packages/commands/tests/e2e/token-plan.e2e.test.ts similarity index 62% rename from packages/cli/tests/e2e/token-plan.e2e.test.ts rename to packages/commands/tests/e2e/token-plan.e2e.test.ts index b37fb14..7bc6cda 100644 --- a/packages/cli/tests/e2e/token-plan.e2e.test.ts +++ b/packages/commands/tests/e2e/token-plan.e2e.test.ts @@ -1,16 +1,22 @@ import { describe, expect, test } from "vite-plus/test"; -import { makeE2eOutputDir, parseStdoutJson, runCli } from "./helpers.ts"; +import { makeE2eOutputDir, parseStdoutJson, runCommandE2e } from "./helpers.ts"; +import { TOKEN_PLAN_ROUTES } from "./topic-routes.ts"; describe("e2e: token-plan", () => { test("token-plan help shows centralized OpenAPI auth flags", async () => { - const { stderr, exitCode } = await runCli(["token-plan", "list-seats", "--help"]); + const { stderr, exitCode } = await runCommandE2e(TOKEN_PLAN_ROUTES, [ + "token-plan", + "list-seats", + "--help", + ]); expect(exitCode, stderr).toBe(0); expect(stderr).toMatch(/--access-key-id/); expect(stderr).toMatch(/--access-key-secret/); }); test("token-plan dry-run does not require OpenAPI AK/SK", async () => { - const { stdout, stderr, exitCode } = await runCli( + const { stdout, stderr, exitCode } = await runCommandE2e( + TOKEN_PLAN_ROUTES, ["token-plan", "list-seats", "--dry-run", "--output", "json"], { ALIBABA_CLOUD_ACCESS_KEY_ID: "", @@ -25,22 +31,30 @@ describe("e2e: token-plan", () => { test("token-plan non-dry-run requires OpenAPI AK/SK", async () => { const configDir = makeE2eOutputDir("token-plan-missing-openapi"); - const { stderr, exitCode } = await runCli(["token-plan", "list-seats"], { - BAILIAN_CONFIG_DIR: configDir, - ALIBABA_CLOUD_ACCESS_KEY_ID: "", - ALIBABA_CLOUD_ACCESS_KEY_SECRET: "", - }); + const { stderr, exitCode } = await runCommandE2e( + TOKEN_PLAN_ROUTES, + ["token-plan", "list-seats"], + { + BAILIAN_CONFIG_DIR: configDir, + ALIBABA_CLOUD_ACCESS_KEY_ID: "", + ALIBABA_CLOUD_ACCESS_KEY_SECRET: "", + }, + ); expect(exitCode).not.toBe(0); expect(stderr).toMatch(/OpenAPI AK\/SK|access-key-id|ALIBABA_CLOUD_ACCESS_KEY_ID/); }); test("token-plan partial OpenAPI env reports AK/SK hint without API key onboarding", async () => { const configDir = makeE2eOutputDir("token-plan-partial-openapi-env"); - const { stderr, exitCode } = await runCli(["token-plan", "list-seats"], { - BAILIAN_CONFIG_DIR: configDir, - ALIBABA_CLOUD_ACCESS_KEY_ID: "ak-e2e-placeholder", - ALIBABA_CLOUD_ACCESS_KEY_SECRET: "", - }); + const { stderr, exitCode } = await runCommandE2e( + TOKEN_PLAN_ROUTES, + ["token-plan", "list-seats"], + { + BAILIAN_CONFIG_DIR: configDir, + ALIBABA_CLOUD_ACCESS_KEY_ID: "ak-e2e-placeholder", + ALIBABA_CLOUD_ACCESS_KEY_SECRET: "", + }, + ); expect(exitCode).not.toBe(0); expect(stderr).toMatch(/Incomplete OpenAPI AK\/SK/); expect(stderr).toMatch(/ALIBABA_CLOUD_ACCESS_KEY_ID/); diff --git a/packages/commands/tests/e2e/topic-routes.ts b/packages/commands/tests/e2e/topic-routes.ts index 596012e..faf1850 100644 --- a/packages/commands/tests/e2e/topic-routes.ts +++ b/packages/commands/tests/e2e/topic-routes.ts @@ -136,3 +136,10 @@ export const CONSOLE_FLAGS_DRY_RUN_ROUTES: E2eRouteExports = { "mcp list": "mcpList", "quota check": "quotaCheck", }; + +export const TOKEN_PLAN_ROUTES: E2eRouteExports = { + "token-plan list-seats": "tokenPlanListSeats", + "token-plan create-key": "tokenPlanCreateKey", + "token-plan assign-seats": "tokenPlanAssignSeats", + "token-plan add-member": "tokenPlanAddMember", +};