Skip to content

Commit e989be5

Browse files
committed
PYTHON-2088 Define how multiple phases should be handled in SDAM spec runner
1 parent d46bd16 commit e989be5

26 files changed

+1196
-370
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"description": "Replica set member and an unknown server",
3+
"uri": "mongodb://a,b/?replicaSet=rs",
4+
"phases": [
5+
{
6+
"responses": [
7+
[
8+
"a:27017",
9+
{
10+
"ok": 1,
11+
"ismaster": true,
12+
"setName": "rs",
13+
"hosts": [
14+
"a:27017",
15+
"b:27017"
16+
],
17+
"minWireVersion": 0,
18+
"maxWireVersion": 6
19+
}
20+
]
21+
],
22+
"outcome": {
23+
"servers": {
24+
"a:27017": {
25+
"type": "RSPrimary",
26+
"setName": "rs"
27+
},
28+
"b:27017": {
29+
"type": "Unknown"
30+
}
31+
},
32+
"topologyType": "ReplicaSetWithPrimary",
33+
"setName": "rs",
34+
"logicalSessionTimeoutMinutes": null,
35+
"compatible": true
36+
}
37+
}
38+
]
39+
}

test/discovery_and_monitoring/rs/equal_electionids.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,11 @@
6060
},
6161
"topologyType": "ReplicaSetWithPrimary",
6262
"logicalSessionTimeoutMinutes": null,
63-
"setName": "rs"
63+
"setName": "rs",
64+
"maxSetVersion": 1,
65+
"maxElectionId": {
66+
"$oid": "000000000000000000000001"
67+
}
6468
}
6569
}
6670
]
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"description": "Incompatible arbiter",
3+
"uri": "mongodb://a,b/?replicaSet=rs",
4+
"phases": [
5+
{
6+
"responses": [
7+
[
8+
"a:27017",
9+
{
10+
"ok": 1,
11+
"ismaster": true,
12+
"setName": "rs",
13+
"hosts": [
14+
"a:27017",
15+
"b:27017"
16+
],
17+
"minWireVersion": 0,
18+
"maxWireVersion": 6
19+
}
20+
],
21+
[
22+
"b:27017",
23+
{
24+
"ok": 1,
25+
"arbiterOnly": true,
26+
"setName": "rs",
27+
"hosts": [
28+
"a:27017",
29+
"b:27017"
30+
],
31+
"minWireVersion": 0,
32+
"maxWireVersion": 1
33+
}
34+
]
35+
],
36+
"outcome": {
37+
"servers": {
38+
"a:27017": {
39+
"type": "RSPrimary",
40+
"setName": "rs"
41+
},
42+
"b:27017": {
43+
"type": "RSArbiter",
44+
"setName": "rs"
45+
}
46+
},
47+
"topologyType": "ReplicaSetWithPrimary",
48+
"setName": "rs",
49+
"logicalSessionTimeoutMinutes": null,
50+
"compatible": false
51+
}
52+
}
53+
]
54+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{
2+
"description": "Incompatible ghost",
3+
"uri": "mongodb://a,b/?replicaSet=rs",
4+
"phases": [
5+
{
6+
"responses": [
7+
[
8+
"a:27017",
9+
{
10+
"ok": 1,
11+
"ismaster": true,
12+
"setName": "rs",
13+
"hosts": [
14+
"a:27017",
15+
"b:27017"
16+
],
17+
"minWireVersion": 0,
18+
"maxWireVersion": 6
19+
}
20+
],
21+
[
22+
"b:27017",
23+
{
24+
"ok": 1,
25+
"isreplicaset": true,
26+
"minWireVersion": 0,
27+
"maxWireVersion": 1
28+
}
29+
]
30+
],
31+
"outcome": {
32+
"servers": {
33+
"a:27017": {
34+
"type": "RSPrimary",
35+
"setName": "rs"
36+
},
37+
"b:27017": {
38+
"type": "RSGhost",
39+
"setName": null
40+
}
41+
},
42+
"topologyType": "ReplicaSetWithPrimary",
43+
"setName": "rs",
44+
"logicalSessionTimeoutMinutes": null,
45+
"compatible": false
46+
}
47+
}
48+
]
49+
}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
{
2+
"description": "Incompatible other",
3+
"uri": "mongodb://a,b/?replicaSet=rs",
4+
"phases": [
5+
{
6+
"responses": [
7+
[
8+
"a:27017",
9+
{
10+
"ok": 1,
11+
"ismaster": true,
12+
"setName": "rs",
13+
"hosts": [
14+
"a:27017",
15+
"b:27017"
16+
],
17+
"minWireVersion": 0,
18+
"maxWireVersion": 6
19+
}
20+
],
21+
[
22+
"b:27017",
23+
{
24+
"ok": 1,
25+
"hidden": true,
26+
"setName": "rs",
27+
"hosts": [
28+
"a:27017",
29+
"b:27017"
30+
],
31+
"minWireVersion": 0,
32+
"maxWireVersion": 1
33+
}
34+
]
35+
],
36+
"outcome": {
37+
"servers": {
38+
"a:27017": {
39+
"type": "RSPrimary",
40+
"setName": "rs"
41+
},
42+
"b:27017": {
43+
"type": "RSOther",
44+
"setName": "rs"
45+
}
46+
},
47+
"topologyType": "ReplicaSetWithPrimary",
48+
"setName": "rs",
49+
"logicalSessionTimeoutMinutes": null,
50+
"compatible": false
51+
}
52+
}
53+
]
54+
}

