summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKagami Sascha Rosylight <saschanaz@outlook.com>2023-02-19 09:49:18 +0100
committerKagami Sascha Rosylight <saschanaz@outlook.com>2023-02-19 09:49:18 +0100
commit8c64f999dca32a781adfa4ddec2bf8fa63dc1abd (patch)
tree33b3fe681250a810cf4fce35c5a88b387c400159
parentMerge branch 'develop' into mkusername-empty (diff)
downloadsharkey-8c64f999dca32a781adfa4ddec2bf8fa63dc1abd.tar.gz
sharkey-8c64f999dca32a781adfa4ddec2bf8fa63dc1abd.tar.bz2
sharkey-8c64f999dca32a781adfa4ddec2bf8fa63dc1abd.zip
Add test
-rw-r--r--packages/backend/test/unit/activitypub.ts64
1 files changed, 36 insertions, 28 deletions
diff --git a/packages/backend/test/unit/activitypub.ts b/packages/backend/test/unit/activitypub.ts
index 3d0032507e..5335dff6d5 100644
--- a/packages/backend/test/unit/activitypub.ts
+++ b/packages/backend/test/unit/activitypub.ts
@@ -11,8 +11,25 @@ import { GlobalModule } from '@/GlobalModule.js';
import { CoreModule } from '@/core/CoreModule.js';
import { FederatedInstanceService } from '@/core/FederatedInstanceService.js';
import { LoggerService } from '@/core/LoggerService.js';
+import type { IActor } from '@/core/activitypub/type.js';
import { MockResolver } from '../misc/mock-resolver.js';
+const host = 'https://host1.test';
+
+function createRandomActor(): IActor & { id: string } {
+ const preferredUsername = `${rndstr('A-Z', 4)}${rndstr('a-z', 4)}`;
+ const actorId = `${host}/users/${preferredUsername.toLowerCase()}`;
+
+ return {
+ '@context': 'https://www.w3.org/ns/activitystreams',
+ id: actorId,
+ type: 'Person',
+ preferredUsername,
+ inbox: `${actorId}/inbox`,
+ outbox: `${actorId}/outbox`,
+ };
+}
+
describe('ActivityPub', () => {
let noteService: ApNoteService;
let personService: ApPersonService;
@@ -36,18 +53,7 @@ describe('ActivityPub', () => {
});
describe('Parse minimum object', () => {
- const host = 'https://host1.test';
- const preferredUsername = `${rndstr('A-Z', 4)}${rndstr('a-z', 4)}`;
- const actorId = `${host}/users/${preferredUsername.toLowerCase()}`;
-
- const actor = {
- '@context': 'https://www.w3.org/ns/activitystreams',
- id: actorId,
- type: 'Person',
- preferredUsername,
- inbox: `${actorId}/inbox`,
- outbox: `${actorId}/outbox`,
- };
+ const actor = createRandomActor();
const post = {
'@context': 'https://www.w3.org/ns/activitystreams',
@@ -80,29 +86,31 @@ describe('ActivityPub', () => {
});
});
- describe('Truncate long name', () => {
- const host = 'https://host1.test';
- const preferredUsername = `${rndstr('A-Z', 4)}${rndstr('a-z', 4)}`;
- const actorId = `${host}/users/${preferredUsername.toLowerCase()}`;
+ describe('Name field', () => {
+ test('Truncate long name', async () => {
+ const actor = {
+ ...createRandomActor(),
+ name: rndstr('0-9a-z', 129),
+ };
- const name = rndstr('0-9a-z', 129);
+ resolver._register(actor.id, actor);
- const actor = {
- '@context': 'https://www.w3.org/ns/activitystreams',
- id: actorId,
- type: 'Person',
- preferredUsername,
- name,
- inbox: `${actorId}/inbox`,
- outbox: `${actorId}/outbox`,
- };
+ const user = await personService.createPerson(actor.id, resolver);
+
+ assert.deepStrictEqual(user.name, actor.name.slice(0, 128));
+ });
+
+ test('Normalize empty name', async () => {
+ const actor = {
+ ...createRandomActor(),
+ name: '',
+ };
- test('Actor', async () => {
resolver._register(actor.id, actor);
const user = await personService.createPerson(actor.id, resolver);
- assert.deepStrictEqual(user.name, actor.name.substr(0, 128));
+ assert.strictEqual(user.name, null);
});
});
});