Spaces:
Runtime error
Runtime error
File size: 1,648 Bytes
4782147 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | import { Browser, BrowserContext, Page } from "@playwright/test";
import { TEST_USERS } from "../constants/test-users";
export const deleteMcpServer = async (
access: {
browser?: Browser;
context?: BrowserContext;
page?: Page;
},
serverId: string,
) => {
try {
let page: Page;
if (!access.browser && !access.page && !access.context) {
throw new Error("Browser, context, or page is required");
}
if (access.page) {
page = access.page;
}
if (access.context) {
page = await access.context.newPage();
}
if (access.browser) {
const browserContext = await access.browser.newContext({
storageState: TEST_USERS.admin.authFile,
});
page = await browserContext.newPage();
}
const response = await page!.request.delete(`/api/mcp/${serverId}`);
await access.browser?.close();
await access.page?.close();
await access.context?.close();
if (!response.ok) {
const responseText = await response.text();
// If server is already deleted (404), that's OK during cleanup
if (response.status() === 404 || responseText.includes("not found")) {
console.log(`MCP server ${serverId} already deleted or not found`);
return;
}
console.error(
"Failed to delete MCP server",
response.status(),
responseText,
);
await access.browser?.close();
await access.page?.close();
await access.context?.close();
throw new Error("Failed to delete MCP server");
}
} catch (error) {
console.error("Failed to delete MCP server", error);
throw error;
}
};
|