import { describe, test, expect, beforeAll, afterAll } from 'bun:test'; import { MockServer } from './mock-server.js'; describe('Mock Server Tests', () => { let mockServer: MockServer; let baseUrl: string; beforeAll(async () => { mockServer = new MockServer(); await mockServer.start(); baseUrl = mockServer.getBaseUrl(); }); afterAll(async () => { await mockServer.stop(); }); test('should return status codes', async () => { const response = await fetch(`${baseUrl}/status/200`); expect(response.status).toBe(200); const response404 = await fetch(`${baseUrl}/status/404`); expect(response404.status).toBe(404); }); test('should handle headers endpoint', async () => { const response = await fetch(`${baseUrl}/headers`, { headers: { 'X-Test-Header': 'test-value' } }); expect(response.status).toBe(200); const data = await response.json(); expect(data.headers['x-test-header']).toBe('test-value'); }); test('should handle basic auth', async () => { const credentials = btoa('user:pass'); const response = await fetch(`${baseUrl}/basic-auth/user/pass`, { headers: { 'Authorization': `Basic ${credentials}` } }); expect(response.status).toBe(200); const data = await response.json(); expect(data.authenticated).toBe(true); expect(data.user).toBe('user'); }); });