From be8ebf2667b862f7c83aa79dd71eb46e59ac879f Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Fri, 9 Aug 2019 12:07:59 +0930 Subject: [PATCH] pytest: fix btcproxy mock logic. You're supposed to be able to hand mock_rpc either a function to call, or a dict canned response. We never did the latter, and the logic was broken. It was testing the key, not the value for whether it was a dict. And it could never have given a valid response anyway, since it wouldn't know the id to use. So assume it's a successful result. Signed-off-by: Rusty Russell --- tests/btcproxy.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/btcproxy.py b/tests/btcproxy.py index 72b8c5069..3746ed3e3 100644 --- a/tests/btcproxy.py +++ b/tests/btcproxy.py @@ -40,9 +40,13 @@ class BitcoinRpcProxy(object): # If we have set a mock for this method reply with that instead of # forwarding the request. - if method in self.mocks and type(method) == dict: + if method in self.mocks and type(self.mocks[method]) == dict: + ret = {} + ret['id'] = r['id'] + ret['error'] = None + ret['result'] = self.mocks[method] self.mock_counts[method] += 1 - return self.mocks[method] + return ret elif method in self.mocks and callable(self.mocks[method]): self.mock_counts[method] += 1 return self.mocks[method](r)