Skip to content

Commit f02bfe9

Browse files
committed
add e2e tests
1 parent 9a016ca commit f02bfe9

File tree

3 files changed

+38
-0
lines changed

3 files changed

+38
-0
lines changed

dev-packages/e2e-tests/test-applications/node-express-v5/tests/mcp.test.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,20 @@ test('Should record transactions for mcp handlers', async ({ baseURL }) => {
1111
version: '1.0.0',
1212
});
1313

14+
const initializeTransactionPromise = waitForTransaction('node-express-v5', transactionEvent => {
15+
return transactionEvent.transaction === 'initialize';
16+
});
17+
1418
await client.connect(transport);
1519

20+
await test.step('initialize handshake', async () => {
21+
const initializeTransaction = await initializeTransactionPromise;
22+
expect(initializeTransaction).toBeDefined();
23+
expect(initializeTransaction.contexts?.trace?.data?.['mcp.method.name']).toEqual('initialize');
24+
expect(initializeTransaction.contexts?.trace?.data?.['mcp.client.name']).toEqual('test-client');
25+
expect(initializeTransaction.contexts?.trace?.data?.['mcp.server.name']).toEqual('Echo');
26+
});
27+
1628
await test.step('tool handler', async () => {
1729
const postTransactionPromise = waitForTransaction('node-express-v5', transactionEvent => {
1830
return transactionEvent.transaction === 'POST /messages';

dev-packages/e2e-tests/test-applications/node-express/tests/mcp.test.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,21 @@ test('Should record transactions for mcp handlers', async ({ baseURL }) => {
1111
version: '1.0.0',
1212
});
1313

14+
const initializeTransactionPromise = waitForTransaction('node-express', transactionEvent => {
15+
return transactionEvent.transaction === 'initialize';
16+
});
17+
1418
await client.connect(transport);
1519

20+
await test.step('initialize handshake', async () => {
21+
const initializeTransaction = await initializeTransactionPromise;
22+
expect(initializeTransaction).toBeDefined();
23+
expect(initializeTransaction.contexts?.trace?.op).toEqual('mcp.server');
24+
expect(initializeTransaction.contexts?.trace?.data?.['mcp.method.name']).toEqual('initialize');
25+
expect(initializeTransaction.contexts?.trace?.data?.['mcp.client.name']).toEqual('test-client');
26+
expect(initializeTransaction.contexts?.trace?.data?.['mcp.server.name']).toEqual('Echo');
27+
});
28+
1629
await test.step('tool handler', async () => {
1730
const postTransactionPromise = waitForTransaction('node-express', transactionEvent => {
1831
return transactionEvent.transaction === 'POST /messages';

dev-packages/e2e-tests/test-applications/tsx-express/tests/mcp.test.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,21 @@ test('Records transactions for mcp handlers', async ({ baseURL }) => {
1111
version: '1.0.0',
1212
});
1313

14+
const initializeTransactionPromise = waitForTransaction('tsx-express', transactionEvent => {
15+
return transactionEvent.transaction === 'initialize';
16+
});
17+
1418
await client.connect(transport);
1519

20+
await test.step('initialize handshake', async () => {
21+
const initializeTransaction = await initializeTransactionPromise;
22+
expect(initializeTransaction).toBeDefined();
23+
expect(initializeTransaction.contexts?.trace?.op).toEqual('mcp.server');
24+
expect(initializeTransaction.contexts?.trace?.data?.['mcp.method.name']).toEqual('initialize');
25+
expect(initializeTransaction.contexts?.trace?.data?.['mcp.client.name']).toEqual('test-client');
26+
expect(initializeTransaction.contexts?.trace?.data?.['mcp.server.name']).toEqual('Echo');
27+
});
28+
1629
await test.step('tool handler', async () => {
1730
const postTransactionPromise = waitForTransaction('tsx-express', transactionEvent => {
1831
return transactionEvent.transaction === 'POST /messages';

0 commit comments

Comments
 (0)