-
Notifications
You must be signed in to change notification settings - Fork 143
Open
Description
If the 'persistent' argument is used in a request, StubTreq will throw exception "an unexpected keyword argument 'persistent'".
hieu@hieu-VirtualBox:~/workspace/treq$ python3 -m twisted.trial subtreq_issue.TestClientWrapper
subtreq_issue
TestClientWrapper
test_get ... [ERROR]
===============================================================================
[ERROR]
Traceback (most recent call last):
File "/home/hieu/workspace/treq/subtreq_issue.py", line 40, in test_get
stub_content = yield ClientWrapper(stub_treq).get(url, persistent=False)
File "/home/hieu/.local/lib/python3.8/site-packages/twisted/internet/defer.py", line 1697, in _inlineCallbacks
result = context.run(gen.send, result)
File "/home/hieu/workspace/treq/subtreq_issue.py", line 15, in get
resp = yield self.client.get(url, persistent=persistent)
File "/home/hieu/.local/lib/python3.8/site-packages/treq/testing.py", line 219, in wrapper
return f(*args, **kwargs)
File "/home/hieu/.local/lib/python3.8/site-packages/treq/client.py", line 161, in get
return self.request('GET', url, **kwargs)
builtins.TypeError: request() got an unexpected keyword argument 'persistent'
subtreq_issue.TestClientWrapper.test_get
-------------------------------------------------------------------------------
Ran 1 tests in 0.010s
FAILED (errors=1)
It's ok if we use treq rather than StubTreq. In the source code of treq, it will pop that argument out before passing argument to the "request" function:
https://github.com/twisted/treq/blob/release-22.2.0/src/treq/api.py#L220
def _client(kwargs):
agent = kwargs.pop("agent", None)
pool = kwargs.pop("pool", None)
persistent = kwargs.pop("persistent", None)
However, SubTreq didn't pop that argument so it led to this problem
Metadata
Metadata
Assignees
Labels
No labels