From c6acc5c09ee87d4a4e850733c096d2673b78e1f2 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Mon, 21 Oct 2024 06:54:19 +0300 Subject: vnext: WebFinger tests --- vnext/server/middleware/webfinger.spec.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 vnext/server/middleware/webfinger.spec.js (limited to 'vnext/server/middleware/webfinger.spec.js') diff --git a/vnext/server/middleware/webfinger.spec.js b/vnext/server/middleware/webfinger.spec.js new file mode 100644 index 00000000..fde2e428 --- /dev/null +++ b/vnext/server/middleware/webfinger.spec.js @@ -0,0 +1,31 @@ +import request from 'supertest' +import express from 'express' +import { webfinger } from './webfinger' + +const app = express() +app.get('/webfinger', webfinger) + +describe('WebFinger middleware', () => { + it('Existing user response should have a subject and links', async () => { + const resource = 'acct:ugnich@juick.com' + const response = await request(app) + .get(`/webfinger?resource=${resource}`) + expect(response.status).toStrictEqual(200) + expect(response.body.subject).toStrictEqual(resource) + expect(response.body.links.length).toStrictEqual(1) + expect(response.body.links[0].href).toStrictEqual('https://juick.com/u/ugnich') + }) + it('Unknown user should return 404', async () => { + const resource = 'acct:durov@juick.com' + const response = await request(app) + .get(`/webfinger?resource=${resource}`) + expect(response.status).toStrictEqual(404) + }) + it('Invalid input should return 400', async () => { + const resource = ';DROP TABLE users' + const response = await request(app) + .get(`/webfinger?resource=${resource}`) + expect(response.status).toStrictEqual(400) + }) +}) + -- cgit v1.2.3