The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
description: "Mongos disconnect"

uri: "mongodb://a,b"

phases: [

    {
        responses: [

                ["a:27017", {

                    ok: 1,
                    ismaster: true,
                    msg: "isdbgrid"
                }],

                ["b:27017", {

                    ok: 1,
                    ismaster: true,
                    msg: "isdbgrid"
                }]
        ],

        outcome: {

            servers: {

                "a:27017": {

                    type: "Mongos",
                    setName:
                },

                "b:27017": {

                    type: "Mongos",
                    setName:
                }
            },

            topologyType: "Sharded",
            setName:
        }
    },
    {
        responses: [
                ["a:27017", {}],  # Hangup.
        ],

        outcome: {

            servers: {

                "a:27017": {

                    type: "Unknown",
                    setName:
                },

                "b:27017": {

                    type: "Mongos",
                    setName:
                }
            },

            topologyType: "Sharded",
            setName:
        }
    },
    {
        responses: [
                # Back in action.
                ["a:27017", {

                    ok: 1,
                    ismaster: true,
                    msg: "isdbgrid"
                }],
        ],

        outcome: {

            servers: {

                "a:27017": {

                    type: "Mongos",
                    setName:
                },

                "b:27017": {

                    type: "Mongos",
                    setName:
                }
            },

            topologyType: "Sharded",
            setName:
        }
    }
]