From 76b63efdc14b60fa571a5554ef5ba533576f6506 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Thu, 2 Mar 2023 11:02:53 +0800 Subject: [PATCH] Fix tests --- packages/api/src/utils/uploads.ts | 2 +- packages/api/test/mock_storage.ts | 4 ++-- packages/api/test/routers/integrations.test.ts | 7 ++++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/api/src/utils/uploads.ts b/packages/api/src/utils/uploads.ts index 4c73c8780..5abee4dc1 100644 --- a/packages/api/src/utils/uploads.ts +++ b/packages/api/src/utils/uploads.ts @@ -9,7 +9,7 @@ import { env } from '../env' * the default app engine service account on the IAM page. We also need to * enable IAM related APIs on the project. */ -const storage = env.fileUpload?.gcsUploadSAKeyFilePath +export const storage = env.fileUpload?.gcsUploadSAKeyFilePath ? new Storage({ keyFilename: env.fileUpload.gcsUploadSAKeyFilePath }) : new Storage() const bucketName = env.fileUpload.gcsUploadBucket diff --git a/packages/api/test/mock_storage.ts b/packages/api/test/mock_storage.ts index 00415ab6b..d0dad7340 100644 --- a/packages/api/test/mock_storage.ts +++ b/packages/api/test/mock_storage.ts @@ -1,6 +1,6 @@ import { Writable } from 'stream' -class MockStorage { +export class MockStorage { buckets: { [name: string]: MockBucket } constructor() { @@ -12,7 +12,7 @@ class MockStorage { } } -export class MockBucket { +class MockBucket { name: string files: { [path: string]: MockFile } diff --git a/packages/api/test/routers/integrations.test.ts b/packages/api/test/routers/integrations.test.ts index 961aec012..847aa37aa 100644 --- a/packages/api/test/routers/integrations.test.ts +++ b/packages/api/test/routers/integrations.test.ts @@ -22,8 +22,8 @@ import { getHighlightUrl } from '../../src/services/highlights' import { deletePage } from '../../src/elastic/pages' import { READWISE_API_URL } from '../../src/services/integrations/readwise' import sinon from 'sinon' -import { Storage } from '@google-cloud/storage' -import { MockBucket } from '../mock_storage' +import { MockStorage } from '../mock_storage' +import * as uploads from '../../src/utils/uploads' describe('Integrations routers', () => { const baseUrl = '/svc/pubsub/integrations' @@ -347,7 +347,8 @@ describe('Integrations routers', () => { type: IntegrationType.Import, }) // mock cloud storage bucket - sinon.stub(Storage, 'Bucket').returns(MockBucket) + // @ts-ignore + sinon.replace(uploads, 'storage', new MockStorage('test-bucket')) // mock Pocket API nock('https://getpocket.com', { reqheaders: {