'Calling :method:`respond` causes the deferred deferred returned by
:method:`callRemote` to fire with the result of the underlying client.'

def test_forwards_response(self):

    expected_arguments = {'argument': 42}
    expected_response = {'response': 7}
    client = FakeAMPClient()
    client.register_response(TestCommand, expected_arguments, expected_response)
    delayed_client = DelayedAMPClient(client)
    d = delayed_client.callRemote(TestCommand, **expected_arguments)
    delayed_client.respond()
    self.assertEqual(self.successResultOf(d), expected_response)
