def test_login(): client = HttpClient() raw_args = { 'method': 'auth.login', 'params': ['deluge'], 'id': 0, } d = client.post('http://localhost:8112/json', DelugeWebUIBodyProducer('auth.login', ['deluge'])) def parse_response(response): pprint.pprint(response) def on_post_success(result): assert result.code == 200 finished = Deferred() finished.addCallback(parse_response) pprint.pprint(list(result.headers.getAllRawHeaders())) reader = SimpleContentProtocol(finished, json.loads) result.deliverBody(reader) return finished d.addCallback(on_post_success) return d