aboutsummaryrefslogtreecommitdiff
path: root/vnext/server/middleware/webfinger.spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'vnext/server/middleware/webfinger.spec.js')
-rw-r--r--vnext/server/middleware/webfinger.spec.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/vnext/server/middleware/webfinger.spec.js b/vnext/server/middleware/webfinger.spec.js
new file mode 100644
index 00000000..d1b198e6
--- /dev/null
+++ b/vnext/server/middleware/webfinger.spec.js
@@ -0,0 +1,28 @@
+import request from 'supertest'
+
+import { app } from '../app'
+
+describe('WebFinger middleware', () => {
+ it('Existing user response should have a subject and links', async () => {
+ const resource = 'acct:ugnich@example.lan'
+ const response = await request(app)
+ .get(`/.well-known/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://example.lan/u/ugnich')
+ })
+ it('Unknown user should return 404', async () => {
+ const resource = 'acct:durov@example.lan'
+ const response = await request(app)
+ .get(`/.well-known/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(`/.well-known/webfinger?resource=${resource}`)
+ expect(response.status).toStrictEqual(400)
+ })
+})
+