diff --git a/lib/modules/datasource/maven/s3.spec.ts b/lib/modules/datasource/maven/s3.spec.ts index da1426f56af3310e12b8edf35aaa30569253e50d..b8d5d91c9ed57f2925b93f5a650851ddef7da917 100644 --- a/lib/modules/datasource/maven/s3.spec.ts +++ b/lib/modules/datasource/maven/s3.spec.ts @@ -8,7 +8,7 @@ import { mockClient } from 'aws-sdk-client-mock'; import { DateTime } from 'luxon'; import { ReleaseResult, getPkgReleases } from '..'; import { Fixtures } from '../../../../test/fixtures'; -import { logger } from '../../../../test/util'; +import { logger } from '../../../logger'; import * as hostRules from '../../../util/host-rules'; import { id as versioning } from '../../versioning/maven'; import { MavenDatasource } from '.'; @@ -113,7 +113,7 @@ describe('modules/datasource/maven/s3', () => { const res = await get('org.example:package', baseUrlS3); expect(res).toBeNull(); - expect(logger.logger.debug).toHaveBeenCalledWith( + expect(logger.debug).toHaveBeenCalledWith( { failedUrl: 's3://repobucket/org/example/package/maven-metadata.xml', }, @@ -132,7 +132,7 @@ describe('modules/datasource/maven/s3', () => { const res = await get('org.example:package', baseUrlS3); expect(res).toBeNull(); - expect(logger.logger.debug).toHaveBeenCalledWith( + expect(logger.debug).toHaveBeenCalledWith( { failedUrl: 's3://repobucket/org/example/package/maven-metadata.xml', }, @@ -151,7 +151,7 @@ describe('modules/datasource/maven/s3', () => { const res = await get('org.example:package', baseUrlS3); expect(res).toBeNull(); - expect(logger.logger.trace).toHaveBeenCalledWith( + expect(logger.trace).toHaveBeenCalledWith( { failedUrl: 's3://repobucket/org/example/package/maven-metadata.xml', }, @@ -170,7 +170,7 @@ describe('modules/datasource/maven/s3', () => { const res = await get('org.example:package', baseUrlS3); expect(res).toBeNull(); - expect(logger.logger.trace).toHaveBeenCalledWith( + expect(logger.trace).toHaveBeenCalledWith( { failedUrl: 's3://repobucket/org/example/package/maven-metadata.xml', }, @@ -189,7 +189,7 @@ describe('modules/datasource/maven/s3', () => { const res = await get('org.example:package', baseUrlS3); expect(res).toBeNull(); - expect(logger.logger.debug).toHaveBeenCalledWith( + expect(logger.debug).toHaveBeenCalledWith( { failedUrl: 's3://repobucket/org/example/package/maven-metadata.xml', message: 'Unknown error', @@ -197,6 +197,19 @@ describe('modules/datasource/maven/s3', () => { 'Unknown S3 download error' ); }); + + it('returns null for unexpected response type', async () => { + s3mock + .on(GetObjectCommand, { + Bucket: 'repobucket', + Key: 'org/example/package/maven-metadata.xml', + }) + .resolvesOnce({}); + expect(await get('org.example:package', baseUrlS3)).toBeNull(); + expect(logger.debug).toHaveBeenCalledWith( + "Expecting Readable response type got 'undefined' type instead" + ); + }); }); }); }); diff --git a/lib/modules/datasource/maven/util.ts b/lib/modules/datasource/maven/util.ts index 27cedda4b67e585d582308020f30199551267460..efd92438862ed0aceaec9b13aa5fe679b04a5bfd 100644 --- a/lib/modules/datasource/maven/util.ts +++ b/lib/modules/datasource/maven/util.ts @@ -1,4 +1,3 @@ -import { Blob } from 'buffer'; import { Readable } from 'stream'; import { DateTime } from 'luxon'; import { XmlDocument } from 'xmldoc'; @@ -114,15 +113,12 @@ export async function downloadS3Protocol(pkgUrl: URL): Promise<string | null> { return null; } const { Body: res } = await getS3Client().getObject(s3Url); - - // istanbul ignore if - if (res instanceof Blob) { - return res.toString(); - } - if (res instanceof Readable) { return streamToString(res); } + logger.debug( + `Expecting Readable response type got '${typeof res}' type instead` + ); } catch (err) { const failedUrl = pkgUrl.toString(); if (err.name === 'CredentialsProviderError') {