Skip to main content
Glama
index.test.ts2.27 kB
import { describe, it, expect, vi, beforeEach } from 'vitest'; // Simple test for basic functionality describe('MCP Server Configuration', () => { const originalEnv = process.env; beforeEach(() => { process.env = { ...originalEnv }; vi.clearAllMocks(); }); describe('environment variables', () => { it('should handle ICLOUD_EMAIL environment variable', () => { process.env.ICLOUD_EMAIL = 'test@icloud.com'; expect(process.env.ICLOUD_EMAIL).toBe('test@icloud.com'); }); it('should handle ICLOUD_APP_PASSWORD environment variable', () => { process.env.ICLOUD_APP_PASSWORD = 'test-password'; expect(process.env.ICLOUD_APP_PASSWORD).toBe('test-password'); }); it('should handle missing environment variables', () => { delete process.env.ICLOUD_EMAIL; delete process.env.ICLOUD_APP_PASSWORD; expect(process.env.ICLOUD_EMAIL).toBeUndefined(); expect(process.env.ICLOUD_APP_PASSWORD).toBeUndefined(); }); }); describe('credential masking', () => { const maskCredential = (value: string | undefined) => { if (!value) return 'Not set'; if (value.length <= 4) return '***'; return value.substring(0, 4) + '***'; }; it('should mask long credentials correctly', () => { const result = maskCredential('verylongpassword'); expect(result).toBe('very***'); }); it('should mask short credentials', () => { const result = maskCredential('abc'); expect(result).toBe('***'); }); it('should handle undefined values', () => { const result = maskCredential(undefined); expect(result).toBe('Not set'); }); it('should handle empty string', () => { const result = maskCredential(''); expect(result).toBe('Not set'); }); }); describe('config validation', () => { it('should validate email format basic structure', () => { const email = 'test@icloud.com'; expect(email.includes('@')).toBe(true); expect(email.includes('.')).toBe(true); }); it('should validate app password exists', () => { const appPassword = 'test-password'; expect(appPassword.length).toBeGreaterThan(0); expect(typeof appPassword).toBe('string'); }); }); });

Latest Blog Posts

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/Racimy/iMail-mcp'

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