Skip to main content
Glama
dump.test.ts2.68 kB
/** * Tests for tilt_dump tool * * Tests dumping Tilt engine state */ import { afterEach, describe, expect, it } from 'bun:test'; import { tiltDump } from '../../src/tools/dump.js'; import { createTiltCliFixture, type TiltCliFixture, } from '../fixtures/tilt-cli-fixture.js'; describe('tilt_dump tool', () => { const fixtures: TiltCliFixture[] = []; afterEach(() => { fixtures.forEach((f) => f.cleanup()); fixtures.length = 0; }); it('dumps engine state as JSON', async () => { const engineState = { engine: 'state', resources: [] }; const fixture = await createTiltCliFixture({ behavior: 'healthy', stdout: JSON.stringify(engineState), }); fixtures.push(fixture); const result = await tiltDump.handler( { format: 'json', }, { tiltBinaryPath: fixture.tiltBinary, tiltPort: fixture.port, tiltHost: fixture.host, }, ); expect(result.content).toHaveLength(1); expect(result.content[0].type).toBe('text'); const output = JSON.parse(result.content[0].text); expect(output.success).toBe(true); expect(output.format).toBe('json'); expect(output.data).toEqual(engineState); }); it('defaults to JSON format', async () => { const fixture = await createTiltCliFixture({ behavior: 'healthy', stdout: '{"engine":"state"}', }); fixtures.push(fixture); const result = await tiltDump.handler( {}, { tiltBinaryPath: fixture.tiltBinary, tiltPort: fixture.port, tiltHost: fixture.host, }, ); const output = JSON.parse(result.content[0].text); expect(output.success).toBe(true); expect(output.format).toBe('json'); }); it('throws error when Tilt is not running', async () => { const fixture = await createTiltCliFixture({ behavior: 'refused' }); fixtures.push(fixture); await expect( tiltDump.handler( {}, { tiltBinaryPath: fixture.tiltBinary, tiltPort: fixture.port, tiltHost: fixture.host, }, ), ).rejects.toThrow(/No active Tilt session|connection refused/i); }); it('uses default port and host when not provided', async () => { const fixture = await createTiltCliFixture({ behavior: 'healthy', stdout: '{"test":true}', }); fixtures.push(fixture); const result = await tiltDump.handler( {}, { tiltBinaryPath: fixture.tiltBinary, tiltPort: fixture.port, tiltHost: fixture.host, }, ); const output = JSON.parse(result.content[0].text); expect(output.success).toBe(true); }); });

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/0xBigBoss/tilt-mcp'

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