From 460759787d360e5b61548ffcdbfc2dad6d6ce5ea Mon Sep 17 00:00:00 2001 From: Sven Sauleau Date: Mon, 6 Feb 2023 11:47:22 +0000 Subject: [PATCH] fix tests --- backend/src/activitypub/activities/handle.ts | 6 ++++++ backend/test/activitypub/handle.spec.ts | 4 ++-- backend/test/utils.spec.ts | 4 +--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/backend/src/activitypub/activities/handle.ts b/backend/src/activitypub/activities/handle.ts index 72a8f74..5fb2ae3 100644 --- a/backend/src/activitypub/activities/handle.ts +++ b/backend/src/activitypub/activities/handle.ts @@ -187,6 +187,12 @@ export async function handle( await addObjectInOutbox(db, fromActor, obj, activity.published, target) for (let i = 0, len = recipients.length; i < len; i++) { + const url = new URL(recipients[i]) + if (url.hostname !== domain) { + console.warn('recipients is not for this instance') + continue + } + const handle = parseHandle(extractID(domain, recipients[i])) if (handle.domain !== null && handle.domain !== domain) { console.warn('activity not for current instance') diff --git a/backend/test/activitypub/handle.spec.ts b/backend/test/activitypub/handle.spec.ts index 8ffa395..55288a3 100644 --- a/backend/test/activitypub/handle.spec.ts +++ b/backend/test/activitypub/handle.spec.ts @@ -352,7 +352,7 @@ describe('ActivityPub', () => { const activity = { type: 'Create', actor: actor.id.toString(), - to: ['some actor'], + to: ['https://example.com/some-actor'], cc: [], object: { id: 'https://example.com/note1', @@ -363,7 +363,7 @@ describe('ActivityPub', () => { await activityHandler.handle(domain, activity, db, userKEK, adminEmail, vapidKeys) const row = await db.prepare('SELECT * FROM outbox_objects').first<{ target: string }>() - assert.equal(row.target, 'some actor') + assert.equal(row.target, 'https://example.com/some-actor') }) test('Object props get sanitized', async () => { diff --git a/backend/test/utils.spec.ts b/backend/test/utils.spec.ts index 414e86c..3f1b6bb 100644 --- a/backend/test/utils.spec.ts +++ b/backend/test/utils.spec.ts @@ -40,9 +40,7 @@ describe('utils', () => { test('handle parsing', async () => { let res - res = parseHandle('') - assert.equal(res.localPart, '') - assert.equal(res.domain, null) + assert.throws(() => parseHandle(''), { message: /invalid handle/ }) res = parseHandle('@a') assert.equal(res.localPart, 'a')