Skip to content

Commit

Permalink
feat(api): ✨ Add timeline benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
CPlusPatch committed Nov 10, 2024
1 parent 3ec5118 commit 19d8680
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 0 deletions.
44 changes: 44 additions & 0 deletions benchmarks/timeline.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import type { Status as ApiStatus } from "@versia/client/types";
import { fakeRequest, getTestStatuses, getTestUsers } from "~/tests/utils";
import { run, bench } from "mitata";
import { configureLoggers } from "@/loggers";

await configureLoggers(true);

const { users, tokens, deleteUsers } = await getTestUsers(5);
await getTestStatuses(40, users[0]);

const testTimeline = async (): Promise<void> => {
const response = await fakeRequest("/api/v1/timelines/home", {
headers: {
Authorization: `Bearer ${tokens[0].data.accessToken}`,
},
});

const objects = (await response.json()) as ApiStatus[];

if (objects.length !== 20) {
throw new Error("Invalid response (not 20 objects)");
}
};

const testInstance = async (): Promise<void> => {
const response = await fakeRequest("/api/v2/instance", {
headers: {
Authorization: `Bearer ${tokens[0].data.accessToken}`,
},
});

const object = (await response.json()) as Record<string, unknown>;

if (typeof object !== "object") {
throw new Error("Invalid response (not an object)");
}
};

bench("timeline", testTimeline).range("amount", 1, 1000);
bench("instance", testInstance).range("amount", 1, 1000);

await run();

await deleteUsers();
Binary file modified bun.lockb
Binary file not shown.
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@
"oclif": "^4.15.20",
"ts-prune": "^0.10.3",
"typescript": "^5.6.3",
"vitepress": "^1.5.0",
"zod-to-json-schema": "^3.23.5"
},
"peerDependencies": {
Expand Down Expand Up @@ -138,6 +139,7 @@
"markdown-it-container": "^4.0.0",
"markdown-it-toc-done-right": "^4.2.0",
"mime-types": "^2.1.35",
"mitata": "^1.0.10",
"oauth4webapi": "^3.1.2",
"ora": "^8.1.1",
"pg": "^8.13.1",
Expand Down

0 comments on commit 19d8680

Please sign in to comment.