forked from Lilly-Protocol/lily-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathshared-defaults.test.ts
More file actions
39 lines (33 loc) · 1.57 KB
/
Copy pathshared-defaults.test.ts
File metadata and controls
39 lines (33 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import { describe, expect, it, vi } from "vitest";
import { DEFAULT_TIMEOUT_MS, DEFAULT_RETRY_POLICY, DEFAULT_RETRYABLE_STATUS_CODES } from "../src/config/defaults";
import { resolveLilySdkConfig } from "../src/config/resolve-config";
describe("shared-defaults", () => {
it("exports DEFAULT_TIMEOUT_MS", () => {
expect(DEFAULT_TIMEOUT_MS).toBe(10_000);
});
it("exports DEFAULT_RETRY_POLICY", () => {
expect(DEFAULT_RETRY_POLICY.retries).toBe(2);
expect(DEFAULT_RETRY_POLICY.retryDelayMs).toBe(250);
});
it("exports DEFAULT_RETRYABLE_STATUS_CODES equal to policy codes", () => {
expect(DEFAULT_RETRYABLE_STATUS_CODES).toEqual(DEFAULT_RETRY_POLICY.retryableStatusCodes);
});
it("resolveLilySdkConfig uses shared defaults", () => {
process.env.LILY_API_URL = "https://api.example.com";
const config = resolveLilySdkConfig({});
expect(config.timeoutMs).toBe(DEFAULT_TIMEOUT_MS);
expect(config.retry.retries).toBe(DEFAULT_RETRY_POLICY.retries);
});
it("resolveLilySdkConfig supports LILY_BASE_URL fallback", () => {
delete process.env.LILY_API_URL;
process.env.LILY_BASE_URL = "https://base-url.example.com";
const config = resolveLilySdkConfig({});
expect(config.baseUrl.toString()).toBe("https://base-url.example.com/");
});
it("LILY_API_URL takes precedence over LILY_BASE_URL", () => {
process.env.LILY_API_URL = "https://api.example.com";
process.env.LILY_BASE_URL = "https://base.example.com";
const config = resolveLilySdkConfig({});
expect(config.baseUrl.toString()).toBe("https://api.example.com/");
});
});