From 94d5d9d88fb7e266cf04225c3d8ffd6d4a00626f Mon Sep 17 00:00:00 2001 From: Pierluigi Viti Date: Mon, 11 Mar 2024 12:00:46 +0100 Subject: [PATCH 1/2] fix: manage multiple test env --- .gitignore | 4 ++-- .npmignore | 1 + test/spot.ts | 17 +++++------------ test/token.ts | 25 +++++++++++++++---------- 4 files changed, 23 insertions(+), 24 deletions(-) diff --git a/.gitignore b/.gitignore index 39efbb68..7d12b180 100644 --- a/.gitignore +++ b/.gitignore @@ -110,8 +110,8 @@ typings/ # dotenv environment variables file .env -.env.test -.env*.local +.env.* +test/env/ # parcel-bundler cache (https://parceljs.org/) .cache diff --git a/.npmignore b/.npmignore index 0b853a43..15e11b37 100644 --- a/.npmignore +++ b/.npmignore @@ -2,6 +2,7 @@ build/ gen/ src/ node_modules/ +test/ tsconfig.json tsconfig.*.json diff --git a/test/spot.ts b/test/spot.ts index c9f2998b..50dc027b 100644 --- a/test/spot.ts +++ b/test/spot.ts @@ -1,11 +1,10 @@ - +import commercelayer from '../lib/cjs' import { inspect } from 'util' -import commercelayer, { Tag } from '../src/index' import getToken from './token' -import { error } from 'console' +const ENV = 'topfarmacia' -(async () => { +;(async () => { const auth = await getToken('integration') const accessToken = auth ? auth.accessToken : '' @@ -18,14 +17,8 @@ import { error } from 'console' try { - fetch("http://httpstat.us/429") - .then(res => { - console.log('RESPONSE') - console.log(res) - }).catch(err => { - console.log('ERROR') - console.log(err) - }); + const orders = await cl.orders.list({ pageSize: 1 }) + console.log(orders) } catch (error: any) { console.log(inspect(error, false, null, true)) diff --git a/test/token.ts b/test/token.ts index a55f7dae..5c80a949 100644 --- a/test/token.ts +++ b/test/token.ts @@ -32,22 +32,27 @@ export type AccessToken = { -const organization = process.env.CL_SDK_ORGANIZATION || '' -const domain = process.env.CL_SDK_DOMAIN -const clientId = process.env.CL_SDK_CLIENT_ID || '' -const clientSecret = process.env.CL_SDK_CLIENT_SECRET || '' -const scope = process.env.CL_SDK_SCOPE || '' +// const endpoint = `https://${organization.toLowerCase()}.${domain ? domain : 'commercelayer.io'}` -const endpoint = `https://${organization.toLowerCase()}.${domain ? domain : 'commercelayer.io'}` +export default async (type: TokenType): Promise => { + const env = process.env.CL_SDK_ENVIRONMENT || undefined + + if (env) dotenv.config({ path: `env/.env.${env}` }) + + const organization = process.env.CL_SDK_ORGANIZATION || '' + const domain = process.env.CL_SDK_DOMAIN + const clientId = process.env.CL_SDK_CLIENT_ID || '' + const clientSecret = process.env.CL_SDK_CLIENT_SECRET || '' + const scope = process.env.CL_SDK_SCOPE || '' -export default async (type: TokenType): Promise => { switch (type) { - case 'integration': return getAccessToken({ slug: organization, clientId, clientSecret, scope }) + case 'integration': return getAccessToken({ slug: organization, clientId, clientSecret, scope, domain }) case 'sales_channel': - default: return getAccessToken({ slug: organization, clientId, scope }) + default: return getAccessToken({ slug: organization, clientId, scope, domain }) } + } @@ -62,7 +67,7 @@ const getAccessToken = async (auth: AuthData): Promise => { clientId: auth.clientId, clientSecret: auth.clientSecret, slug: auth.slug, - domain: auth.domain, + domain: auth.domain || undefined, scope } From 47ec8b7defcb6d4175df92d97ebb8fc5390a85e7 Mon Sep 17 00:00:00 2001 From: Pierluigi Viti Date: Mon, 11 Mar 2024 14:01:28 +0100 Subject: [PATCH 2/2] fix: fix multiple test env --- test/spot.ts | 21 +++++++++++++++------ test/token.ts | 9 +++++---- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/test/spot.ts b/test/spot.ts index 50dc027b..64e3c07c 100644 --- a/test/spot.ts +++ b/test/spot.ts @@ -1,4 +1,4 @@ -import commercelayer from '../lib/cjs' +import commercelayer, { CommerceLayerStatic } from '../lib/cjs' import { inspect } from 'util' import getToken from './token' @@ -6,7 +6,11 @@ const ENV = 'topfarmacia' ;(async () => { - const auth = await getToken('integration') + const auth = await getToken('integration', ENV).catch(err => { + console.log(`${err.message}\n`) + process.exit() + }) + const accessToken = auth ? auth.accessToken : '' const organization = process.env.CL_SDK_ORGANIZATION || 'sdk-test-org' @@ -16,13 +20,18 @@ const ENV = 'topfarmacia' }) try { + + const order = await cl.orders.retrieve('nlKhmzozJO') + console.log(order) - const orders = await cl.orders.list({ pageSize: 1 }) - console.log(orders) } catch (error: any) { - console.log(inspect(error, false, null, true)) - console.log(error.message) + console.log('\n\n --xx ERROR xx--\n') + if (CommerceLayerStatic.isApiError(error)) console.log(error.errors) + else { + console.log(inspect(error, false, null, true)) + console.log(error.message) + } } })() diff --git a/test/token.ts b/test/token.ts index 5c80a949..4878c49f 100644 --- a/test/token.ts +++ b/test/token.ts @@ -35,11 +35,12 @@ export type AccessToken = { // const endpoint = `https://${organization.toLowerCase()}.${domain ? domain : 'commercelayer.io'}` -export default async (type: TokenType): Promise => { +export default async (type: TokenType, env?: string): Promise => { - const env = process.env.CL_SDK_ENVIRONMENT || undefined - - if (env) dotenv.config({ path: `env/.env.${env}` }) + if (env) { + const cfg = dotenv.config({ path: `./test/env/.env.${env}`, override: true }) + if (cfg.error) throw cfg.error + } const organization = process.env.CL_SDK_ORGANIZATION || '' const domain = process.env.CL_SDK_DOMAIN