mirror of
https://github.com/anthropics/claude-code-action.git
synced 2026-01-23 06:54:13 +08:00
fix: update MCP server tests after removing additionalPermissions
- Change github_ci server logic to check for workflow token presence - Update test names to reflect new behavior - Fix test that was incorrectly setting workflow token
This commit is contained in:
@@ -111,10 +111,10 @@ export async function prepareMcpConfig(
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// CI server is disabled by default in v1.0 (users can enable via claudeArgs)
|
// CI server is included when we have a workflow token and context is a PR
|
||||||
const hasActionsReadPermission = false;
|
const hasWorkflowToken = !!process.env.DEFAULT_WORKFLOW_TOKEN;
|
||||||
|
|
||||||
if (context.isPR && hasActionsReadPermission) {
|
if (context.isPR && hasWorkflowToken) {
|
||||||
// Verify the token actually has actions:read permission
|
// Verify the token actually has actions:read permission
|
||||||
const actuallyHasPermission = await checkActionsReadPermission(
|
const actuallyHasPermission = await checkActionsReadPermission(
|
||||||
process.env.DEFAULT_WORKFLOW_TOKEN || "",
|
process.env.DEFAULT_WORKFLOW_TOKEN || "",
|
||||||
|
|||||||
@@ -540,7 +540,7 @@ describe("prepareMcpConfig", () => {
|
|||||||
process.env.GITHUB_WORKSPACE = oldEnv;
|
process.env.GITHUB_WORKSPACE = oldEnv;
|
||||||
});
|
});
|
||||||
|
|
||||||
test("should include github_ci server when context.isPR is true and actions:read permission is granted", async () => {
|
test("should include github_ci server when context.isPR is true and workflow token is present", async () => {
|
||||||
const oldEnv = process.env.DEFAULT_WORKFLOW_TOKEN;
|
const oldEnv = process.env.DEFAULT_WORKFLOW_TOKEN;
|
||||||
process.env.DEFAULT_WORKFLOW_TOKEN = "workflow-token";
|
process.env.DEFAULT_WORKFLOW_TOKEN = "workflow-token";
|
||||||
|
|
||||||
@@ -587,9 +587,9 @@ describe("prepareMcpConfig", () => {
|
|||||||
expect(parsed.mcpServers.github_file_ops).toBeDefined();
|
expect(parsed.mcpServers.github_file_ops).toBeDefined();
|
||||||
});
|
});
|
||||||
|
|
||||||
test("should not include github_ci server when actions:read permission is not granted", async () => {
|
test("should not include github_ci server when workflow token is not present", async () => {
|
||||||
const oldTokenEnv = process.env.DEFAULT_WORKFLOW_TOKEN;
|
const oldTokenEnv = process.env.DEFAULT_WORKFLOW_TOKEN;
|
||||||
process.env.DEFAULT_WORKFLOW_TOKEN = "workflow-token";
|
delete process.env.DEFAULT_WORKFLOW_TOKEN;
|
||||||
|
|
||||||
const result = await prepareMcpConfig({
|
const result = await prepareMcpConfig({
|
||||||
githubToken: "test-token",
|
githubToken: "test-token",
|
||||||
@@ -608,7 +608,7 @@ describe("prepareMcpConfig", () => {
|
|||||||
process.env.DEFAULT_WORKFLOW_TOKEN = oldTokenEnv;
|
process.env.DEFAULT_WORKFLOW_TOKEN = oldTokenEnv;
|
||||||
});
|
});
|
||||||
|
|
||||||
test("should parse additional_permissions with multiple lines correctly", async () => {
|
test("should include github_ci server when workflow token is present for PR context", async () => {
|
||||||
const oldTokenEnv = process.env.DEFAULT_WORKFLOW_TOKEN;
|
const oldTokenEnv = process.env.DEFAULT_WORKFLOW_TOKEN;
|
||||||
process.env.DEFAULT_WORKFLOW_TOKEN = "workflow-token";
|
process.env.DEFAULT_WORKFLOW_TOKEN = "workflow-token";
|
||||||
|
|
||||||
@@ -636,7 +636,7 @@ describe("prepareMcpConfig", () => {
|
|||||||
process.env.DEFAULT_WORKFLOW_TOKEN = oldTokenEnv;
|
process.env.DEFAULT_WORKFLOW_TOKEN = oldTokenEnv;
|
||||||
});
|
});
|
||||||
|
|
||||||
test("should warn when actions:read is requested but token lacks permission", async () => {
|
test("should warn when workflow token lacks actions:read permission", async () => {
|
||||||
const oldTokenEnv = process.env.DEFAULT_WORKFLOW_TOKEN;
|
const oldTokenEnv = process.env.DEFAULT_WORKFLOW_TOKEN;
|
||||||
process.env.DEFAULT_WORKFLOW_TOKEN = "invalid-token";
|
process.env.DEFAULT_WORKFLOW_TOKEN = "invalid-token";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user