Skip to main content
Glama
loader.test.ts1.48 kB
// SPDX-FileCopyrightText: Copyright Orangebot, Inc. and Medplum contributors // SPDX-License-Identifier: Apache-2.0 import fs from 'fs'; import { getConfig, loadConfig } from './loader'; describe('Config', () => { test('Unrecognized config', async () => { await expect(loadConfig('unrecognized')).rejects.toThrow(); }); test('Load config file', async () => { const readFileSyncSpy = jest.spyOn(fs, 'readFileSync'); const config = await loadConfig('file:medplum.config.json'); expect(readFileSyncSpy).toHaveBeenCalled(); expect(config).toBeDefined(); expect(config.baseUrl).toBeDefined(); expect(getConfig()).toBe(config); }); test('Load env config', async () => { process.env.MEDPLUM_BASE_URL = 'http://localhost:3000'; process.env.MEDPLUM_PORT = '3000'; process.env.MEDPLUM_DATABASE_PORT = '5432'; process.env.MEDPLUM_REDIS_TLS = '{}'; process.env.MEDPLUM_DATABASE_SSL = '{"require":true}'; process.env.MEDPLUM_SMTP_HOST = 'smtp.example.com'; const config = await loadConfig('env'); expect(config).toBeDefined(); expect(config.baseUrl).toStrictEqual('http://localhost:3000'); expect(config.port).toStrictEqual(3000); expect(config.database.port).toStrictEqual(5432); expect(config.redis.tls).toStrictEqual({}); expect(config.database.ssl).toStrictEqual({ require: true }); expect(config.smtp?.host).toStrictEqual('smtp.example.com'); expect(getConfig()).toBe(config); }); });

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/medplum/medplum'

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