From 4f9eedbe45f5e5a47e806754c1944a872d450159 Mon Sep 17 00:00:00 2001 From: Gabriel-Ladzaretti <97394622+Gabriel-Ladzaretti@users.noreply.github.com> Date: Thu, 25 Aug 2022 11:22:44 +0300 Subject: [PATCH] fix(datasource/maven): Remove S3 Blob handling (#17401) --- lib/modules/datasource/maven/s3.spec.ts | 25 +++++++++++++++++++------ lib/modules/datasource/maven/util.ts | 10 +++------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/lib/modules/datasource/maven/s3.spec.ts b/lib/modules/datasource/maven/s3.spec.ts index da1426f56a..b8d5d91c9e 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 27cedda4b6..efd9243886 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') { -- GitLab