diff --git a/packages/clients/src/scw/__tests__/client.ts b/packages/clients/src/scw/__tests__/client.ts index f42f26aac..57cc66a25 100644 --- a/packages/clients/src/scw/__tests__/client.ts +++ b/packages/clients/src/scw/__tests__/client.ts @@ -7,6 +7,13 @@ const withApiURL = (apiURL: string): ClientConfig => (obj: Settings): Settings => ({ ...obj, apiURL }) +const withPassthroughFetch = + (res: string): ClientConfig => + (obj: Settings): Settings => ({ + ...obj, + httpClient: () => Promise.resolve(new Response(res)), + }) + describe('createAdvancedClient', () => { it('initializes without throwing', () => { expect(() => { @@ -52,6 +59,14 @@ describe('createAdvancedClient', () => { const client = createAdvancedClient(withApiURL(betaApiRoot)) expect(client.settings.apiURL).toBe(betaApiRoot) }) + + it('contains override of httpClient', () => { + const client = createAdvancedClient(withPassthroughFetch('hello world')) + + return expect( + client.settings.httpClient('any-url').then(obj => obj.text()), + ).resolves.toBe('hello world') + }) }) describe('createClient', () => { diff --git a/packages/clients/src/scw/client.ts b/packages/clients/src/scw/client.ts index 344e8e5e4..82bad7339 100644 --- a/packages/clients/src/scw/client.ts +++ b/packages/clients/src/scw/client.ts @@ -58,7 +58,7 @@ export const createAdvancedClient = (...configs: ClientConfig[]): Client => { getLogger().info(`init Scaleway SDK version ${version}`) return { - fetch: buildFetcher(settings, fetch), + fetch: buildFetcher(settings, settings.httpClient), settings, } }