temporarily fix the tests
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
This commit is contained in:
@@ -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
|
||||
|
||||
+13
-17
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user