From 460b68c381e3963a182d964561b052bc6148695b Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Thu, 19 Oct 2023 09:53:59 -1000 Subject: [PATCH] Media upload for avatars and banners, more work, fix tests --- bun.lockb | Bin 313763 -> 462844 bytes classes/media.ts | 169 ++++++++++++++---- config/config.example.toml | 13 +- database/entities/RawActor.ts | 4 +- database/entities/User.ts | 44 ++++- package.json | 3 + .../v1/accounts/update_credentials/index.ts | 10 +- server/api/api/v1/instance/index.ts | 44 ++++- server/api/api/v1/statuses/[id]/index.ts | 10 +- server/api/api/v1/statuses/index.ts | 16 +- tests/actor.test.ts | 27 ++- tests/api.test.ts | 88 ++++----- tests/entities/Instance.test.ts | 2 + tests/entities/Media.test.ts | 39 ++-- tests/inbox.test.ts | 7 +- tests/oauth.test.ts | 15 +- utils/request.ts | 8 +- 17 files changed, 360 insertions(+), 139 deletions(-) diff --git a/bun.lockb b/bun.lockb index 1393f36ff3140afbe6d99062a3739caf3c0467e2..4174b5278586e4af3a562164497dcbcfd5162c8a 100755 GIT binary patch literal 462844 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

