import { describe, it, expect } from "vitest";
import * as Index from "../index.js";
describe("Index Exports", () => {
it("should export core modules", () => {
expect(Index.McpServer).toBeDefined();
expect(Index.DatabaseAdapter).toBeDefined();
expect(Index.MySQLAdapter).toBeDefined();
expect(Index.ConnectionPool).toBeDefined();
});
it("should export error classes", () => {
expect(Index.MySQLMcpError).toBeDefined();
expect(Index.ConnectionError).toBeDefined();
expect(Index.AuthenticationError).toBeDefined();
});
it("should export types", () => {
// Types are erased at runtime, but we can check if the module object has keys
// or just rely on the test compiling as verification that types are exported
// if we import them as types.
// For runtime check, we just verify the module object is substantial
expect(Object.keys(Index).length).toBeGreaterThan(0);
});
});