1- import { describe , expect , test } from 'vitest' ;
2- import { createRunner } from '../../../utils/runner' ;
1+ import { afterAll , describe , expect } from 'vitest' ;
2+ import { cleanupChildProcesses , createEsmAndCjsTests } from '../../../utils/runner' ;
33
44// Server start transaction (Apollo Server v5 no longer runs introspection query on start)
55const EXPECTED_START_SERVER_TRANSACTION = {
66 transaction : 'Test Server Start' ,
77} ;
88
99describe ( 'GraphQL/Apollo Tests' , ( ) => {
10- test ( 'should instrument GraphQL queries used from Apollo Server.' , async ( ) => {
10+ afterAll ( ( ) => {
11+ cleanupChildProcesses ( ) ;
12+ } ) ;
13+
14+ describe ( 'query' , ( ) => {
1115 const EXPECTED_TRANSACTION = {
1216 transaction : 'Test Transaction (query)' ,
1317 spans : expect . arrayContaining ( [
@@ -24,14 +28,24 @@ describe('GraphQL/Apollo Tests', () => {
2428 ] ) ,
2529 } ;
2630
27- await createRunner ( __dirname , 'scenario-query.js' )
28- . expect ( { transaction : EXPECTED_START_SERVER_TRANSACTION } )
29- . expect ( { transaction : EXPECTED_TRANSACTION } )
30- . start ( )
31- . completed ( ) ;
31+ createEsmAndCjsTests (
32+ __dirname ,
33+ 'scenario-query.mjs' ,
34+ 'instrument.mjs' ,
35+ ( createTestRunner , test ) => {
36+ test ( 'should instrument GraphQL queries used from Apollo Server.' , async ( ) => {
37+ await createTestRunner ( )
38+ . expect ( { transaction : EXPECTED_START_SERVER_TRANSACTION } )
39+ . expect ( { transaction : EXPECTED_TRANSACTION } )
40+ . start ( )
41+ . completed ( ) ;
42+ } ) ;
43+ } ,
44+ { copyPaths : [ 'apollo-server.mjs' ] } ,
45+ ) ;
3246 } ) ;
3347
34- test ( 'should instrument GraphQL mutations used from Apollo Server.' , async ( ) => {
48+ describe ( 'mutation' , ( ) => {
3549 const EXPECTED_TRANSACTION = {
3650 transaction : 'Test Transaction (mutation Mutation)' ,
3751 spans : expect . arrayContaining ( [
@@ -49,14 +63,24 @@ describe('GraphQL/Apollo Tests', () => {
4963 ] ) ,
5064 } ;
5165
52- await createRunner ( __dirname , 'scenario-mutation.js' )
53- . expect ( { transaction : EXPECTED_START_SERVER_TRANSACTION } )
54- . expect ( { transaction : EXPECTED_TRANSACTION } )
55- . start ( )
56- . completed ( ) ;
66+ createEsmAndCjsTests (
67+ __dirname ,
68+ 'scenario-mutation.mjs' ,
69+ 'instrument.mjs' ,
70+ ( createTestRunner , test ) => {
71+ test ( 'should instrument GraphQL mutations used from Apollo Server.' , async ( ) => {
72+ await createTestRunner ( )
73+ . expect ( { transaction : EXPECTED_START_SERVER_TRANSACTION } )
74+ . expect ( { transaction : EXPECTED_TRANSACTION } )
75+ . start ( )
76+ . completed ( ) ;
77+ } ) ;
78+ } ,
79+ { copyPaths : [ 'apollo-server.mjs' ] } ,
80+ ) ;
5781 } ) ;
5882
59- test ( 'should handle GraphQL errors.' , async ( ) => {
83+ describe ( 'error' , ( ) => {
6084 const EXPECTED_TRANSACTION = {
6185 transaction : 'Test Transaction (mutation Mutation)' ,
6286 spans : expect . arrayContaining ( [
@@ -74,10 +98,20 @@ describe('GraphQL/Apollo Tests', () => {
7498 ] ) ,
7599 } ;
76100
77- await createRunner ( __dirname , 'scenario-error.js' )
78- . expect ( { transaction : EXPECTED_START_SERVER_TRANSACTION } )
79- . expect ( { transaction : EXPECTED_TRANSACTION } )
80- . start ( )
81- . completed ( ) ;
101+ createEsmAndCjsTests (
102+ __dirname ,
103+ 'scenario-error.mjs' ,
104+ 'instrument.mjs' ,
105+ ( createTestRunner , test ) => {
106+ test ( 'should handle GraphQL errors.' , async ( ) => {
107+ await createTestRunner ( )
108+ . expect ( { transaction : EXPECTED_START_SERVER_TRANSACTION } )
109+ . expect ( { transaction : EXPECTED_TRANSACTION } )
110+ . start ( )
111+ . completed ( ) ;
112+ } ) ;
113+ } ,
114+ { copyPaths : [ 'apollo-server.mjs' ] } ,
115+ ) ;
82116 } ) ;
83117} ) ;
0 commit comments