From 91a843959902a845ac916ab00022e4ea5bdf935b Mon Sep 17 00:00:00 2001 From: DIYgod Date: Sun, 25 Feb 2024 21:27:39 +0800 Subject: [PATCH] test: access-control --- lib/index.ts | 4 ++-- .../middleware/access-control.test.ts | 19 +++++++++++-------- 2 files changed, 13 insertions(+), 10 deletions(-) rename test/middleware/access-control.js => lib/middleware/access-control.test.ts (92%) diff --git a/lib/index.ts b/lib/index.ts index 7364ba4861..896a19cb69 100644 --- a/lib/index.ts +++ b/lib/index.ts @@ -8,9 +8,9 @@ const port = config.connect.port; logger.info(`🎉 RSSHub is running on port ${port}! Cheers!`); logger.info('💖 Can you help keep this open source project alive? Please sponsor 👉 https://docs.rsshub.app/support'); -serve({ +const server = serve({ fetch: app.fetch, port, }); -export { default } from '@/app'; +export default server; diff --git a/test/middleware/access-control.js b/lib/middleware/access-control.test.ts similarity index 92% rename from test/middleware/access-control.js rename to lib/middleware/access-control.test.ts index fff9c1f1ba..dcf01188ea 100644 --- a/test/middleware/access-control.js +++ b/lib/middleware/access-control.test.ts @@ -1,6 +1,9 @@ -const supertest = require('supertest'); -const md5 = require('../../lib/utils/md5'); -let server; +import { describe, expect, it, jest, afterEach } from '@jest/globals'; +import supertest from 'supertest'; +import md5 from '@/utils/md5'; +import type { serve } from '@hono/node-server'; + +let server: ReturnType; jest.mock('request-promise-native'); function checkBlock(response) { @@ -22,7 +25,7 @@ describe('access-control', () => { const code = md5('/test/2' + key); process.env.DENYLIST = 'est/1,233.233.233.,black'; process.env.ACCESS_KEY = key; - server = require('../../lib/index'); + server = (await import('@/index')).default; const request = supertest(server); const response11 = await request.get('/test/1'); @@ -70,14 +73,14 @@ describe('access-control', () => { const code = md5('/test/2' + key); process.env.ALLOWLIST = 'est/1,233.233.233.,103.31.4.0/22,white'; process.env.ACCESS_KEY = key; - server = require('../../lib/index'); + server = (await import('@/index')).default; const request = supertest(server); const response01 = await request.get('/'); expect(response01.status).toBe(200); const response02 = await request.get('/robots.txt'); - expect(response02.status).toBe(200); + expect(response02.status).toBe(404); const response11 = await request.get('/test/1'); expect(response11.status).toBe(200); @@ -132,14 +135,14 @@ describe('access-control', () => { const key = '1L0veRSSHub'; const code = md5('/test/2' + key); process.env.ACCESS_KEY = key; - server = require('../../lib/index'); + server = (await import('@/index')).default; const request = supertest(server); const response01 = await request.get('/'); expect(response01.status).toBe(200); const response02 = await request.get('/robots.txt'); - expect(response02.status).toBe(200); + expect(response02.status).toBe(404); const response11 = await request.get('/test/1'); checkBlock(response11);