From af49ba36d5b724f947bc07e3f949d913f4e3fbb2 Mon Sep 17 00:00:00 2001 From: Neal Beeken Date: Wed, 31 Mar 2021 11:58:49 -0400 Subject: [PATCH] test(NODE-3070): Ensure that SDAM should ignore the writeErrors field (#2769) --- .../errors/write_errors_ignored.json | 96 +++++++++++++++++++ .../errors/write_errors_ignored.yml | 41 ++++++++ 2 files changed, 137 insertions(+) create mode 100644 test/spec/server-discovery-and-monitoring/errors/write_errors_ignored.json create mode 100644 test/spec/server-discovery-and-monitoring/errors/write_errors_ignored.yml diff --git a/test/spec/server-discovery-and-monitoring/errors/write_errors_ignored.json b/test/spec/server-discovery-and-monitoring/errors/write_errors_ignored.json new file mode 100644 index 0000000000..6b80673c12 --- /dev/null +++ b/test/spec/server-discovery-and-monitoring/errors/write_errors_ignored.json @@ -0,0 +1,96 @@ +{ + "description": "writeErrors field is ignored", + "uri": "mongodb://a/?replicaSet=rs", + "phases": [ + { + "description": "Primary A is discovered", + "responses": [ + [ + "a:27017", + { + "ok": 1, + "ismaster": true, + "hosts": [ + "a:27017" + ], + "setName": "rs", + "minWireVersion": 0, + "maxWireVersion": 9, + "topologyVersion": { + "processId": { + "$oid": "000000000000000000000001" + }, + "counter": { + "$numberLong": "1" + } + } + } + ] + ], + "outcome": { + "servers": { + "a:27017": { + "type": "RSPrimary", + "setName": "rs", + "topologyVersion": { + "processId": { + "$oid": "000000000000000000000001" + }, + "counter": { + "$numberLong": "1" + } + }, + "pool": { + "generation": 0 + } + } + }, + "topologyType": "ReplicaSetWithPrimary", + "logicalSessionTimeoutMinutes": null, + "setName": "rs" + } + }, + { + "description": "Ignore command error with writeErrors field", + "applicationErrors": [ + { + "address": "a:27017", + "when": "afterHandshakeCompletes", + "maxWireVersion": 9, + "type": "command", + "response": { + "ok": 1, + "writeErrors": [ + { + "errmsg": "NotMasterNoSlaveOk", + "code": 13435 + } + ] + } + } + ], + "outcome": { + "servers": { + "a:27017": { + "type": "RSPrimary", + "setName": "rs", + "topologyVersion": { + "processId": { + "$oid": "000000000000000000000001" + }, + "counter": { + "$numberLong": "1" + } + }, + "pool": { + "generation": 0 + } + } + }, + "topologyType": "ReplicaSetWithPrimary", + "logicalSessionTimeoutMinutes": null, + "setName": "rs" + } + } + ] +} diff --git a/test/spec/server-discovery-and-monitoring/errors/write_errors_ignored.yml b/test/spec/server-discovery-and-monitoring/errors/write_errors_ignored.yml new file mode 100644 index 0000000000..e5eaf09651 --- /dev/null +++ b/test/spec/server-discovery-and-monitoring/errors/write_errors_ignored.yml @@ -0,0 +1,41 @@ +description: writeErrors field is ignored +uri: mongodb://a/?replicaSet=rs +phases: +- description: Primary A is discovered + responses: + - - a:27017 + - ok: 1 + ismaster: true + hosts: + - a:27017 + setName: rs + minWireVersion: 0 + maxWireVersion: 9 + topologyVersion: &topologyVersion_1_1 + processId: + "$oid": '000000000000000000000001' + counter: + "$numberLong": '1' + outcome: &outcome + servers: + a:27017: + type: RSPrimary + setName: rs + topologyVersion: *topologyVersion_1_1 + pool: + generation: 0 + topologyType: ReplicaSetWithPrimary + logicalSessionTimeoutMinutes: null + setName: rs + +- description: Ignore command error with writeErrors field + applicationErrors: + - address: a:27017 + when: afterHandshakeCompletes + maxWireVersion: 9 + type: command + response: + ok: 1 + writeErrors: + - { errmsg: NotMasterNoSlaveOk, code: 13435 } + outcome: *outcome