From 5a5d4064cc930d518c1029c45562e8ceca0e9f5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Vannicatte?= Date: Thu, 3 Feb 2022 15:21:00 +0100 Subject: [PATCH 1/3] fix(cts): skip generating unknown language --- tests/src/client/main.ts | 7 ++++++- tests/src/methods/requests/main.ts | 7 ++++++- tests/src/utils.test.ts | 11 +++++++++++ tests/src/utils.ts | 16 ++++++++++++++++ 4 files changed, 39 insertions(+), 2 deletions(-) diff --git a/tests/src/client/main.ts b/tests/src/client/main.ts index 1906d420ac3..d9a729a84f7 100644 --- a/tests/src/client/main.ts +++ b/tests/src/client/main.ts @@ -1,9 +1,14 @@ -import { parseCLI } from '../utils'; +import { parseCLI, checkIfLanguageExists } from '../utils'; import { generateTests } from './generate'; async function main(): Promise { const { lang, client } = parseCLI(process.argv, 'generate:client'); + + if (checkIfLanguageExists(lang, client) === false) { + return; + } + // eslint-disable-next-line no-console console.log(`Generating CTS > generate:client for ${lang}-${client}`); diff --git a/tests/src/methods/requests/main.ts b/tests/src/methods/requests/main.ts index bf3c9c1b20d..22126557301 100644 --- a/tests/src/methods/requests/main.ts +++ b/tests/src/methods/requests/main.ts @@ -1,9 +1,14 @@ -import { parseCLI } from '../../utils'; +import { parseCLI, checkIfLanguageExists } from '../../utils'; import { generateTests } from './generate'; async function main(): Promise { const { lang, client } = parseCLI(process.argv, 'generate:methods:requests'); + + if (checkIfLanguageExists(lang, client) === false) { + return; + } + // eslint-disable-next-line no-console console.log( `Generating CTS > generate:methods:requests for ${lang}-${client}` diff --git a/tests/src/utils.test.ts b/tests/src/utils.test.ts index 4f3ab3e85f1..b2845adc9cd 100644 --- a/tests/src/utils.test.ts +++ b/tests/src/utils.test.ts @@ -1,5 +1,6 @@ import { capitalize, + checkIfLanguageExists, createClientName, removeEnumType, removeObjectName, @@ -103,4 +104,14 @@ describe('utils', () => { }); }); }); + + describe('checkIfLanguageExists', () => { + it('returns `true` if the language is present in the config', () => { + expect(checkIfLanguageExists('javascript', 'search')).toBe(true); + }); + + it('returns `false` if the language is not present in the config', () => { + expect(checkIfLanguageExists('algo', 'lia')).toBe(false); + }); + }); }); diff --git a/tests/src/utils.ts b/tests/src/utils.ts index 17d74dacf35..f7c079e010e 100644 --- a/tests/src/utils.ts +++ b/tests/src/utils.ts @@ -76,6 +76,22 @@ export function removeObjectName(obj: any): any { return obj; } +export function checkIfLanguageExists( + language: string, + client: string +): boolean { + if (!ctsConfig[language]) { + // eslint-disable-next-line no-console + console.log( + `Skipping CTS generation > generate:methods:requests for ${language}-${client}: No config found` + ); + + return false; + } + + return true; +} + export function removeEnumType(obj: any): any { if (typeof obj === 'object') { if (Array.isArray(obj)) { From b00aae8ffb4005fb2e07b24d84809ca5b40217e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Vannicatte?= Date: Thu, 3 Feb 2022 15:24:16 +0100 Subject: [PATCH 2/3] better error message --- tests/src/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/src/utils.ts b/tests/src/utils.ts index f7c079e010e..10e4180508a 100644 --- a/tests/src/utils.ts +++ b/tests/src/utils.ts @@ -83,7 +83,7 @@ export function checkIfLanguageExists( if (!ctsConfig[language]) { // eslint-disable-next-line no-console console.log( - `Skipping CTS generation > generate:methods:requests for ${language}-${client}: No config found` + `Skipping CTS generation for ${language}-${client}: Language not present in the config.json file` ); return false; From 4e62db4036a83fca05f90e697ef681dd3d3afde2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Vannicatte?= Date: Thu, 3 Feb 2022 15:28:15 +0100 Subject: [PATCH 3/3] apply changes from suggestion --- tests/src/client/main.ts | 7 ++++++- tests/src/methods/requests/main.ts | 7 ++++++- tests/src/utils.test.ts | 4 ++-- tests/src/utils.ts | 16 ++-------------- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/tests/src/client/main.ts b/tests/src/client/main.ts index d9a729a84f7..0d4476ffa39 100644 --- a/tests/src/client/main.ts +++ b/tests/src/client/main.ts @@ -5,7 +5,12 @@ import { generateTests } from './generate'; async function main(): Promise { const { lang, client } = parseCLI(process.argv, 'generate:client'); - if (checkIfLanguageExists(lang, client) === false) { + if (!checkIfLanguageExists(lang)) { + // eslint-disable-next-line no-console + console.log( + `Skipping CTS generation > generate:client for ${lang}-${client}: Language not present in the config.json file` + ); + return; } diff --git a/tests/src/methods/requests/main.ts b/tests/src/methods/requests/main.ts index 22126557301..9a5fd15ecd9 100644 --- a/tests/src/methods/requests/main.ts +++ b/tests/src/methods/requests/main.ts @@ -5,7 +5,12 @@ import { generateTests } from './generate'; async function main(): Promise { const { lang, client } = parseCLI(process.argv, 'generate:methods:requests'); - if (checkIfLanguageExists(lang, client) === false) { + if (!checkIfLanguageExists(lang)) { + // eslint-disable-next-line no-console + console.log( + `Skipping CTS generation > generate:methods:requests for ${lang}-${client}: Language not present in the config.json file` + ); + return; } diff --git a/tests/src/utils.test.ts b/tests/src/utils.test.ts index b2845adc9cd..84ea587de0e 100644 --- a/tests/src/utils.test.ts +++ b/tests/src/utils.test.ts @@ -107,11 +107,11 @@ describe('utils', () => { describe('checkIfLanguageExists', () => { it('returns `true` if the language is present in the config', () => { - expect(checkIfLanguageExists('javascript', 'search')).toBe(true); + expect(checkIfLanguageExists('javascript')).toBe(true); }); it('returns `false` if the language is not present in the config', () => { - expect(checkIfLanguageExists('algo', 'lia')).toBe(false); + expect(checkIfLanguageExists('algo')).toBe(false); }); }); }); diff --git a/tests/src/utils.ts b/tests/src/utils.ts index 10e4180508a..761bef3f6ad 100644 --- a/tests/src/utils.ts +++ b/tests/src/utils.ts @@ -76,20 +76,8 @@ export function removeObjectName(obj: any): any { return obj; } -export function checkIfLanguageExists( - language: string, - client: string -): boolean { - if (!ctsConfig[language]) { - // eslint-disable-next-line no-console - console.log( - `Skipping CTS generation for ${language}-${client}: Language not present in the config.json file` - ); - - return false; - } - - return true; +export function checkIfLanguageExists(language: string): boolean { + return Boolean(ctsConfig[language]); } export function removeEnumType(obj: any): any {