Skip to main content
Glama

MongoDB MCP Server

Official
by mongodb-js
deleteDeployment.test.ts3.51 kB
import { expectDefined, getResponseElements } from "../../helpers.js"; import { expect, it } from "vitest"; import { describeWithAtlasLocal, describeWithAtlasLocalDisabled } from "./atlasLocalHelpers.js"; describeWithAtlasLocal("atlas-local-delete-deployment", (integration) => { it("should have the atlas-local-delete-deployment tool", async () => { const { tools } = await integration.mcpClient().listTools(); const deleteDeployment = tools.find((tool) => tool.name === "atlas-local-delete-deployment"); expectDefined(deleteDeployment); }); it("should have correct metadata", async () => { const { tools } = await integration.mcpClient().listTools(); const deleteDeployment = tools.find((tool) => tool.name === "atlas-local-delete-deployment"); expectDefined(deleteDeployment); expect(deleteDeployment.inputSchema.type).toBe("object"); expectDefined(deleteDeployment.inputSchema.properties); expect(deleteDeployment.inputSchema.properties).toHaveProperty("deploymentName"); }); it("should return 'no such container' error when deployment to delete does not exist", async () => { const deploymentName = "non-existent"; const response = await integration.mcpClient().callTool({ name: "atlas-local-delete-deployment", arguments: { deploymentName }, }); const elements = getResponseElements(response.content); expect(elements.length).toBeGreaterThanOrEqual(1); expect(elements[0]?.text).toContain( `The Atlas Local deployment "${deploymentName}" was not found. Please check the deployment name or use "atlas-local-list-deployments" to see available deployments.` ); }); it("should delete a deployment when calling the tool", async () => { // Create a deployment const deploymentName = `test-deployment-${Date.now()}`; await integration.mcpClient().callTool({ name: "atlas-local-create-deployment", arguments: { deploymentName }, }); // Check that deployment exists before deletion const beforeResponse = await integration.mcpClient().callTool({ name: "atlas-local-list-deployments", arguments: {}, }); const beforeElements = getResponseElements(beforeResponse.content); expect(beforeElements.length).toBeGreaterThanOrEqual(1); expect(beforeElements[1]?.text ?? "").toContain(deploymentName); // Delete the deployment await integration.mcpClient().callTool({ name: "atlas-local-delete-deployment", arguments: { deploymentName }, }); // Check that deployment doesn't exist after deletion const afterResponse = await integration.mcpClient().callTool({ name: "atlas-local-list-deployments", arguments: {}, }); const afterElements = getResponseElements(afterResponse.content); expect(afterElements[1]?.text ?? "").not.toContain(deploymentName); }); }); describeWithAtlasLocalDisabled("[MacOS in GitHub Actions] atlas-local-delete-deployment", (integration) => { it("should not have the atlas-local-delete-deployment tool", async () => { const { tools } = await integration.mcpClient().listTools(); const deleteDeployment = tools.find((tool) => tool.name === "atlas-local-delete-deployment"); expect(deleteDeployment).toBeUndefined(); }); });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mongodb-js/mongodb-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server