@humanlayer/sdk
Version:
typescript client for humanlayer.dev
50 lines (49 loc) • 2.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const approval_1 = require("./approval");
const index_1 = require("../src/testing/index");
const cloud_1 = require("./cloud");
test('no args', () => {
(0, index_1.with_env_var)('HUMANLAYER_API_KEY', '', () => {
const hl = (0, approval_1.humanlayer)();
expect(hl.approvalMethod).toBe(approval_1.ApprovalMethod.cli);
});
});
test('cli hardcoded', () => {
const hl = (0, approval_1.humanlayer)({ approvalMethod: approval_1.ApprovalMethod.cli });
expect(hl.approvalMethod).toBe(approval_1.ApprovalMethod.cli);
});
test('HumanLayer.cloud()', () => {
(0, index_1.with_env_var)('HUMANLAYER_API_KEY', '', () => {
expect(() => approval_1.HumanLayer.cloud()).toThrow('HUMANLAYER_API_KEY is required for cloud approvals');
});
});
test('HumanLayer.cloud() with apiKey', () => {
const hl = approval_1.HumanLayer.cloud({ apiKey: 'abc' });
expect(hl.approvalMethod).toBe(approval_1.ApprovalMethod.backend);
expect(hl.backend).toBeDefined();
expect(hl.backend).toBeInstanceOf(cloud_1.CloudHumanLayerBackend);
const cloudBackend = hl.backend;
expect(cloudBackend.connection.apiKey).toBe('abc');
expect(cloudBackend.connection.apiBaseURL).toBe('https://api.humanlayer.dev/humanlayer/v1');
});
test('Humanlayer with api key and endpoint', () => {
const hl = new approval_1.HumanLayer({ apiKey: 'abc', apiBaseUrl: 'fake' });
expect(hl.approvalMethod).toBe(approval_1.ApprovalMethod.backend);
expect(hl.backend).toBeDefined();
expect(hl.backend).toBeInstanceOf(cloud_1.CloudHumanLayerBackend);
const cloudBackend = hl.backend;
expect(cloudBackend.connection.apiKey).toBe('abc');
expect(cloudBackend.connection.apiBaseURL).toBe('fake');
});
test('HumanLayer() with env var', () => {
(0, index_1.with_env_var)('HUMANLAYER_API_KEY', 'abc', () => {
const hl = new approval_1.HumanLayer();
expect(hl.approvalMethod).toBe(approval_1.ApprovalMethod.backend);
expect(hl.backend).toBeDefined();
expect(hl.backend).toBeInstanceOf(cloud_1.CloudHumanLayerBackend);
const cloudBackend = hl.backend;
expect(cloudBackend.connection.apiKey).toBe('abc');
expect(cloudBackend.connection.apiBaseURL).toBe('https://api.humanlayer.dev/humanlayer/v1');
});
});