<commit_before>description: Do not check errmsg when code exists
uri: mongodb://a/?replicaSet=rs
phases:
- description: Primary A is discovered
  responses:
  - - a:27017
    - ok: 1
      helloOk: true
      isWritablePrimary: 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: errmsg "not writable primary" gets ignored when error code exists
  applicationErrors:
  - address: a:27017
    when: afterHandshakeCompletes
    maxWireVersion: 9
    type: command
    response:
      ok: 0
      errmsg: "not writable primary"
      code: 1  # Not a "not writable primary" error code.
  outcome: *outcome

- description: errmsg "node is recovering" gets ignored when error code exists
  applicationErrors:<commit_msg>RUBY-2848 update spec tests (#2385)<commit_after>description: Do not check errmsg when code exists
uri: mongodb://a/?replicaSet=rs
phases:
- description: Primary A is discovered
  responses:
  - - a:27017
    - ok: 1
      helloOk: true
      isWritablePrimary: 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: errmsg "not master" gets ignored when error code exists
  applicationErrors:
  - address: a:27017
    when: afterHandshakeCompletes
    maxWireVersion: 9
    type: command
    response:
      ok: 0
      errmsg: "not master"  # NOTE: This needs to be "not master" and not "not writable primary".
      code: 1  # Not a "not writable primary" error code.
  outcome: *outcome

- description: errmsg "node is recovering" gets ignored when error code exists
  applicationErrors:
{'fraction_non_alphanumeric': 0.07376058041112454, 'fraction_numerical': 0.04836759371221282, 'mean_word_length': 2.6339677891654465, 'pattern_counts': {'":': 4, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 2, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1787053', 'n_tokens_mistral': 830, 'n_tokens_neox': 746, 'n_words': 231}