test/discovery_and_monitoring/rs/new_primary_new_electionid.json

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,11 @@
4141
},
4242
"topologyType": "ReplicaSetWithPrimary",
4343
"logicalSessionTimeoutMinutes": null,
44-
"setName": "rs"
44+
"setName": "rs",
45+
"maxSetVersion": 1,
46+
"maxElectionId": {
47+
"$oid": "000000000000000000000001"
48+
}
4549
}
4650
},
4751
{
@@ -83,7 +87,11 @@
8387
},
8488
"topologyType": "ReplicaSetWithPrimary",
8589
"logicalSessionTimeoutMinutes": null,
86-
"setName": "rs"
90+
"setName": "rs",
91+
"maxSetVersion": 1,
92+
"maxElectionId": {
93+
"$oid": "000000000000000000000002"
94+
}
8795
}
8896
},
8997
{
@@ -125,7 +133,11 @@
125133
},
126134
"topologyType": "ReplicaSetWithPrimary",
127135
"logicalSessionTimeoutMinutes": null,
128-
"setName": "rs"
136+
"setName": "rs",
137+
"maxSetVersion": 1,
138+
"maxElectionId": {
139+
"$oid": "000000000000000000000002"
140+
}
129141
}
130142
}
131143
]

test/discovery_and_monitoring/rs/new_primary_new_setversion.json

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,11 @@
4141
},
4242
"topologyType": "ReplicaSetWithPrimary",
4343
"logicalSessionTimeoutMinutes": null,
44-
"setName": "rs"
44+
"setName": "rs",
45+
"maxSetVersion": 1,
46+
"maxElectionId": {
47+
"$oid": "000000000000000000000001"
48+
}
4549
}
4650
},
4751
{
@@ -83,7 +87,11 @@
8387
},
8488
"topologyType": "ReplicaSetWithPrimary",
8589
"logicalSessionTimeoutMinutes": null,
86-
"setName": "rs"
90+
"setName": "rs",
91+
"maxSetVersion": 2,
92+
"maxElectionId": {
93+
"$oid": "000000000000000000000001"
94+
}
8795
}
8896
},
8997
{
@@ -125,7 +133,11 @@
125133
},
126134
"topologyType": "ReplicaSetWithPrimary",
127135
"logicalSessionTimeoutMinutes": null,
128-
"setName": "rs"
136+
"setName": "rs",
137+
"maxSetVersion": 2,
138+
"maxElectionId": {
139+
"$oid": "000000000000000000000001"
140+
}
129141
}
130142
}
131143
]

test/discovery_and_monitoring/rs/null_election_id.json

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@
4242
},
4343
"topologyType": "ReplicaSetWithPrimary",
4444
"logicalSessionTimeoutMinutes": null,
45-
"setName": "rs"
45+
"setName": "rs",
46+
"maxSetVersion": 1
4647
}
4748
},
4849
{
@@ -90,7 +91,11 @@
9091
},
9192
"topologyType": "ReplicaSetWithPrimary",
9293
"logicalSessionTimeoutMinutes": null,
93-
"setName": "rs"
94+
"setName": "rs",
95+
"maxSetVersion": 1,
96+
"maxElectionId": {
97+
"$oid": "000000000000000000000002"
98+
}
9499
}
95100
},
96101
{
@@ -133,7 +138,11 @@
133138
},
134139
"topologyType": "ReplicaSetWithPrimary",
135140
"logicalSessionTimeoutMinutes": null,
136-
"setName": "rs"
141+
"setName": "rs",
142+
"maxSetVersion": 1,
143+
"maxElectionId": {
144+
"$oid": "000000000000000000000002"
145+
}
137146
}
138147
},
139148
{
@@ -179,7 +188,11 @@
179188
},
180189
"topologyType": "ReplicaSetWithPrimary",
181190
"logicalSessionTimeoutMinutes": null,
182-
"setName": "rs"
191+
"setName": "rs",
192+
"maxSetVersion": 1,
193+
"maxElectionId": {
194+
"$oid": "000000000000000000000002"
195+
}
183196
}
184197
}
185198
]
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
{
2+
"description": "Primary becomes ghost",
3+
"uri": "mongodb://a/?replicaSet=rs",
4+
"phases": [
5+
{
6+
"responses": [
7+
[
8+
"a:27017",
9+
{
10+
"ok": 1,
11+
"ismaster": true,
12+
"hosts": [
13+
"a:27017"
14+
],
15+
"setName": "rs",
16+
"minWireVersion": 0,
17+
"maxWireVersion": 6
18+
}
19+
]
20+
],
21+
"outcome": {
22+
"servers": {
23+
"a:27017": {
24+
"type": "RSPrimary",
25+
"setName": "rs"
26+
}
27+
},
28+
"topologyType": "ReplicaSetWithPrimary",
29+
"logicalSessionTimeoutMinutes": null,
30+
"setName": "rs"
31+
}
32+
},
33+
{
34+
"responses": [
35+
[
36+
"a:27017",
37+
{
38+
"ok": 1,
39+
"ismaster": false,
40+
"isreplicaset": true,
41+
"minWireVersion": 0,
42+
"maxWireVersion": 6
43+
}
44+
]
45+
],
46+
"outcome": {
47+
"servers": {
48+
"a:27017": {
49+
"type": "RSGhost",
50+
"setName": null
51+
}
52+
},
53+
"topologyType": "ReplicaSetNoPrimary",
54+
"logicalSessionTimeoutMinutes": null,
55+
"setName": "rs"
56+
}
57+
}
58+
]
59+
}

0 commit comments

Comments
 (0)