From 90702e74babd1dc33ff29416ebe87c7e6a0e724b Mon Sep 17 00:00:00 2001 From: josephemswiler Date: Mon, 18 Nov 2024 15:09:04 -0500 Subject: [PATCH 1/4] chore: remove localhost value for AGENT_INTERNAL_URL --- packages/configure/src/utils/authenticated.client.ts | 7 +++++-- packages/listener/src/events/authenticated.client.ts | 8 ++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/configure/src/utils/authenticated.client.ts b/packages/configure/src/utils/authenticated.client.ts index 6e08a9ef..e56f825b 100644 --- a/packages/configure/src/utils/authenticated.client.ts +++ b/packages/configure/src/utils/authenticated.client.ts @@ -2,8 +2,11 @@ import { Configuration, DefaultApi } from '@flatfile/api' // TODO: We will need to make this conditional depending on if it's in the NodeVM or the Browser import fetch, { RequestInit } from 'node-fetch' -const FLATFILE_API_URL = - process.env.AGENT_INTERNAL_URL || 'http://localhost:3000' +const FLATFILE_API_URL = process.env.AGENT_INTERNAL_URL + +if (FLATFILE_API_URL == null) { + throw new Error('AGENT_INTERNAL_URL must be set in the environment') +} export class AuthenticatedClient { private _api?: DefaultApi diff --git a/packages/listener/src/events/authenticated.client.ts b/packages/listener/src/events/authenticated.client.ts index 6d994acc..614f174d 100644 --- a/packages/listener/src/events/authenticated.client.ts +++ b/packages/listener/src/events/authenticated.client.ts @@ -7,8 +7,12 @@ export class AuthenticatedClient { public _apiUrl?: string constructor(accessToken?: string, apiUrl?: string) { - const FLATFILE_API_URL = - CrossEnvConfig.get('AGENT_INTERNAL_URL') || 'http://localhost:3000' + const FLATFILE_API_URL = CrossEnvConfig.get('AGENT_INTERNAL_URL') + + if (FLATFILE_API_URL == null) { + throw new Error('AGENT_INTERNAL_URL must be set in the environment') + } + const bearerToken = CrossEnvConfig.get('FLATFILE_BEARER_TOKEN') this._accessToken = accessToken || bearerToken || '...' From 5f10d65e711f939b9aa827d6984ebd6de64c9701 Mon Sep 17 00:00:00 2001 From: josephemswiler Date: Tue, 26 Nov 2024 14:52:17 -0500 Subject: [PATCH 2/4] chore: add value to tests for env variable AGENT_INTERNAL_URL --- packages/listener/src/events/event.handler.spec.ts | 5 +++++ packages/listener/src/flatfile.listener.spec.ts | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/packages/listener/src/events/event.handler.spec.ts b/packages/listener/src/events/event.handler.spec.ts index 8eb31205..d1be31f8 100644 --- a/packages/listener/src/events/event.handler.spec.ts +++ b/packages/listener/src/events/event.handler.spec.ts @@ -1,8 +1,13 @@ +import { CrossEnvConfig } from '@flatfile/cross-env-config' import { EventHandler } from './event.handler' describe('EventHandler', () => { let testFn: jest.Mock + if (CrossEnvConfig.get('AGENT_INTERNAL_URL') == null) { + process.env.AGENT_INTERNAL_URL = 'agent_internal_url' + } + beforeEach(() => { testFn = jest.fn() }) diff --git a/packages/listener/src/flatfile.listener.spec.ts b/packages/listener/src/flatfile.listener.spec.ts index a0e884b1..96e48dd7 100644 --- a/packages/listener/src/flatfile.listener.spec.ts +++ b/packages/listener/src/flatfile.listener.spec.ts @@ -1,8 +1,13 @@ +import { CrossEnvConfig } from '@flatfile/cross-env-config' import { FlatfileListener } from './flatfile.listener' describe('Client', () => { let testFn: jest.Mock + if (CrossEnvConfig.get('AGENT_INTERNAL_URL') == null) { + process.env.AGENT_INTERNAL_URL = 'agent_internal_url' + } + beforeEach(() => { testFn = jest.fn() }) From b25ace3b79972ac3e23c21bfc108e1e213acae99 Mon Sep 17 00:00:00 2001 From: josephemswiler Date: Tue, 26 Nov 2024 15:09:20 -0500 Subject: [PATCH 3/4] chore: add test for nullish AGENT_INTERNAL_URL value --- packages/listener/src/events/event.handler.spec.ts | 9 +++++++++ packages/listener/src/flatfile.listener.spec.ts | 11 +++++++++++ 2 files changed, 20 insertions(+) diff --git a/packages/listener/src/events/event.handler.spec.ts b/packages/listener/src/events/event.handler.spec.ts index d1be31f8..d6bf7094 100644 --- a/packages/listener/src/events/event.handler.spec.ts +++ b/packages/listener/src/events/event.handler.spec.ts @@ -91,4 +91,13 @@ describe('EventHandler', () => { expect(testFn).toHaveBeenCalledTimes(1) }) }) + + describe('AGENT_INTERNAL_URL', () => { + test('throws error when not set', () => { + process.env.AGENT_INTERNAL_URL = undefined + expect(() => new EventHandler()).toThrow( + 'AGENT_INTERNAL_URL must be set in the environment' + ) + }) + }) }) diff --git a/packages/listener/src/flatfile.listener.spec.ts b/packages/listener/src/flatfile.listener.spec.ts index 96e48dd7..99351141 100644 --- a/packages/listener/src/flatfile.listener.spec.ts +++ b/packages/listener/src/flatfile.listener.spec.ts @@ -155,4 +155,15 @@ describe('Client', () => { expect(testFn).toHaveBeenCalledTimes(3) }) }) + + describe('AGENT_INTERNAL_URL', () => { + test('throws error when not set', () => { + process.env.AGENT_INTERNAL_URL = undefined + expect(() => { + FlatfileListener.create((c) => { + c.on('foo', () => {}) + }) + }).toThrow('AGENT_INTERNAL_URL must be set in the environment') + }) + }) }) From 98136ebfef3c814d194ebb5d97695aba16c3f69d Mon Sep 17 00:00:00 2001 From: josephemswiler Date: Tue, 26 Nov 2024 15:59:12 -0500 Subject: [PATCH 4/4] chore: update tests for AGENT_INTERNAL_URL --- packages/listener/src/events/event.handler.spec.ts | 12 +++++++++--- packages/listener/src/flatfile.listener.spec.ts | 10 ++++++++-- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/packages/listener/src/events/event.handler.spec.ts b/packages/listener/src/events/event.handler.spec.ts index d6bf7094..ce12c47a 100644 --- a/packages/listener/src/events/event.handler.spec.ts +++ b/packages/listener/src/events/event.handler.spec.ts @@ -95,9 +95,15 @@ describe('EventHandler', () => { describe('AGENT_INTERNAL_URL', () => { test('throws error when not set', () => { process.env.AGENT_INTERNAL_URL = undefined - expect(() => new EventHandler()).toThrow( - 'AGENT_INTERNAL_URL must be set in the environment' - ) + + try { + new EventHandler().on('foo', testFn) + } catch (e) { + expect(e).toBeInstanceOf(Error) + expect((e as Error).message).toBe( + 'AGENT_INTERNAL_URL must be set in the environment' + ) + } }) }) }) diff --git a/packages/listener/src/flatfile.listener.spec.ts b/packages/listener/src/flatfile.listener.spec.ts index 99351141..a301f006 100644 --- a/packages/listener/src/flatfile.listener.spec.ts +++ b/packages/listener/src/flatfile.listener.spec.ts @@ -159,11 +159,17 @@ describe('Client', () => { describe('AGENT_INTERNAL_URL', () => { test('throws error when not set', () => { process.env.AGENT_INTERNAL_URL = undefined - expect(() => { + + try { FlatfileListener.create((c) => { c.on('foo', () => {}) }) - }).toThrow('AGENT_INTERNAL_URL must be set in the environment') + } catch (e) { + expect(e).toBeInstanceOf(Error) + expect((e as Error).message).toBe( + 'AGENT_INTERNAL_URL must be set in the environment' + ) + } }) }) })