@@ -21,63 +21,159 @@ describe('MongoDB experimental Test', () => {
2121
2222 const EXPECTED_TRANSACTION = {
2323 transaction : 'Test Transaction' ,
24- spans : expect . arrayContaining ( [
24+ spans : [
2525 expect . objectContaining ( {
26- data : expect . objectContaining ( {
26+ data : {
27+ 'sentry.origin' : 'auto.db.otel.mongo' ,
28+ 'sentry.op' : 'db' ,
29+ 'db.system' : 'mongodb' ,
30+ 'db.name' : 'admin' ,
31+ 'db.mongodb.collection' : '$cmd' ,
32+ 'db.operation' : 'isMaster' ,
33+ 'db.connection_string' : expect . any ( String ) ,
34+ 'net.peer.name' : expect . any ( String ) ,
35+ 'net.peer.port' : expect . any ( Number ) ,
36+ 'db.statement' :
37+ '{"ismaster":"?","client":{"driver":{"name":"?","version":"?"},"os":{"type":"?","name":"?","architecture":"?","version":"?"},"platform":"?"},"compression":[],"helloOk":"?"}' ,
38+ 'otel.kind' : 'CLIENT' ,
39+ } ,
40+ description :
41+ '{"ismaster":"?","client":{"driver":{"name":"?","version":"?"},"os":{"type":"?","name":"?","architecture":"?","version":"?"},"platform":"?"},"compression":[],"helloOk":"?"}' ,
42+ op : 'db' ,
43+ origin : 'auto.db.otel.mongo' ,
44+ } ) ,
45+ expect . objectContaining ( {
46+ data : {
47+ 'sentry.origin' : 'auto.db.otel.mongo' ,
48+ 'sentry.op' : 'db' ,
49+ 'db.system' : 'mongodb' ,
50+ 'db.name' : 'admin' ,
51+ 'db.mongodb.collection' : '$cmd' ,
52+ 'db.operation' : 'isMaster' ,
53+ 'db.connection_string' : expect . any ( String ) ,
54+ 'net.peer.name' : expect . any ( String ) ,
55+ 'net.peer.port' : expect . any ( Number ) ,
56+ 'db.statement' :
57+ '{"ismaster":"?","client":{"driver":{"name":"?","version":"?"},"os":{"type":"?","name":"?","architecture":"?","version":"?"},"platform":"?"},"compression":[],"helloOk":"?"}' ,
58+ 'otel.kind' : 'CLIENT' ,
59+ } ,
60+ description :
61+ '{"ismaster":"?","client":{"driver":{"name":"?","version":"?"},"os":{"type":"?","name":"?","architecture":"?","version":"?"},"platform":"?"},"compression":[],"helloOk":"?"}' ,
62+ op : 'db' ,
63+ origin : 'auto.db.otel.mongo' ,
64+ } ) ,
65+ expect . objectContaining ( {
66+ data : {
67+ 'sentry.origin' : 'auto.db.otel.mongo' ,
68+ 'sentry.op' : 'db' ,
2769 'db.system' : 'mongodb' ,
2870 'db.name' : 'admin' ,
29- 'db.operation' : 'insert' ,
3071 'db.mongodb.collection' : 'movies' ,
31- } ) ,
32- description : '{"title":"?","_id":"?"}' ,
72+ 'db.operation' : 'insert' ,
73+ 'db.connection_string' : expect . any ( String ) ,
74+ 'net.peer.name' : expect . any ( String ) ,
75+ 'net.peer.port' : expect . any ( Number ) ,
76+ 'db.statement' :
77+ '{"title":"?","_id":{"_bsontype":"?","id":{"0":"?","1":"?","2":"?","3":"?","4":"?","5":"?","6":"?","7":"?","8":"?","9":"?","10":"?","11":"?"}}}' ,
78+ 'otel.kind' : 'CLIENT' ,
79+ } ,
80+ description :
81+ '{"title":"?","_id":{"_bsontype":"?","id":{"0":"?","1":"?","2":"?","3":"?","4":"?","5":"?","6":"?","7":"?","8":"?","9":"?","10":"?","11":"?"}}}' ,
3382 op : 'db' ,
3483 origin : 'auto.db.otel.mongo' ,
3584 } ) ,
3685 expect . objectContaining ( {
37- data : expect . objectContaining ( {
86+ data : {
87+ 'sentry.origin' : 'auto.db.otel.mongo' ,
88+ 'sentry.op' : 'db' ,
3889 'db.system' : 'mongodb' ,
3990 'db.name' : 'admin' ,
40- 'db.operation' : 'find' ,
4191 'db.mongodb.collection' : 'movies' ,
42- } ) ,
92+ 'db.operation' : 'find' ,
93+ 'db.connection_string' : expect . any ( String ) ,
94+ 'net.peer.name' : expect . any ( String ) ,
95+ 'net.peer.port' : expect . any ( Number ) ,
96+ 'db.statement' : '{"title":"?"}' ,
97+ 'otel.kind' : 'CLIENT' ,
98+ } ,
4399 description : '{"title":"?"}' ,
44100 op : 'db' ,
45101 origin : 'auto.db.otel.mongo' ,
46102 } ) ,
47103 expect . objectContaining ( {
48- data : expect . objectContaining ( {
104+ data : {
105+ 'sentry.origin' : 'auto.db.otel.mongo' ,
106+ 'sentry.op' : 'db' ,
49107 'db.system' : 'mongodb' ,
50108 'db.name' : 'admin' ,
51- 'db.operation' : 'update' ,
52109 'db.mongodb.collection' : 'movies' ,
53- } ) ,
110+ 'db.operation' : 'update' ,
111+ 'db.connection_string' : expect . any ( String ) ,
112+ 'net.peer.name' : expect . any ( String ) ,
113+ 'net.peer.port' : expect . any ( Number ) ,
114+ 'db.statement' : '{"title":"?"}' ,
115+ 'otel.kind' : 'CLIENT' ,
116+ } ,
54117 description : '{"title":"?"}' ,
55118 op : 'db' ,
56119 origin : 'auto.db.otel.mongo' ,
57120 } ) ,
58121 expect . objectContaining ( {
59- data : expect . objectContaining ( {
122+ data : {
123+ 'sentry.origin' : 'auto.db.otel.mongo' ,
124+ 'sentry.op' : 'db' ,
60125 'db.system' : 'mongodb' ,
61126 'db.name' : 'admin' ,
62- 'db.operation' : 'find' ,
63127 'db.mongodb.collection' : 'movies' ,
64- } ) ,
128+ 'db.operation' : 'find' ,
129+ 'db.connection_string' : expect . any ( String ) ,
130+ 'net.peer.name' : expect . any ( String ) ,
131+ 'net.peer.port' : expect . any ( Number ) ,
132+ 'db.statement' : '{"title":"?"}' ,
133+ 'otel.kind' : 'CLIENT' ,
134+ } ,
65135 description : '{"title":"?"}' ,
66136 op : 'db' ,
67137 origin : 'auto.db.otel.mongo' ,
68138 } ) ,
69139 expect . objectContaining ( {
70- data : expect . objectContaining ( {
140+ data : {
141+ 'sentry.origin' : 'auto.db.otel.mongo' ,
142+ 'sentry.op' : 'db' ,
71143 'db.system' : 'mongodb' ,
72144 'db.name' : 'admin' ,
73- 'db.operation' : 'find' ,
74145 'db.mongodb.collection' : 'movies' ,
75- } ) ,
146+ 'db.operation' : 'find' ,
147+ 'db.connection_string' : expect . any ( String ) ,
148+ 'net.peer.name' : expect . any ( String ) ,
149+ 'net.peer.port' : expect . any ( Number ) ,
150+ 'db.statement' : '{"title":"?"}' ,
151+ 'otel.kind' : 'CLIENT' ,
152+ } ,
76153 description : '{"title":"?"}' ,
77154 op : 'db' ,
78155 origin : 'auto.db.otel.mongo' ,
79156 } ) ,
80- ] ) ,
157+ expect . objectContaining ( {
158+ data : {
159+ 'sentry.origin' : 'auto.db.otel.mongo' ,
160+ 'sentry.op' : 'db' ,
161+ 'db.system' : 'mongodb' ,
162+ 'db.name' : 'admin' ,
163+ 'db.mongodb.collection' : '$cmd' ,
164+ 'db.connection_string' : expect . any ( String ) ,
165+ 'net.peer.name' : expect . any ( String ) ,
166+ 'net.peer.port' : expect . any ( Number ) ,
167+ 'db.statement' :
168+ '{"endSessions":[{"id":{"_bsontype":"?","sub_type":"?","position":"?","buffer":{"0":"?","1":"?","2":"?","3":"?","4":"?","5":"?","6":"?","7":"?","8":"?","9":"?","10":"?","11":"?","12":"?","13":"?","14":"?","15":"?"}}}]}' ,
169+ 'otel.kind' : 'CLIENT' ,
170+ } ,
171+ description :
172+ '{"endSessions":[{"id":{"_bsontype":"?","sub_type":"?","position":"?","buffer":{"0":"?","1":"?","2":"?","3":"?","4":"?","5":"?","6":"?","7":"?","8":"?","9":"?","10":"?","11":"?","12":"?","13":"?","14":"?","15":"?"}}}]}' ,
173+ op : 'db' ,
174+ origin : 'auto.db.otel.mongo' ,
175+ } ) ,
176+ ] ,
81177 } ;
82178
83179 test ( 'CJS - should auto-instrument `mongodb` package.' , done => {
0 commit comments