'Lose the connection to a server and pump the L{IOPump} sufficiently for
the client to handle the lost connection. Asserts that the client
disconnects its transport.
@param server: The SSH server protocol over which C{protocol} is
running.
@type server: L{IProtocol} provider
@param client: The SSH client protocol over which C{protocol} is
running.
@type client: L{IProtocol} provider
@param protocol: The protocol created by calling connect on the ssh
endpoint under test.
@type protocol: L{IProtocol} provider
@param pump: The L{IOPump} connecting client to server.
@type pump: L{IOPump}'

def loseConnectionToServer(self, server, client, protocol, pump):

    closed = self.record(server, protocol, 'closed', noArgs=True)
    protocol.transport.loseConnection()
    pump.pump()
    self.assertEqual([None], closed)
    pump.pump()
    client.transport.reportDisconnect()
