From d558fe2b1791bcc0844fa099bf4dbe50e9642f66 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Wed, 17 Jan 2024 19:03:32 +0800 Subject: [PATCH] fix tests --- packages/api/src/jobs/rss/refreshAllFeeds.ts | 7 +++---- packages/api/src/redis_data_source.ts | 2 +- packages/api/src/routers/svc/rss_feed.ts | 14 ++------------ packages/api/test/global-teardown.ts | 7 +++++-- packages/api/test/routers/rss_feed.test.ts | 10 +++++----- 5 files changed, 16 insertions(+), 24 deletions(-) diff --git a/packages/api/src/jobs/rss/refreshAllFeeds.ts b/packages/api/src/jobs/rss/refreshAllFeeds.ts index 3f203996b..264b2db5a 100644 --- a/packages/api/src/jobs/rss/refreshAllFeeds.ts +++ b/packages/api/src/jobs/rss/refreshAllFeeds.ts @@ -1,10 +1,9 @@ -import Redis from 'ioredis' -import { DataSource } from 'typeorm' -import { stringToHash } from '../../utils/helpers' -import { RssSubscriptionGroup } from '../../utils/createTask' import { Job, Queue } from 'bullmq' +import { DataSource } from 'typeorm' import { QUEUE_NAME } from '../../queue-processor' import { redisDataSource } from '../../redis_data_source' +import { RssSubscriptionGroup } from '../../utils/createTask' +import { stringToHash } from '../../utils/helpers' export const refreshAllFeeds = async (db: DataSource): Promise => { const subscriptionGroups = (await db.createEntityManager().query( diff --git a/packages/api/src/redis_data_source.ts b/packages/api/src/redis_data_source.ts index 977a4bc1a..82cae0402 100644 --- a/packages/api/src/redis_data_source.ts +++ b/packages/api/src/redis_data_source.ts @@ -36,7 +36,7 @@ export class RedisDataSource { async shutdown(): Promise { this.isInitialized = false try { - // We only call quit on one redis connection as it tears all of them down + await this.redisClient?.quit() await this.workerRedisClient?.quit() } catch (err) { console.error('error while shutting down redis') diff --git a/packages/api/src/routers/svc/rss_feed.ts b/packages/api/src/routers/svc/rss_feed.ts index 14052697e..7b2ef2ccb 100644 --- a/packages/api/src/routers/svc/rss_feed.ts +++ b/packages/api/src/routers/svc/rss_feed.ts @@ -1,19 +1,9 @@ /* eslint-disable @typescript-eslint/no-misused-promises */ import express from 'express' -import { - DEFAULT_SUBSCRIPTION_FOLDER, - Subscription, -} from '../../entity/subscription' -import { SubscriptionStatus, SubscriptionType } from '../../generated/graphql' -import { readPushSubscription } from '../../pubsub' -import { getRepository } from '../../repository' -import { - enqueueRssFeedFetch, - RssSubscriptionGroup, -} from '../../utils/createTask' -import { logger } from '../../utils/logger' import { queueRSSRefreshAllFeedsJob } from '../../jobs/rss/refreshAllFeeds' +import { readPushSubscription } from '../../pubsub' import { redisDataSource } from '../../redis_data_source' +import { logger } from '../../utils/logger' export function rssFeedRouter() { const router = express.Router() diff --git a/packages/api/test/global-teardown.ts b/packages/api/test/global-teardown.ts index 552d359d0..d76129414 100644 --- a/packages/api/test/global-teardown.ts +++ b/packages/api/test/global-teardown.ts @@ -1,4 +1,5 @@ import { appDataSource } from '../src/data_source' +import { env } from '../src/env' import { redisDataSource } from '../src/redis_data_source' import { stopApolloServer } from './util' @@ -9,6 +10,8 @@ export const mochaGlobalTeardown = async () => { await appDataSource.destroy() console.log('db connection closed') - await redisDataSource.shutdown() - console.log('redis connection closed') + if (env.redis.url) { + await redisDataSource.shutdown() + console.log('redis connection closed') + } } diff --git a/packages/api/test/routers/rss_feed.test.ts b/packages/api/test/routers/rss_feed.test.ts index a8e35a345..c92bbc9f3 100644 --- a/packages/api/test/routers/rss_feed.test.ts +++ b/packages/api/test/routers/rss_feed.test.ts @@ -4,9 +4,9 @@ import sinon from 'sinon' import sinonChai from 'sinon-chai' import { User } from '../../src/entity/user' import { SubscriptionType } from '../../src/generated/graphql' +import * as refreshAllFeeds from '../../src/jobs/rss/refreshAllFeeds' import { createRssSubscriptions } from '../../src/services/subscriptions' import { deleteUser } from '../../src/services/user' -import * as createTask from '../../src/utils/createTask' import { createTestUser } from '../db' import { request } from '../util' @@ -80,11 +80,11 @@ describe('Rss feeds Router', () => { }, } - // fake enqueueRssFeedFetch function + // fake queueRSSRefreshAllFeedsJob function const fake = sinon.replace( - createTask, - 'enqueueRssFeedFetch', - sinon.fake.resolves('task name') + refreshAllFeeds, + 'queueRSSRefreshAllFeedsJob', + sinon.fake() ) const res = await request