UNPKG

@humanlayer/sdk

Version:

typescript client for humanlayer.dev

50 lines (49 loc) 2.36 kB
"use strict"; 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'); }); });