diff --git a/plugins/catalog-backend/src/ingestion/processors/AzureApiReaderProcessor.test.ts b/plugins/catalog-backend/src/ingestion/processors/AzureApiReaderProcessor.test.ts index 182343133e..62259f87a2 100644 --- a/plugins/catalog-backend/src/ingestion/processors/AzureApiReaderProcessor.test.ts +++ b/plugins/catalog-backend/src/ingestion/processors/AzureApiReaderProcessor.test.ts @@ -89,6 +89,8 @@ describe('AzureApiReaderProcessor', () => { expect: { headers: {}, }, + err: + "Invalid type in config for key 'catalog.processors.azureApi.privateToken' in '', got empty-string, wanted string", }, { token: undefined, @@ -99,8 +101,14 @@ describe('AzureApiReaderProcessor', () => { ]; for (const test of tests) { - const processor = new AzureApiReaderProcessor(createConfig(test.token)); - expect(processor.getRequestOptions()).toEqual(test.expect); + if (test.err) { + expect( + () => new AzureApiReaderProcessor(createConfig(test.token)), + ).toThrowError(test.err); + } else { + const processor = new AzureApiReaderProcessor(createConfig(test.token)); + expect(processor.getRequestOptions()).toEqual(test.expect); + } } }); }); diff --git a/plugins/catalog-backend/src/ingestion/processors/AzureApiReaderProcessor.ts b/plugins/catalog-backend/src/ingestion/processors/AzureApiReaderProcessor.ts index 02b0981a27..7033521da6 100644 --- a/plugins/catalog-backend/src/ingestion/processors/AzureApiReaderProcessor.ts +++ b/plugins/catalog-backend/src/ingestion/processors/AzureApiReaderProcessor.ts @@ -25,9 +25,8 @@ export class AzureApiReaderProcessor implements LocationProcessor { constructor(config: Config) { this.privateToken = - (config.getOptional( - 'catalog.processors.azureApi.privateToken', - ) as string) ?? ''; + config.getOptionalString('catalog.processors.azureApi.privateToken') ?? + ''; } getRequestOptions(): RequestInit { diff --git a/plugins/catalog-backend/src/ingestion/processors/BitbucketApiReaderProcessor.test.ts b/plugins/catalog-backend/src/ingestion/processors/BitbucketApiReaderProcessor.test.ts index 7d2a2c57de..953f0703be 100644 --- a/plugins/catalog-backend/src/ingestion/processors/BitbucketApiReaderProcessor.test.ts +++ b/plugins/catalog-backend/src/ingestion/processors/BitbucketApiReaderProcessor.test.ts @@ -89,6 +89,8 @@ describe('BitbucketApiReaderProcessor', () => { expect: { headers: {}, }, + err: + "Invalid type in config for key 'catalog.processors.bitbucketApi.username' in '', got empty-string, wanted string", }, { username: 'only-user-provided', @@ -96,6 +98,8 @@ describe('BitbucketApiReaderProcessor', () => { expect: { headers: {}, }, + err: + "Invalid type in config for key 'catalog.processors.bitbucketApi.appPassword' in '', got empty-string, wanted string", }, { username: '', @@ -103,6 +107,8 @@ describe('BitbucketApiReaderProcessor', () => { expect: { headers: {}, }, + err: + "Invalid type in config for key 'catalog.processors.bitbucketApi.username' in '', got empty-string, wanted string", }, { username: 'some-user', @@ -137,10 +143,19 @@ describe('BitbucketApiReaderProcessor', () => { ]; for (const test of tests) { - const processor = new BitbucketApiReaderProcessor( - createConfig(test.username, test.password), - ); - expect(processor.getRequestOptions()).toEqual(test.expect); + if (test.err) { + expect( + () => + new BitbucketApiReaderProcessor( + createConfig(test.username, test.password), + ), + ).toThrowError(test.err); + } else { + const processor = new BitbucketApiReaderProcessor( + createConfig(test.username, test.password), + ); + expect(processor.getRequestOptions()).toEqual(test.expect); + } } }); }); diff --git a/plugins/catalog-backend/src/ingestion/processors/BitbucketApiReaderProcessor.ts b/plugins/catalog-backend/src/ingestion/processors/BitbucketApiReaderProcessor.ts index 3e19d3cf78..97ecf0cd1f 100644 --- a/plugins/catalog-backend/src/ingestion/processors/BitbucketApiReaderProcessor.ts +++ b/plugins/catalog-backend/src/ingestion/processors/BitbucketApiReaderProcessor.ts @@ -26,13 +26,11 @@ export class BitbucketApiReaderProcessor implements LocationProcessor { constructor(config: Config) { this.username = - (config.getOptional( - 'catalog.processors.bitbucketApi.username', - ) as string) ?? ''; + config.getOptionalString('catalog.processors.bitbucketApi.username') ?? + ''; this.password = - (config.getOptional( - 'catalog.processors.bitbucketApi.appPassword', - ) as string) ?? ''; + config.getOptionalString('catalog.processors.bitbucketApi.appPassword') ?? + ''; } getRequestOptions(): RequestInit { diff --git a/plugins/catalog-backend/src/ingestion/processors/GithubApiReaderProcessor.test.ts b/plugins/catalog-backend/src/ingestion/processors/GithubApiReaderProcessor.test.ts index 31537954f5..51c3cf4cd0 100644 --- a/plugins/catalog-backend/src/ingestion/processors/GithubApiReaderProcessor.test.ts +++ b/plugins/catalog-backend/src/ingestion/processors/GithubApiReaderProcessor.test.ts @@ -95,6 +95,16 @@ describe('GithubApiReaderProcessor', () => { }, { token: '', + err: + "Invalid type in config for key 'catalog.processors.githubApi.privateToken' in '', got empty-string, wanted string", + expect: { + headers: { + Accept: 'application/vnd.github.v3.raw', + }, + }, + }, + { + token: undefined, expect: { headers: { Accept: 'application/vnd.github.v3.raw', @@ -104,8 +114,16 @@ describe('GithubApiReaderProcessor', () => { ]; for (const test of tests) { - const processor = new GithubApiReaderProcessor(createConfig(test.token)); - expect(processor.getRequestOptions()).toEqual(test.expect); + if (test.err) { + expect( + () => new GithubApiReaderProcessor(createConfig(test.token)), + ).toThrowError(test.err); + } else { + const processor = new GithubApiReaderProcessor( + createConfig(test.token), + ); + expect(processor.getRequestOptions()).toEqual(test.expect); + } } }); }); diff --git a/plugins/catalog-backend/src/ingestion/processors/GithubApiReaderProcessor.ts b/plugins/catalog-backend/src/ingestion/processors/GithubApiReaderProcessor.ts index 89e6c97ab1..f8d1d6caf8 100644 --- a/plugins/catalog-backend/src/ingestion/processors/GithubApiReaderProcessor.ts +++ b/plugins/catalog-backend/src/ingestion/processors/GithubApiReaderProcessor.ts @@ -25,9 +25,8 @@ export class GithubApiReaderProcessor implements LocationProcessor { constructor(config: Config) { this.privateToken = - (config.getOptional( - 'catalog.processors.githubApi.privateToken', - ) as string) ?? ''; + config.getOptionalString('catalog.processors.githubApi.privateToken') ?? + ''; } getRequestOptions(): RequestInit { diff --git a/plugins/catalog-backend/src/ingestion/processors/GitlabApiReaderProcessor.test.ts b/plugins/catalog-backend/src/ingestion/processors/GitlabApiReaderProcessor.test.ts index a239afee04..48ed270049 100644 --- a/plugins/catalog-backend/src/ingestion/processors/GitlabApiReaderProcessor.test.ts +++ b/plugins/catalog-backend/src/ingestion/processors/GitlabApiReaderProcessor.test.ts @@ -100,6 +100,8 @@ describe('GitlabApiReaderProcessor', () => { }, { token: '', + err: + "Invalid type in config for key 'catalog.processors.gitlabApi.privateToken' in '', got empty-string, wanted string", expect: { headers: { 'PRIVATE-TOKEN': '', @@ -117,8 +119,16 @@ describe('GitlabApiReaderProcessor', () => { ]; for (const test of tests) { - const processor = new GitlabApiReaderProcessor(createConfig(test.token)); - expect(processor.getRequestOptions()).toEqual(test.expect); + if (test.err) { + expect( + () => new GitlabApiReaderProcessor(createConfig(test.token)), + ).toThrowError(test.err); + } else { + const processor = new GitlabApiReaderProcessor( + createConfig(test.token), + ); + expect(processor.getRequestOptions()).toEqual(test.expect); + } } }); }); diff --git a/plugins/catalog-backend/src/ingestion/processors/GitlabApiReaderProcessor.ts b/plugins/catalog-backend/src/ingestion/processors/GitlabApiReaderProcessor.ts index 8915d73bb9..067edba3d9 100644 --- a/plugins/catalog-backend/src/ingestion/processors/GitlabApiReaderProcessor.ts +++ b/plugins/catalog-backend/src/ingestion/processors/GitlabApiReaderProcessor.ts @@ -25,9 +25,8 @@ export class GitlabApiReaderProcessor implements LocationProcessor { constructor(config: Config) { this.privateToken = - (config.getOptional( - 'catalog.processors.gitlabApi.privateToken', - ) as string) ?? ''; + config.getOptionalString('catalog.processors.gitlabApi.privateToken') ?? + ''; } getRequestOptions(): RequestInit {