description: "Multiple RSOther responses with different servers in each"
uri: "mongodb://a,x/"
phases:
  # Phase 1
  - responses: []
    outcome:
      events:
        -
          topology_opening_event:
            topologyId: "42"
        -
          topology_description_changed_event:
            topologyId: "42"
            previousDescription:
              topologyType: "Unknown"
              servers: []
            newDescription:
              topologyType: "Unknown"
              servers:
                -
                  address: "a:27017"
                  arbiters: []
                  hosts: []
                  passives: []
                  type: "Unknown"
                -
                  address: "x:27017"
                  arbiters: []
                  hosts: []
                  passives: []
                  type: "Unknown"
        -
          server_opening_event:
            topologyId: "42"
            address: "a:27017"
        -
          server_opening_event:
            topologyId: "42"
            address: "x:27017"
  
  # Phase 2 - first response from hidden member that thinks b is the primary
  -
    responses:
      -
        - "a:27017"
        - {
            ok: 1,
            ismaster: false,
            hidden: true,
            setName: "rs",
            setVersion: 1.0,
            primary: "b:27017",
            hosts: [ "b:27017" ],
            minWireVersion: 0,
            maxWireVersion: 4
          }
    outcome:
      events:
        -
          server_description_changed_event:
            topologyId: "42"
            address: "a:27017"
            previousDescription:
              address: "a:27017"
              arbiters: []
              hosts: []
              passives: []
              type: "Unknown"
            newDescription:
              address: "a:27017"
              arbiters: []
              hosts: [ "b:27017" ]
              passives: []
              primary: "b:27017"
              setName: "rs"
              type: "RSOther"
        -
          topology_description_changed_event:
            topologyId: "42"
            previousDescription:
              topologyType: "Unknown"
              servers:
                -
                  address: "a:27017"
                  arbiters: []
                  hosts: []
                  passives: []
                  type: "Unknown"
                -
                  address: "x:27017"
                  arbiters: []
                  hosts: []
                  passives: []
                  type: "Unknown"
            newDescription:
              topologyType: "ReplicaSetNoPrimary"
              setName: "rs"
              servers:
                -
                  address: "a:27017"
                  arbiters: []
                  hosts: [ "b:27017" ]
                  passives: []
                  primary: "b:27017"
                  setName: "rs"
                  type: "RSOther"
                -
                  address: "b:27017"
                  arbiters: []
                  hosts: []
                  passives: []
                  type: "Unknown"
                -
                  address: "x:27017"
                  arbiters: []
                  hosts: []
                  passives: []
                  type: "Unknown"
        -
          server_opening_event:
            topologyId: "42"
            address: "b:27017"

  # Phase 3 - second response from b which is also hidden, thinks c is primary
  -
    responses:
      -
        - "b:27017"
        - {
            ok: 1,
            ismaster: false,
            hidden: true,
            setName: "rs",
            setVersion: 1.0,
            primary: "c:27017",
            hosts: [ "c:27017" ],
            minWireVersion: 0,
            maxWireVersion: 4
          }
    outcome:
      events:
        -
          server_description_changed_event:
            topologyId: "42"
            address: "b:27017"
            previousDescription:
              address: "b:27017"
              arbiters: []
              hosts: []
              passives: []
              type: "Unknown"
            newDescription:
              address: "b:27017"
              arbiters: []
              hosts: [ "c:27017" ]
              passives: []
              primary: "c:27017"
              setName: "rs"
              type: "RSOther"
        -
          topology_description_changed_event:
            topologyId: "42"
            previousDescription:
              topologyType: "ReplicaSetNoPrimary"
              setName: "rs"
              servers:
                -
                  address: "a:27017"
                  arbiters: []
                  hosts: [ "b:27017" ]
                  passives: []
                  primary: "b:27017"
                  setName: "rs"
                  type: "RSOther"
                -
                  address: "b:27017"
                  arbiters: []
                  hosts: []
                  passives: []
                  type: "Unknown"
                -
                  address: "x:27017"
                  arbiters: []
                  hosts: []
                  passives: []
                  type: "Unknown"
            newDescription:
              topologyType: "ReplicaSetNoPrimary"
              setName: "rs"
              servers:
                -
                  address: "a:27017"
                  arbiters: []
                  hosts: [ "b:27017" ]
                  passives: []
                  primary: "b:27017"
                  setName: "rs"
                  type: "RSOther"
                -
                  address: "b:27017"
                  arbiters: []
                  hosts: [ "c:27017" ]
                  passives: []
                  primary: "c:27017"
                  setName: "rs"
                  type: "RSOther"
                -
                  address: "c:27017"
                  arbiters: []
                  hosts: []
                  passives: []
                  type: "Unknown"
                -
                  address: "x:27017"
                  arbiters: []
                  hosts: []
                  passives: []
                  type: "Unknown"
        -
          server_opening_event:
            topologyId: "42"
            address: "c:27017"
