Skip to main content
Glama

cloudinary-mcp-server

uploadTool.test.js1.46 kB
import { createCloudinaryMock } from "../../test/cloudinary.mock"; import getUploadTool from "./uploadTool.js"; describe("uploadTool", () => { let cloudinaryMock; let uploadTool; beforeEach(() => { cloudinaryMock = createCloudinaryMock(); uploadTool = getUploadTool(cloudinaryMock); vi.clearAllMocks(); }); it("should upload from URL successfully", async () => { const mockResult = { public_id: "test123", secure_url: "https://res.cloudinary.com/test" }; cloudinaryMock.uploader.upload.mockResolvedValue(mockResult); const result = await uploadTool({ source: "https://example.com/image.jpg", resourceType: "image", }); expect(cloudinaryMock.uploader.upload).toHaveBeenCalledWith("https://example.com/image.jpg", expect.objectContaining({ resource_type: "image" })); expect(result.content[0].text).toContain("test123"); expect(result.isError).toBe(false); }); it("should handle errors during upload", async () => { const err = new Error("Upload failed") cloudinaryMock.uploader.upload.mockRejectedValue(err); const result = await uploadTool({ source: "https://example.com/image.jpg", resourceType: "image", }); expect(result.content[0].text).toContain("Error uploading to Cloudinary: Upload failed"); expect(result.isError).toBe(true); expect(result.content[0].text).toContain(`(cloud: ${cloudinaryMock.config().cloud_name}, key: ${cloudinaryMock.config().api_key.slice(0, 4)}...)`) }); });

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/yoavniran/cloudinary-mcp-server'

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