UNPKG

seraph-agent

Version:

An extremely lightweight, SRE autonomous AI agent for seamless integration with common observability tasks.

52 lines (51 loc) 1.87 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const supertest_1 = __importDefault(require("supertest")); const server_1 = require("../server"); const agent_1 = require("../agent"); jest.mock('../agent'); describe('Server', () => { let server; let shutdown; let agentManager; let config; beforeEach(() => { jest.useFakeTimers(); // Ensure fake timers are used before server starts jest.resetModules(); agentManager = new agent_1.AgentManager({}); agentManager.dispatch = jest.fn(); config = { port: 8081, workers: 4, apiKey: 'test-key', serverApiKey: null, }; const serverControl = (0, server_1.startServer)(config, agentManager); server = serverControl.server; shutdown = serverControl.shutdown; }); afterEach((done) => { shutdown(() => { jest.clearAllTimers(); // Clear any remaining timers done(); }); }); it('should respond with 202 on /logs POST', async () => { const response = await (0, supertest_1.default)(server) .post('/logs') .send('test log'); expect(response.status).toBe(202); expect(agentManager.dispatch).toHaveBeenCalledWith('test log'); }); it('should respond with 200 on /status GET', async () => { const response = await (0, supertest_1.default)(server).get('/status'); expect(response.status).toBe(200); }); it('should respond with 200 on /metrics GET', async () => { const response = await (0, supertest_1.default)(server).get('/metrics'); expect(response.status).toBe(200); }); });