diff --git a/tests/src/client/main.ts b/tests/src/client/main.ts index 1906d420ac3..0d4476ffa39 100644 --- a/tests/src/client/main.ts +++ b/tests/src/client/main.ts @@ -1,9 +1,19 @@ -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)) { + // 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; + } + // 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..9a5fd15ecd9 100644 --- a/tests/src/methods/requests/main.ts +++ b/tests/src/methods/requests/main.ts @@ -1,9 +1,19 @@ -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)) { + // 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; + } + // 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..84ea587de0e 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')).toBe(true); + }); + + it('returns `false` if the language is not present in the config', () => { + expect(checkIfLanguageExists('algo')).toBe(false); + }); + }); }); diff --git a/tests/src/utils.ts b/tests/src/utils.ts index 17d74dacf35..761bef3f6ad 100644 --- a/tests/src/utils.ts +++ b/tests/src/utils.ts @@ -76,6 +76,10 @@ export function removeObjectName(obj: any): any { return obj; } +export function checkIfLanguageExists(language: string): boolean { + return Boolean(ctsConfig[language]); +} + export function removeEnumType(obj: any): any { if (typeof obj === 'object') { if (Array.isArray(obj)) {