Skip to content

Commit b2d6c40

Browse files
committed
improve test
1 parent 7a7d5b1 commit b2d6c40

File tree

2 files changed

+25
-11
lines changed
  • dev-packages/browser-integration-tests/suites/tracing/ai-providers/langgraph

2 files changed

+25
-11
lines changed

dev-packages/browser-integration-tests/suites/tracing/ai-providers/langgraph/mocks.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
// Mock LangGraph graph for browser testing
2-
32
export class MockStateGraph {
43
compile(options = {}) {
54
const compiledGraph = {
@@ -11,7 +10,7 @@ export class MockStateGraph {
1110
builder: {
1211
nodes: {},
1312
},
14-
invoke: async (input) => {
13+
invoke: async input => {
1514
const messages = input?.messages;
1615
return {
1716
messages: [

dev-packages/browser-integration-tests/suites/tracing/ai-providers/langgraph/test.ts

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,38 @@ import { envelopeRequestParser, waitForTransactionRequest } from '../../../../ut
88
// and that gen_ai transactions are sent.
99

1010
sentryTest('manual LangGraph instrumentation sends gen_ai transactions', async ({ getLocalTestUrl, page }) => {
11-
const transactionPromise = waitForTransactionRequest(page, event => {
12-
return !!event.transaction?.includes('mock-graph');
11+
const createTransactionPromise = waitForTransactionRequest(page, event => {
12+
return !!event.transaction?.includes('create_agent mock-graph');
13+
});
14+
15+
const invokeTransactionPromise = waitForTransactionRequest(page, event => {
16+
return !!event.transaction?.includes('invoke_agent mock-graph');
1317
});
1418

1519
const url = await getLocalTestUrl({ testDir: __dirname });
1620
await page.goto(url);
1721

18-
const req = await transactionPromise;
22+
const createReq = await createTransactionPromise;
23+
const invokeReq = await invokeTransactionPromise;
1924

20-
const eventData = envelopeRequestParser(req);
25+
const createEventData = envelopeRequestParser(createReq);
26+
const invokeEventData = envelopeRequestParser(invokeReq);
2127

22-
// Verify it's a gen_ai transaction
23-
expect(eventData.transaction).toBe('create_agent mock-graph');
24-
expect(eventData.contexts?.trace?.op).toBe('gen_ai.create_agent');
25-
expect(eventData.contexts?.trace?.origin).toBe('auto.ai.langgraph');
26-
expect(eventData.contexts?.trace?.data).toMatchObject({
28+
// Verify create_agent transaction
29+
expect(createEventData.transaction).toBe('create_agent mock-graph');
30+
expect(createEventData.contexts?.trace?.op).toBe('gen_ai.create_agent');
31+
expect(createEventData.contexts?.trace?.origin).toBe('auto.ai.langgraph');
32+
expect(createEventData.contexts?.trace?.data).toMatchObject({
2733
'gen_ai.operation.name': 'create_agent',
2834
'gen_ai.agent.name': 'mock-graph',
2935
});
36+
37+
// Verify invoke_agent transaction
38+
expect(invokeEventData.transaction).toBe('invoke_agent mock-graph');
39+
expect(invokeEventData.contexts?.trace?.op).toBe('gen_ai.invoke_agent');
40+
expect(invokeEventData.contexts?.trace?.origin).toBe('auto.ai.langgraph');
41+
expect(invokeEventData.contexts?.trace?.data).toMatchObject({
42+
'gen_ai.operation.name': 'invoke_agent',
43+
'gen_ai.agent.name': 'mock-graph',
44+
});
3045
});

0 commit comments

Comments
 (0)