feat(test): integration test for ts-sdk (#4395)
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
/**
|
||||
* Integration tests: Client initialization and error handling.
|
||||
*
|
||||
* Tests ping, org/project resolution, and invalid credentials.
|
||||
* These tests do NOT need pre-seeded memories.
|
||||
*
|
||||
* Run: MEM0_API_KEY=your-key npx jest initialization.test.ts --forceExit
|
||||
*/
|
||||
import { MemoryClient } from "../../mem0";
|
||||
import {
|
||||
MemoryError,
|
||||
MemoryNotFoundError,
|
||||
ValidationError,
|
||||
} from "../../../common/exceptions";
|
||||
import {
|
||||
describeIntegration,
|
||||
createTestClient,
|
||||
suppressTelemetryNoise,
|
||||
} from "./helpers";
|
||||
|
||||
jest.setTimeout(60_000);
|
||||
|
||||
describeIntegration("MemoryClient Integration — Initialization", () => {
|
||||
let client: MemoryClient;
|
||||
let cleanup: () => void;
|
||||
|
||||
beforeAll(() => {
|
||||
cleanup = suppressTelemetryNoise();
|
||||
client = createTestClient();
|
||||
});
|
||||
|
||||
afterAll(() => cleanup());
|
||||
|
||||
test("client pings successfully and resolves org/project", async () => {
|
||||
await client.ping();
|
||||
expect(client.organizationId).toBeTruthy();
|
||||
expect(client.projectId).toBeTruthy();
|
||||
});
|
||||
|
||||
test("get with invalid ID throws ValidationError", async () => {
|
||||
// Non-UUID string triggers a 400 ValidationError, not a 404
|
||||
await expect(client.get("nonexistent-memory-id-12345")).rejects.toThrow(
|
||||
ValidationError,
|
||||
);
|
||||
});
|
||||
|
||||
test("get with non-existent UUID throws MemoryNotFoundError", async () => {
|
||||
await expect(
|
||||
client.get("00000000-0000-0000-0000-000000000000"),
|
||||
).rejects.toThrow(MemoryNotFoundError);
|
||||
});
|
||||
|
||||
test("all SDK exceptions are MemoryError subclasses", async () => {
|
||||
await expect(client.get("nonexistent-memory-id-12345")).rejects.toThrow(
|
||||
MemoryError,
|
||||
);
|
||||
});
|
||||
|
||||
test("invalid API key throws on ping", async () => {
|
||||
const badClient = new MemoryClient({ apiKey: "invalid-key-12345" });
|
||||
await expect(badClient.ping()).rejects.toThrow();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user