Kwam 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 BP1OJZ delta 73967 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 LEn~^}G5h}k)XWb} diff --git a/classes/media.ts b/classes/media.ts index 98a602e1..9eb6bfd6 100644 --- a/classes/media.ts +++ b/classes/media.ts @@ -5,7 +5,7 @@ import { S3Client, } from "@aws-sdk/client-s3"; import { ConfigType } from "@config"; - +import sharp from "sharp"; class MediaBackend { backend: string; @@ -16,26 +16,98 @@ class MediaBackend { /** * Adds media to the media backend * @param media - * @returns The hash of the file in SHA-256 (hex format) + * @returns The hash of the file in SHA-256 (hex format) with the file extension added to it */ async addMedia(media: File) { const hash = new Bun.SHA256() .update(await media.arrayBuffer()) .digest("hex"); - return hash; + return `${hash}.${media.name.split(".").pop()}`; } + + async convertMedia(media: File, config: ConfigType) { + const sharpCommand = sharp(await media.arrayBuffer()); + + // Rename ".jpg" files to ".jpeg" to avoid sharp errors + let name = media.name; + if (media.name.endsWith(".jpg")) { + name = media.name.replace(".jpg", ".jpeg"); + } + + const fileFormatToConvertTo = config.media.conversion.convert_to; + + switch (fileFormatToConvertTo) { + case "png": + return new File( + [(await sharpCommand.png().toBuffer()).buffer], + // Replace the file extension with PNG + name.replace(/\.[^/.]+$/, ".png"), + { + type: "image/png", + } + ); + case "webp": + return new File( + [(await sharpCommand.webp().toBuffer()).buffer], + // Replace the file extension with WebP + name.replace(/\.[^/.]+$/, ".webp"), + { + type: "image/webp", + } + ); + case "jpeg": + return new File( + [(await sharpCommand.jpeg().toBuffer()).buffer], + // Replace the file extension with JPEG + name.replace(/\.[^/.]+$/, ".jpeg"), + { + type: "image/jpeg", + } + ); + case "avif": + return new File( + [(await sharpCommand.avif().toBuffer()).buffer], + // Replace the file extension with AVIF + name.replace(/\.[^/.]+$/, ".avif"), + { + type: "image/avif", + } + ); + // Needs special build of libvips + case "jxl": + return new File( + [(await sharpCommand.jxl().toBuffer()).buffer], + // Replace the file extension with JXL + name.replace(/\.[^/.]+$/, ".jxl"), + { + type: "image/jxl", + } + ); + case "heif": + return new File( + [(await sharpCommand.heif().toBuffer()).buffer], + // Replace the file extension with HEIF + name.replace(/\.[^/.]+$/, ".heif"), + { + type: "image/heif", + } + ); + default: + return media; + } + } + /** * Retrieves element from media backend by hash * @param hash The hash of the element in SHA-256 hex format + * @param extension The extension of the file * @returns The file as a File object */ // eslint-disable-next-line @typescript-eslint/require-await, @typescript-eslint/no-unused-vars async getMediaByHash( // eslint-disable-next-line @typescript-eslint/no-unused-vars - hash: string, - // eslint-disable-next-line @typescript-eslint/no-unused-vars - extension: string + hash: string ): Promise { return new File([], "test"); } @@ -45,35 +117,29 @@ class MediaBackend { * S3 Backend, stores files in S3 */ export class S3Backend extends MediaBackend { - endpoint: string; - bucket: string; - region: string; - accessKey: string; - secretKey: string; - publicUrl: string; client: S3Client; + config: ConfigType; constructor(config: ConfigType) { super("s3"); - this.endpoint = config.s3.endpoint; - this.bucket = config.s3.bucket_name; - this.region = config.s3.region; - this.accessKey = config.s3.access_key; - this.secretKey = config.s3.secret_access_key; - this.publicUrl = config.s3.public_url; + this.config = config; this.client = new S3Client({ - endpoint: this.endpoint, - region: this.region || "auto", + endpoint: this.config.s3.endpoint, + region: this.config.s3.region || "auto", credentials: { - accessKeyId: this.accessKey, - secretAccessKey: this.secretKey, + accessKeyId: this.config.s3.access_key, + secretAccessKey: this.config.s3.secret_access_key, }, }); } async addMedia(media: File): Promise { + if (this.config.media.conversion.convert_images) { + media = await this.convertMedia(media, this.config); + } + const hash = await super.addMedia(media); if (!hash) { @@ -81,10 +147,7 @@ export class S3Backend extends MediaBackend { } // Check if file is already present - const existingFile = await this.getMediaByHash( - hash, - media.name.split(".").pop() || "" - ); + const existingFile = await this.getMediaByHash(hash); if (existingFile) { // File already exists, so return the hash without uploading it @@ -92,7 +155,7 @@ export class S3Backend extends MediaBackend { } const command = new PutObjectCommand({ - Bucket: this.bucket, + Bucket: this.config.s3.bucket_name, Key: hash, Body: Buffer.from(await media.arrayBuffer()), ContentType: media.type, @@ -111,12 +174,9 @@ export class S3Backend extends MediaBackend { return hash; } - async getMediaByHash( - hash: string, - extension: string - ): Promise { + async getMediaByHash(hash: string): Promise { const command = new GetObjectCommand({ - Bucket: this.bucket, + Bucket: this.config.s3.bucket_name, Key: hash, }); @@ -138,7 +198,7 @@ export class S3Backend extends MediaBackend { throw new Error("Failed to get file"); } - return new File([body], `${hash}.${extension}`, { + return new File([body], hash, { type: response.ContentType, }); } @@ -148,11 +208,19 @@ export class S3Backend extends MediaBackend { * Local backend, stores files on filesystem */ export class LocalBackend extends MediaBackend { - constructor() { + config: ConfigType; + + constructor(config: ConfigType) { super("local"); + + this.config = config; } async addMedia(media: File): Promise { + if (this.config.media.conversion.convert_images) { + media = await this.convertMedia(media, this.config); + } + const hash = await super.addMedia(media); await Bun.write(Bun.file(`${process.cwd()}/uploads/${hash}`), media); @@ -160,18 +228,41 @@ export class LocalBackend extends MediaBackend { return hash; } - async getMediaByHash( - hash: string, - extension: string - ): Promise { + async getMediaByHash(hash: string): Promise { const file = Bun.file(`${process.cwd()}/uploads/${hash}`); if (!(await file.exists())) { return null; } - return new File([await file.arrayBuffer()], `${hash}.${extension}`, { + return new File([await file.arrayBuffer()], `${hash}`, { type: file.type, }); } } + +export const uploadFile = (file: File, config: ConfigType) => { + const backend = config.media.backend; + + if (backend === "local") { + return new LocalBackend(config).addMedia(file); + } else if (backend === "s3") { + return new S3Backend(config).addMedia(file); + } +}; + +export const getFile = ( + hash: string, + extension: string, + config: ConfigType +) => { + const backend = config.media.backend; + + if (backend === "local") { + return new LocalBackend(config).getMediaByHash(hash); + } else if (backend === "s3") { + return new S3Backend(config).getMediaByHash(hash); + } + + return null; +}; diff --git a/config/config.example.toml b/config/config.example.toml index d4e4e935..081ca89f 100644 --- a/config/config.example.toml +++ b/config/config.example.toml @@ -23,14 +23,17 @@ tls = true [media] # Can be "s3" or "local", where "local" uploads the file to the local filesystem -backend = "s3" # NOT IMPLEMENTED +# If you need to change this value after setting up your instance, you must move all the files +# from one backend to the other manually +backend = "s3" # Whether to check the hash of media when uploading to avoid duplication -deduplicate_media = true # NOT IMPLEMENTED +deduplicate_media = true [media.conversion] -convert_images = false # NOT IMPLEMENTED -# Can be: "jxl", "webp", "avif", "png", "jpg", "gif" -convert_to = "webp" # NOT IMPLEMENTED +convert_images = false +# Can be: "jxl", "webp", "avif", "png", "jpg", "heif" +# JXL support will likely not work +convert_to = "webp" [s3] # Can be left blank if you don't use the S3 media backend diff --git a/database/entities/RawActor.ts b/database/entities/RawActor.ts index 2b174aad..47095d1a 100644 --- a/database/entities/RawActor.ts +++ b/database/entities/RawActor.ts @@ -120,10 +120,10 @@ export class RawActor extends BaseEntity { isLocalUser ? "" : `@${this.getInstanceDomain()}` }`, avatar: - ((icon as APImage).url as string | undefined) ?? + ((icon as APImage).url as string | undefined) || config.defaults.avatar, header: - ((image as APImage).url as string | undefined) ?? + ((image as APImage).url as string | undefined) || config.defaults.header, locked: false, created_at: new Date(published ?? 0).toISOString(), diff --git a/database/entities/User.ts b/database/entities/User.ts index dd3e2f05..97392082 100644 --- a/database/entities/User.ts +++ b/database/entities/User.ts @@ -1,4 +1,4 @@ -import { getConfig } from "@config"; +import { ConfigType, getConfig } from "@config"; import { BaseEntity, Column, @@ -14,7 +14,11 @@ import { } from "typeorm"; import { APIAccount } from "~types/entities/account"; import { RawActor } from "./RawActor"; -import { APActor, APOrderedCollectionPage } from "activitypub-types"; +import { + APActor, + APCollectionPage, + APOrderedCollectionPage, +} from "activitypub-types"; import { RawObject } from "./RawObject"; import { Token } from "./Token"; import { Status } from "./Status"; @@ -90,13 +94,13 @@ export class User extends BaseEntity { source!: APISource; /** - * The avatar for the user. + * The avatar for the user (filename, as UUID) */ @Column("varchar") avatar!: string; /** - * The header for the user. + * The header for the user (filename, as UUID) */ @Column("varchar") header!: string; @@ -156,6 +160,32 @@ export class User extends BaseEntity { @JoinTable() pinned_notes!: RawObject[]; + /** + * Get the user's avatar in raw URL format + * @param config The config to use + * @returns The raw URL for the user's avatar + */ + getAvatarUrl(config: ConfigType) { + if (config.media.backend === "local") { + return `${config.http.base_url}/media/${this.avatar}`; + } else if (config.media.backend === "s3") { + return `${config.s3.public_url}/${this.avatar}`; + } + } + + /** + * Get the user's header in raw URL format + * @param config The config to use + * @returns The raw URL for the user's header + */ + getHeaderUrl(config: ConfigType) { + if (config.media.backend === "local") { + return `${config.http.base_url}/media/${this.header}`; + } else if (config.media.backend === "s3") { + return `${config.s3.public_url}/${this.header}`; + } + } + static async getFromRequest(req: Request) { // Check auth token const token = req.headers.get("Authorization")?.split(" ")[1] || ""; @@ -196,7 +226,7 @@ export class User extends BaseEntity { while (followers.type === "OrderedCollectionPage" && followers.next) { followers = await fetch((followers.next as string).toString(), { headers: { Accept: "application/activity+json" }, - }).then(res => res.json()); + }).then(res => res.json() as APCollectionPage); followersList = { ...followersList, @@ -408,11 +438,11 @@ export class User extends BaseEntity { summary: this.note, icon: { type: "Image", - url: this.avatar, + url: this.getAvatarUrl(config), }, image: { type: "Image", - url: this.header, + url: this.getHeaderUrl(config), }, publicKey: { id: `${config.http.base_url}/users/${this.username}/actor#main-key`, diff --git a/package.json b/package.json index 8ea9c694..780c7cf9 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,9 @@ "dev": "bun run index.ts", "start": "bun run index.ts" }, + "trustedDependencies": [ + "sharp" + ], "devDependencies": { "@julr/unocss-preset-forms": "^0.0.5", "@types/jsonld": "^1.5.9", diff --git a/server/api/api/v1/accounts/update_credentials/index.ts b/server/api/api/v1/accounts/update_credentials/index.ts index 14339ab5..76fb4e90 100644 --- a/server/api/api/v1/accounts/update_credentials/index.ts +++ b/server/api/api/v1/accounts/update_credentials/index.ts @@ -5,6 +5,7 @@ import { User } from "~database/entities/User"; import { applyConfig } from "@api"; import { sanitize } from "isomorphic-dompurify"; import { sanitizeHtml } from "@sanitization"; +import { uploadFile } from "~classes/media"; export const meta = applyConfig({ allowedMethods: ["PATCH"], @@ -145,7 +146,9 @@ export default async (req: Request): Promise => { ); } - // TODO: Store the file somewhere and then change the user's actual avatar + const hash = await uploadFile(avatar, config); + + user.avatar = hash || ""; } if (header) { @@ -156,7 +159,10 @@ export default async (req: Request): Promise => { 422 ); } - // TODO: Store the file somewhere and then change the user's actual header + + const hash = await uploadFile(header, config); + + user.header = hash || ""; } if (locked) { diff --git a/server/api/api/v1/instance/index.ts b/server/api/api/v1/instance/index.ts index c981d881..a1c20de8 100644 --- a/server/api/api/v1/instance/index.ts +++ b/server/api/api/v1/instance/index.ts @@ -48,6 +48,12 @@ export default async (): Promise => { characters_reserved_per_url: 0, max_characters: config.validation.max_note_size, max_media_attachments: config.validation.max_media_attachments, + supported_mime_types: [ + "text/plain", + "text/markdown", + "text/html", + "text/x.misskeymarkdown", + ], }, }, description: "A test instance", @@ -67,7 +73,43 @@ export default async (): Promise => { urls: { streaming_api: "", }, - version: "0.0.1", + version: "4.2.0+glitch (compatible; Lysand 0.0.1)", max_toot_chars: config.validation.max_note_size, + pleroma: { + metadata: { + // account_activation_required: false, + features: [ + "pleroma_api", + "akkoma_api", + "mastodon_api", + // "mastodon_api_streaming", + // "polls", + // "v2_suggestions", + // "pleroma_explicit_addressing", + // "shareable_emoji_packs", + // "multifetch", + // "pleroma:api/v1/notifications:include_types_filter", + "quote_posting", + "editing", + // "bubble_timeline", + // "relay", + // "pleroma_emoji_reactions", + // "exposable_reactions", + // "profile_directory", + // "custom_emoji_reactions", + // "pleroma:get:main/ostatus", + ], + post_formats: [ + "text/plain", + "text/html", + "text/markdown", + "text/x.misskeymarkdown", + ], + privileged_staff: false, + }, + stats: { + mau: 2, + }, + }, }); }; diff --git a/server/api/api/v1/statuses/[id]/index.ts b/server/api/api/v1/statuses/[id]/index.ts index e70369e3..0afa139e 100644 --- a/server/api/api/v1/statuses/[id]/index.ts +++ b/server/api/api/v1/statuses/[id]/index.ts @@ -30,8 +30,6 @@ export default async ( const { user } = await User.getFromRequest(req); - // TODO: Add checks for user's permissions to view this status - let foundStatus: RawObject | null; try { foundStatus = await RawObject.findOneBy({ @@ -43,6 +41,14 @@ export default async ( if (!foundStatus) return errorResponse("Record not found", 404); + // Check if user is authorized to view this status (if it's private) + if ( + (await foundStatus.toAPI()).visibility === "private" && + (await foundStatus.toAPI()).account.id !== user?.id + ) { + return errorResponse("Record not found", 404); + } + if (req.method === "GET") { return jsonResponse(await foundStatus.toAPI()); } else if (req.method === "DELETE") { diff --git a/server/api/api/v1/statuses/index.ts b/server/api/api/v1/statuses/index.ts index ba2e7a53..68c23a3e 100644 --- a/server/api/api/v1/statuses/index.ts +++ b/server/api/api/v1/statuses/index.ts @@ -8,6 +8,7 @@ import { errorResponse, jsonResponse } from "@response"; import { sanitizeHtml } from "@sanitization"; import { APActor } from "activitypub-types"; import { sanitize } from "isomorphic-dompurify"; +import { parse } from "marked"; import { Application } from "~database/entities/Application"; import { RawObject } from "~database/entities/RawObject"; import { Status } from "~database/entities/Status"; @@ -50,6 +51,7 @@ export default async (req: Request): Promise => { sensitive, spoiler_text, visibility, + content_type, } = await parseRequest<{ status: string; media_ids?: string[]; @@ -67,14 +69,22 @@ export default async (req: Request): Promise => { content_type?: string; }>(req); - // TODO: Parse Markdown statuses - // Validate status if (!status) { return errorResponse("Status is required", 422); } - const sanitizedStatus = await sanitizeHtml(status); + let sanitizedStatus: string; + + if (content_type === "text/markdown") { + sanitizedStatus = await sanitizeHtml(parse(status)); + } else if (content_type === "text/x.misskeymarkdown") { + // Parse as MFM + // TODO: Parse as MFM + sanitizedStatus = await sanitizeHtml(parse(status)); + } else { + sanitizedStatus = await sanitizeHtml(status); + } if (sanitizedStatus.length > config.validation.max_note_size) { return errorResponse( diff --git a/tests/actor.test.ts b/tests/actor.test.ts index 0d8391ea..a3c15f02 100644 --- a/tests/actor.test.ts +++ b/tests/actor.test.ts @@ -23,27 +23,34 @@ beforeAll(async () => { describe("POST /@test/actor", () => { test("should return a valid ActivityPub Actor when querying an existing user", async () => { - const response = await fetch(`${config.http.base_url}/users/test/actor`, { - method: "GET", - headers: { - Accept: "application/activity+json", - }, - }); + const response = await fetch( + `${config.http.base_url}/users/test/actor`, + { + method: "GET", + headers: { + Accept: "application/activity+json", + }, + } + ); expect(response.status).toBe(200); expect(response.headers.get("content-type")).toBe( "application/activity+json" ); - const actor: APActor = await response.json(); + const actor = (await response.json()) as APActor; expect(actor.type).toBe("Person"); expect(actor.id).toBe(`${config.http.base_url}/users/test`); expect(actor.preferredUsername).toBe("test"); expect(actor.inbox).toBe(`${config.http.base_url}/users/test/inbox`); expect(actor.outbox).toBe(`${config.http.base_url}/users/test/outbox`); - expect(actor.followers).toBe(`${config.http.base_url}/users/test/followers`); - expect(actor.following).toBe(`${config.http.base_url}/users/test/following`); + expect(actor.followers).toBe( + `${config.http.base_url}/users/test/followers` + ); + expect(actor.following).toBe( + `${config.http.base_url}/users/test/following` + ); expect((actor as any).publicKey).toBeDefined(); expect((actor as any).publicKey.id).toBeDefined(); expect((actor as any).publicKey.owner).toBe( @@ -82,4 +89,6 @@ afterAll(async () => { if (user) { await user.remove(); } + + await AppDataSource.destroy(); }); diff --git a/tests/api.test.ts b/tests/api.test.ts index 3539941b..314b8ca4 100644 --- a/tests/api.test.ts +++ b/tests/api.test.ts @@ -66,6 +66,28 @@ describe("API Tests", () => { token = await token.save(); }); + afterAll(async () => { + const activities = await RawActivity.createQueryBuilder("activity") + .where("activity.data->>'actor' = :actor", { + actor: `${config.http.base_url}/users/test`, + }) + .leftJoinAndSelect("activity.objects", "objects") + .getMany(); + + // Delete all created objects and activities as part of testing + for (const activity of activities) { + for (const object of activity.objects) { + await object.remove(); + } + await activity.remove(); + } + + await user.remove(); + await user2.remove(); + + await AppDataSource.destroy(); + }); + describe("POST /api/v1/accounts/:id", () => { test("should return a 404 error when trying to fetch a non-existent user", async () => { const response = await fetch( @@ -150,7 +172,7 @@ describe("API Tests", () => { "application/json" ); - const statuses: APIStatus[] = await response.json(); + const statuses = (await response.json()) as APIStatus[]; expect(statuses.some(s => s.id === status?.id)).toBe(true); }); @@ -177,7 +199,7 @@ describe("API Tests", () => { "application/json" ); - const user: APIAccount = await response.json(); + const user = (await response.json()) as APIAccount; expect(user.display_name).toBe("New Display Name"); }); @@ -201,7 +223,7 @@ describe("API Tests", () => { "application/json" ); - const account: APIAccount = await response.json(); + const account = (await response.json()) as APIAccount; expect(account.username).toBe(user.username); expect(account.bot).toBe(false); @@ -246,7 +268,7 @@ describe("API Tests", () => { "application/json" ); - const statuses: APIStatus[] = await response.json(); + const statuses = (await response.json()) as APIStatus[]; expect(statuses.length).toBe(1); @@ -278,7 +300,7 @@ describe("API Tests", () => { "application/json" ); - const account: APIRelationship = await response.json(); + const account = (await response.json()) as APIRelationship; expect(account.id).toBe(user2.id); expect(account.following).toBe(true); @@ -304,7 +326,7 @@ describe("API Tests", () => { "application/json" ); - const account: APIRelationship = await response.json(); + const account = (await response.json()) as APIRelationship; expect(account.id).toBe(user2.id); expect(account.following).toBe(false); @@ -330,7 +352,7 @@ describe("API Tests", () => { "application/json" ); - const account: APIRelationship = await response.json(); + const account = (await response.json()) as APIRelationship; expect(account.id).toBe(user2.id); expect(account.followed_by).toBe(false); @@ -356,7 +378,7 @@ describe("API Tests", () => { "application/json" ); - const account: APIRelationship = await response.json(); + const account = (await response.json()) as APIRelationship; expect(account.id).toBe(user2.id); expect(account.blocking).toBe(true); @@ -382,7 +404,7 @@ describe("API Tests", () => { "application/json" ); - const account: APIRelationship = await response.json(); + const account = (await response.json()) as APIRelationship; expect(account.id).toBe(user2.id); expect(account.blocking).toBe(false); @@ -408,7 +430,7 @@ describe("API Tests", () => { "application/json" ); - const account: APIRelationship = await response.json(); + const account = (await response.json()) as APIRelationship; expect(account.id).toBe(user2.id); expect(account.muting).toBe(true); @@ -433,7 +455,7 @@ describe("API Tests", () => { "application/json" ); - const account: APIRelationship = await response.json(); + const account = (await response.json()) as APIRelationship; expect(account.id).toBe(user2.id); expect(account.muting).toBe(true); @@ -460,7 +482,7 @@ describe("API Tests", () => { "application/json" ); - const account: APIRelationship = await response.json(); + const account = (await response.json()) as APIRelationship; expect(account.id).toBe(user2.id); expect(account.muting).toBe(false); @@ -486,7 +508,7 @@ describe("API Tests", () => { "application/json" ); - const account: APIRelationship = await response.json(); + const account = (await response.json()) as APIRelationship; expect(account.id).toBe(user2.id); expect(account.endorsed).toBe(true); @@ -512,7 +534,7 @@ describe("API Tests", () => { "application/json" ); - const account: APIRelationship = await response.json(); + const account = (await response.json()) as APIRelationship; expect(account.id).toBe(user2.id); expect(account.endorsed).toBe(false); @@ -538,7 +560,7 @@ describe("API Tests", () => { "application/json" ); - const account: APIAccount = await response.json(); + const account = (await response.json()) as APIAccount; expect(account.id).toBe(user2.id); expect(account.note).toBe("This is a new note"); @@ -562,7 +584,7 @@ describe("API Tests", () => { "application/json" ); - const relationships: APIRelationship[] = await response.json(); + const relationships = (await response.json()) as APIRelationship[]; expect(Array.isArray(relationships)).toBe(true); expect(relationships.length).toBeGreaterThan(0); @@ -595,8 +617,10 @@ describe("API Tests", () => { "application/json" ); - const familiarFollowers: { id: string; accounts: APIAccount[] }[] = - await response.json(); + const familiarFollowers = (await response.json()) as { + id: string; + accounts: APIAccount[]; + }[]; expect(Array.isArray(familiarFollowers)).toBe(true); expect(familiarFollowers.length).toBeGreaterThan(0); @@ -657,7 +681,7 @@ describe("API Tests", () => { "application/json" ); - const statusJson = await response.json(); + const statusJson = (await response.json()) as APIStatus; expect(statusJson.id).toBe(status?.id); expect(statusJson.content).toBeDefined(); @@ -718,7 +742,7 @@ describe("API Tests", () => { "application/json" ); - const instance: APIInstance = await response.json(); + const instance = (await response.json()) as APIInstance; expect(instance.uri).toBe(new URL(config.http.base_url).hostname); expect(instance.title).toBeDefined(); @@ -764,7 +788,7 @@ describe("API Tests", () => { "application/json" ); - const emojis: APIEmoji[] = await response.json(); + const emojis = (await response.json()) as APIEmoji[]; expect(emojis.length).toBeGreaterThan(0); expect(emojis[0].shortcode).toBe("test"); @@ -774,26 +798,4 @@ describe("API Tests", () => { await Emoji.delete({ shortcode: "test" }); }); }); - - afterAll(async () => { - const activities = await RawActivity.createQueryBuilder("activity") - .where("activity.data->>'actor' = :actor", { - actor: `${config.http.base_url}/users/test`, - }) - .leftJoinAndSelect("activity.objects", "objects") - .getMany(); - - // Delete all created objects and activities as part of testing - await Promise.all( - activities.map(async activity => { - await Promise.all( - activity.objects.map(async object => await object.remove()) - ); - await activity.remove(); - }) - ); - - await user.remove(); - await user2.remove(); - }); }); diff --git a/tests/entities/Instance.test.ts b/tests/entities/Instance.test.ts index 724c36d6..73ce4e1a 100644 --- a/tests/entities/Instance.test.ts +++ b/tests/entities/Instance.test.ts @@ -37,4 +37,6 @@ describe("Instance", () => { afterAll(async () => { await instance.remove(); + + await AppDataSource.destroy(); }); diff --git a/tests/entities/Media.test.ts b/tests/entities/Media.test.ts index 551ded43..befd57d6 100644 --- a/tests/entities/Media.test.ts +++ b/tests/entities/Media.test.ts @@ -1,17 +1,27 @@ -import { getConfig } from "@config"; +import { ConfigType, getConfig } from "@config"; import { afterAll, beforeAll, describe, expect, it } from "bun:test"; import { LocalBackend, S3Backend } from "~classes/media"; import { unlink } from "fs/promises"; import { DeleteObjectCommand } from "@aws-sdk/client-s3"; -const config = getConfig(); +const originalConfig = getConfig(); +const modifiedConfig: ConfigType = { + ...originalConfig, + media: { + ...originalConfig.media, + conversion: { + ...originalConfig.media.conversion, + convert_images: false, + }, + }, +}; describe("LocalBackend", () => { let localBackend: LocalBackend; let fileName: string; beforeAll(() => { - localBackend = new LocalBackend(); + localBackend = new LocalBackend(modifiedConfig); }); afterAll(async () => { @@ -25,7 +35,7 @@ describe("LocalBackend", () => { }); const hash = await localBackend.addMedia(media); - fileName = `${hash}`; + fileName = hash; expect(hash).toBeDefined(); }); @@ -33,16 +43,14 @@ describe("LocalBackend", () => { describe("getMediaByHash", () => { it("should retrieve the file from the local filesystem and return it as a File object", async () => { - const media = await localBackend.getMediaByHash(fileName, "txt"); + const media = await localBackend.getMediaByHash(fileName); expect(media).toBeInstanceOf(File); }); it("should return null if the file does not exist", async () => { - const media = await localBackend.getMediaByHash( - "does-not-exist", - "txt" - ); + const media = + await localBackend.getMediaByHash("does-not-exist.txt"); expect(media).toBeNull(); }); @@ -50,12 +58,12 @@ describe("LocalBackend", () => { }); describe("S3Backend", () => { - const s3Backend = new S3Backend(config); + const s3Backend = new S3Backend(modifiedConfig); let fileName: string; afterAll(async () => { const command = new DeleteObjectCommand({ - Bucket: config.s3.bucket_name, + Bucket: modifiedConfig.s3.bucket_name, Key: fileName, }); @@ -69,7 +77,7 @@ describe("S3Backend", () => { }); const hash = await s3Backend.addMedia(media); - fileName = `${hash}`; + fileName = hash; expect(hash).toBeDefined(); }); @@ -77,16 +85,13 @@ describe("S3Backend", () => { describe("getMediaByHash", () => { it("should retrieve the file from the S3 bucket and return it as a File object", async () => { - const media = await s3Backend.getMediaByHash(fileName, "txt"); + const media = await s3Backend.getMediaByHash(fileName); expect(media).toBeInstanceOf(File); }); it("should return null if the file does not exist", async () => { - const media = await s3Backend.getMediaByHash( - "does-not-exist", - "txt" - ); + const media = await s3Backend.getMediaByHash("does-not-exist.txt"); expect(media).toBeNull(); }); diff --git a/tests/inbox.test.ts b/tests/inbox.test.ts index ed99474a..7de0f7f8 100644 --- a/tests/inbox.test.ts +++ b/tests/inbox.test.ts @@ -210,6 +210,7 @@ describe("POST /@test/inbox", () => { manuallyApprovesFollowers: false, followers: `${config.http.base_url}/users/test/followers`, following: `${config.http.base_url}/users/test/following`, + published: expect.any(String), name: "", "@context": [ "https://www.w3.org/ns/activitystreams", @@ -217,11 +218,11 @@ describe("POST /@test/inbox", () => { ], icon: { type: "Image", - url: "", + url: expect.any(String), }, image: { type: "Image", - url: "", + url: expect.any(String), }, inbox: `${config.http.base_url}/users/test/inbox`, type: "Person", @@ -311,4 +312,6 @@ afterAll(async () => { await Promise.all(tokens.map(async token => await token.remove())); if (user) await user.remove(); + + await AppDataSource.destroy(); }); diff --git a/tests/oauth.test.ts b/tests/oauth.test.ts index f204953a..6d310310 100644 --- a/tests/oauth.test.ts +++ b/tests/oauth.test.ts @@ -33,6 +33,7 @@ describe("POST /api/v1/apps/", () => { formData.append("redirect_uris", "https://example.com"); formData.append("scopes", "read write"); + // @ts-expect-error FormData works const response = await fetch(`${config.http.base_url}/api/v1/apps/`, { method: "POST", body: formData, @@ -42,7 +43,7 @@ describe("POST /api/v1/apps/", () => { expect(response.headers.get("content-type")).toBe("application/json"); // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment - const json = await response.json(); + const json = (await response.json()) as any; expect(json).toEqual({ id: expect.any(String), @@ -67,6 +68,8 @@ describe("POST /auth/login/", () => { formData.append("email", "test@test.com"); formData.append("password", "test"); + + // @ts-expect-error FormData works const response = await fetch( `${config.http.base_url}/auth/login/?client_id=${client_id}&redirect_uri=https://example.com&response_type=code&scope=read+write`, { @@ -96,13 +99,17 @@ describe("POST /oauth/token/", () => { formData.append("client_secret", client_secret); formData.append("scope", "read+write"); + // @ts-expect-error FormData works const response = await fetch(`${config.http.base_url}/oauth/token/`, { method: "POST", + headers: { + "Content-Type": "multipart/form-data", + }, body: formData, }); // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment - const json = await response.json(); + const json = (await response.json()) as any; expect(response.status).toBe(200); expect(response.headers.get("content-type")).toBe("application/json"); @@ -134,7 +141,7 @@ describe("GET /api/v1/apps/verify_credentials", () => { expect(response.status).toBe(200); expect(response.headers.get("content-type")).toBe("application/json"); - const credentials: Partial = await response.json(); + const credentials = (await response.json()) as Partial; expect(credentials.name).toBe("Test Application"); expect(credentials.website).toBe("https://example.com"); @@ -167,4 +174,6 @@ afterAll(async () => { ); if (user) await user.remove(); + + await AppDataSource.destroy(); }); diff --git a/utils/request.ts b/utils/request.ts index 64efbc93..a7e379a8 100644 --- a/utils/request.ts +++ b/utils/request.ts @@ -38,11 +38,11 @@ export async function parseRequest(request: Request): Promise> { // If a file, set as a file if (value instanceof File) { data[key] = value; + } else { + // Otherwise, set as a string + // eslint-disable-next-line @typescript-eslint/no-base-to-string + data[key] = value.toString(); } - - // Otherwise, set as a string - // eslint-disable-next-line @typescript-eslint/no-base-to-string - data[key] = value.toString(); } }