langfuse

Форк
0
/
sessions.servertest.ts 
62 строки · 1.6 Кб
1
/** @jest-environment node */
2

3
import { makeAPICall, pruneDatabase } from "@/src/__tests__/test-utils";
4
import { prisma } from "@/src/server/db";
5

6
describe("/api/public/traces API Endpoint", () => {
7
  beforeEach(async () => await pruneDatabase());
8
  afterEach(async () => await pruneDatabase());
9

10
  it("should create a session via a trace", async () => {
11
    await pruneDatabase();
12

13
    await makeAPICall("POST", "/api/public/traces", {
14
      name: "trace-name",
15
      projectId: "7a88fb47-b4e2-43b8-a06c-a5ce950dc53a",
16
      sessionId: "session-id",
17
    });
18

19
    const dbSession = await prisma.traceSession.findFirst({
20
      where: {
21
        id: "session-id",
22
      },
23
    });
24

25
    expect(dbSession).not.toBeNull();
26
    expect(dbSession).toMatchObject({
27
      id: "session-id",
28
      projectId: "7a88fb47-b4e2-43b8-a06c-a5ce950dc53a",
29
    });
30
  });
31

32
  it("should get session including traces", async () => {
33
    await pruneDatabase();
34

35
    await makeAPICall("POST", "/api/public/traces", {
36
      name: "trace-name",
37
      id: "trace-id",
38
      input: { hello: "world" },
39
      output: "hi",
40
      projectId: "7a88fb47-b4e2-43b8-a06c-a5ce950dc53a",
41
      sessionId: "session-id",
42
    });
43

44
    const response = await makeAPICall(
45
      "GET",
46
      "/api/public/sessions/session-id",
47
    );
48

49
    expect(response.status).toBe(200);
50
    expect(response.body).toMatchObject({
51
      id: "session-id",
52
      projectId: "7a88fb47-b4e2-43b8-a06c-a5ce950dc53a",
53
      traces: [
54
        {
55
          id: "trace-id",
56
          input: { hello: "world" },
57
          output: "hi",
58
        },
59
      ],
60
    });
61
  });
62
});
63

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.