Skip to content

Commit 9987dbf

Browse files
committed
Added convenient transaction test
1 parent 3822daf commit 9987dbf

File tree

2 files changed

+360
-0
lines changed

2 files changed

+360
-0
lines changed
Lines changed: 232 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,232 @@
1+
{
2+
"description": "convenient transactions",
3+
"schemaVersion": "1.26",
4+
"runOnRequirements": [
5+
{
6+
"minServerVersion": "4.4",
7+
"topologies": [
8+
"replicaset",
9+
"sharded"
10+
]
11+
}
12+
],
13+
"createEntities": [
14+
{
15+
"client": {
16+
"id": "client",
17+
"useMultipleMongoses": false,
18+
"observeTracingMessages": {
19+
"enableCommandPayload": true
20+
}
21+
}
22+
},
23+
{
24+
"database": {
25+
"id": "database",
26+
"client": "client",
27+
"databaseName": "convenient-transaction-tests"
28+
}
29+
},
30+
{
31+
"collection": {
32+
"id": "collection",
33+
"database": "database",
34+
"collectionName": "test"
35+
}
36+
},
37+
{
38+
"session": {
39+
"id": "session",
40+
"client": "client"
41+
}
42+
}
43+
],
44+
"initialData": [
45+
{
46+
"collectionName": "test",
47+
"databaseName": "convenient-transaction-tests",
48+
"documents": []
49+
}
50+
],
51+
"tests": [
52+
{
53+
"description": "withTransaction",
54+
"operations": [
55+
{
56+
"name": "withTransaction",
57+
"object": "session",
58+
"arguments": {
59+
"callback": [
60+
{
61+
"name": "insertOne",
62+
"object": "collection",
63+
"arguments": {
64+
"document": {
65+
"_id": 1
66+
},
67+
"session": "session"
68+
}
69+
}
70+
]
71+
}
72+
},
73+
{
74+
"name": "find",
75+
"object": "collection",
76+
"arguments": {
77+
"filter": {
78+
"x": 1
79+
}
80+
}
81+
}
82+
],
83+
"expectTracingMessages": [
84+
{
85+
"client": "client",
86+
"ignoreExtraSpans": false,
87+
"spans": [
88+
{
89+
"name": "transaction",
90+
"attributes": {
91+
"db.system": "mongodb"
92+
},
93+
"nested": [
94+
{
95+
"name": "insert convenient-transaction-tests.test",
96+
"attributes": {
97+
"db.system": "mongodb",
98+
"db.namespace": "convenient-transaction-tests",
99+
"db.collection.name": "test",
100+
"db.operation.name": "insert",
101+
"db.operation.summary": "insert convenient-transaction-tests.test"
102+
},
103+
"nested": [
104+
{
105+
"name": "insert",
106+
"attributes": {
107+
"db.system": "mongodb",
108+
"db.namespace": "convenient-transaction-tests",
109+
"db.collection.name": "test",
110+
"server.address": {
111+
"$$type": "string"
112+
},
113+
"server.port": {
114+
"$$type": [
115+
"long",
116+
"string"
117+
]
118+
},
119+
"server.type": {
120+
"$$type": "string"
121+
},
122+
"db.query.summary": "insert convenient-transaction-tests.test",
123+
"db.query.text": {
124+
"$$matchAsDocument": {
125+
"$$matchAsRoot": {
126+
"insert": "test",
127+
"ordered": true,
128+
"txnNumber": 1,
129+
"startTransaction": true,
130+
"autocommit": false,
131+
"documents": [
132+
{
133+
"_id": 1
134+
}
135+
]
136+
}
137+
}
138+
},
139+
"db.mongodb.lsid": {
140+
"$$sessionLsid": "session"
141+
}
142+
}
143+
}
144+
]
145+
},
146+
{
147+
"name": "commitTransaction admin",
148+
"attributes": {
149+
"db.system": "mongodb",
150+
"db.namespace": "admin",
151+
"db.collection.name": {
152+
"$$exists": false
153+
},
154+
"db.operation.name": "commitTransaction"
155+
},
156+
"nested": [
157+
{
158+
"name": "commitTransaction",
159+
"attributes": {
160+
"db.system": "mongodb",
161+
"db.namespace": "admin",
162+
"db.collection.name": {
163+
"$$exists": false
164+
},
165+
"db.query.summary": "commitTransaction admin",
166+
"db.command.name": "commitTransaction",
167+
"db.query.text": {
168+
"$$matchAsDocument": {
169+
"$$matchAsRoot": {
170+
"commitTransaction": 1,
171+
"txnNumber": 1,
172+
"autocommit": false
173+
}
174+
}
175+
}
176+
}
177+
}
178+
]
179+
}
180+
]
181+
},
182+
{
183+
"name": "find convenient-transaction-tests.test",
184+
"attributes": {
185+
"db.system": "mongodb",
186+
"db.namespace": "convenient-transaction-tests",
187+
"db.collection.name": "test",
188+
"db.operation.summary": "find convenient-transaction-tests.test",
189+
"db.operation.name": "find"
190+
},
191+
"nested": [
192+
{
193+
"name": "find",
194+
"attributes": {
195+
"db.system": "mongodb",
196+
"db.namespace": "convenient-transaction-tests",
197+
"db.collection.name": "test",
198+
"db.command.name": "find",
199+
"server.address": {
200+
"$$type": "string"
201+
},
202+
"server.port": {
203+
"$$type": [
204+
"long",
205+
"string"
206+
]
207+
},
208+
"server.type": {
209+
"$$type": "string"
210+
},
211+
"db.query.summary": "find convenient-transaction-tests.test"
212+
}
213+
}
214+
]
215+
}
216+
]
217+
}
218+
],
219+
"outcome": [
220+
{
221+
"collectionName": "test",
222+
"databaseName": "convenient-transaction-tests",
223+
"documents": [
224+
{
225+
"_id": 1
226+
}
227+
]
228+
}
229+
]
230+
}
231+
]
232+
}
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
description: convenient transactions
2+
3+
schemaVersion: "1.26"
4+
5+
runOnRequirements:
6+
- minServerVersion: "4.4"
7+
topologies: ["replicaset", "sharded"]
8+
9+
createEntities:
10+
- client:
11+
id: &client client
12+
useMultipleMongoses: false
13+
observeTracingMessages:
14+
enableCommandPayload: true
15+
- database:
16+
id: &database database
17+
client: *client
18+
databaseName: &databaseName convenient-transaction-tests
19+
- collection:
20+
id: &collection collection
21+
database: *database
22+
collectionName: &collectionName test
23+
- session:
24+
id: &session session
25+
client: *client
26+
27+
initialData:
28+
- collectionName: *collectionName
29+
databaseName: *databaseName
30+
documents: []
31+
32+
tests:
33+
- description: "withTransaction"
34+
operations:
35+
- name: withTransaction
36+
object: *session
37+
arguments:
38+
callback:
39+
- name: insertOne
40+
object: *collection
41+
arguments:
42+
document:
43+
_id: 1
44+
session: *session
45+
- name: find
46+
object: *collection
47+
arguments: { filter: { x: 1 } }
48+
49+
expectTracingMessages:
50+
- client: *client
51+
ignoreExtraSpans: false
52+
spans:
53+
- name: transaction
54+
attributes:
55+
db.system: mongodb
56+
nested:
57+
- name: insert convenient-transaction-tests.test
58+
attributes:
59+
db.system: mongodb
60+
db.namespace: *databaseName
61+
db.collection.name: *collectionName
62+
db.operation.name: insert
63+
db.operation.summary: insert convenient-transaction-tests.test
64+
nested:
65+
- name: insert
66+
attributes:
67+
db.system: mongodb
68+
db.namespace: *databaseName
69+
db.collection.name: *collectionName
70+
server.address: { $$type: string }
71+
server.port: { $$type: [ 'long', 'string' ] }
72+
server.type: { $$type: string }
73+
db.query.summary: insert convenient-transaction-tests.test
74+
db.query.text:
75+
$$matchAsDocument:
76+
$$matchAsRoot:
77+
insert: test
78+
ordered: true
79+
txnNumber: 1
80+
startTransaction: true
81+
autocommit: false
82+
documents:
83+
- _id: 1
84+
db.mongodb.lsid: { $$sessionLsid: *session }
85+
- name: commitTransaction admin
86+
attributes:
87+
db.system: mongodb
88+
db.namespace: admin
89+
db.collection.name: { $$exists: false }
90+
db.operation.name: commitTransaction
91+
nested:
92+
- name: commitTransaction
93+
attributes:
94+
db.system: mongodb
95+
db.namespace: admin
96+
db.collection.name: { $$exists: false }
97+
db.query.summary: commitTransaction admin
98+
db.command.name: commitTransaction
99+
db.query.text:
100+
$$matchAsDocument:
101+
$$matchAsRoot:
102+
commitTransaction: 1
103+
txnNumber: 1
104+
autocommit: false
105+
- name: find convenient-transaction-tests.test
106+
attributes:
107+
db.system: mongodb
108+
db.namespace: *databaseName
109+
db.collection.name: *collectionName
110+
db.operation.summary: find convenient-transaction-tests.test
111+
db.operation.name: find
112+
nested:
113+
- name: find
114+
attributes:
115+
db.system: mongodb
116+
db.namespace: *databaseName
117+
db.collection.name: *collectionName
118+
db.command.name: find
119+
server.address: { $$type: string }
120+
server.port: { $$type: [ 'long', 'string' ] }
121+
server.type: { $$type: string }
122+
db.query.summary: find convenient-transaction-tests.test
123+
124+
outcome:
125+
- collectionName: test
126+
databaseName: convenient-transaction-tests
127+
documents:
128+
- _id: 1

0 commit comments

Comments
 (0)