temporarily fix the tests

Signed-off-by: Fredrik Adelöw <freben@gmail.com>
This commit is contained in:
Fredrik Adelöw
2024-05-23 21:23:48 +02:00
parent b2ee7f3a65
commit cd1e5bf33d
3 changed files with 22 additions and 26 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ files before generating a documentation site.
Since, the requirement for reading files is so essential for Backstage plugins,
the
[`coreServices.urlReader`](../reference/backend-plugin-api.coreservices.urlreader/)
[`coreServices.urlReader`](../reference/backend-plugin-api.coreservices.urlreader.md)
package provides a dedicated API for reading from such URL based remote
locations like GitHub, GitLab, Bitbucket, Google Cloud Storage, etc. This is
commonly referred to as "URL Reader". It takes care of making authenticated
@@ -14,31 +14,27 @@
* limitations under the License.
*/
import * as GoogleCloud from '@google-cloud/storage';
import { ConfigReader } from '@backstage/config';
import { JsonObject } from '@backstage/types';
import { DefaultReadTreeResponseFactory } from './tree';
import { GoogleGcsUrlReader } from './GoogleGcsUrlReader';
import { UrlReaderPredicateTuple } from './types';
import packageinfo from '@backstage/backend-defaults/package.json';
import packageinfo from '../../../../package.json';
import { mockServices } from '@backstage/backend-test-utils';
const bucketGetFilesMock = jest.fn();
jest.mock('@google-cloud/storage', () => {
class Bucket {
getFiles(query: any) {
return bucketGetFilesMock(query);
}
class Bucket {
getFiles(query: any) {
return bucketGetFilesMock(query);
}
class Storage {
bucket() {
return new Bucket();
}
}
class Storage {
bucket() {
return new Bucket();
}
return {
__esModule: true,
Storage,
};
});
}
jest.spyOn(GoogleCloud, 'Storage').mockReturnValue(new Storage() as any);
describe('GcsUrlReader', () => {
const createReader = (config: JsonObject): UrlReaderPredicateTuple[] => {
@@ -80,7 +76,7 @@ describe('GcsUrlReader', () => {
});
it('check if userAgent has been called with this key value', async () => {
const getStorage: any = {
userAgent: `backstage/backend-defaults.GoogleGcsUrlReader/${packageinfo.version}`,
userAgent: `backstage/backend-common.GoogleGcsUrlReader/${packageinfo.version}`,
};
jest.mock('@google-cloud/storage', () => {
return {
@@ -89,7 +85,7 @@ describe('GcsUrlReader', () => {
});
const getUserAgent = getStorage.userAgent.toString();
expect(getUserAgent).toBe(
`backstage/backend-defaults.GoogleGcsUrlReader/${packageinfo.version}`,
`backstage/backend-common.GoogleGcsUrlReader/${packageinfo.version}`,
);
});
@@ -14,6 +14,7 @@
* limitations under the License.
*/
import * as GoogleCloud from '@google-cloud/storage';
import {
UrlReaderService,
UrlReaderReadTreeResponse,
@@ -21,7 +22,6 @@ import {
UrlReaderReadUrlResponse,
UrlReaderSearchResponse,
} from '@backstage/backend-plugin-api';
import { Storage } from '@google-cloud/storage';
import { ReaderFactory } from './types';
import getRawBody from 'raw-body';
import {
@@ -30,7 +30,7 @@ import {
} from '@backstage/integration';
import { Readable } from 'stream';
import { ReadUrlResponseFactory } from './ReadUrlResponseFactory';
import packageinfo from '@backstage/backend-defaults/package.json';
import packageinfo from '../../../../package.json';
const GOOGLE_GCS_HOST = 'storage.cloud.google.com';
@@ -64,21 +64,21 @@ export class GoogleGcsUrlReader implements UrlReaderService {
const gcsConfig = readGoogleGcsIntegrationConfig(
config.getConfig('integrations.googleGcs'),
);
let storage: Storage;
let storage: GoogleCloud.Storage;
if (!gcsConfig.clientEmail || !gcsConfig.privateKey) {
logger.info(
'googleGcs credentials not found in config. Using default credentials provider.',
);
storage = new Storage({
userAgent: `backstage/backend-defaults.GoogleGcsUrlReader/${packageinfo.version}`,
storage = new GoogleCloud.Storage({
userAgent: `backstage/backend-common.GoogleGcsUrlReader/${packageinfo.version}`,
});
} else {
storage = new Storage({
storage = new GoogleCloud.Storage({
credentials: {
client_email: gcsConfig.clientEmail || undefined,
private_key: gcsConfig.privateKey || undefined,
},
userAgent: `backstage/backend-defaults.GoogleGcsUrlReader/${packageinfo.version}`,
userAgent: `backstage/backend-common.GoogleGcsUrlReader/${packageinfo.version}`,
});
}
const reader = new GoogleGcsUrlReader(gcsConfig, storage);
@@ -88,7 +88,7 @@ export class GoogleGcsUrlReader implements UrlReaderService {
constructor(
private readonly integration: GoogleGcsIntegrationConfig,
private readonly storage: Storage,
private readonly storage: GoogleCloud.Storage,
) {}
private readStreamFromUrl(url: string): Readable {