else:
return origin_request(path, **kwargs)
+ def __init__(self, *args, **kwargs):
+ super(poloniexE, self).__init__(*args, **kwargs)
+
+ # For requests logging
+ self.session.origin_request = self.session.request
+ self.session._parent = self
+
+ def request_wrap(self, *args, **kwargs):
+ r = self.origin_request(*args, **kwargs)
+ self._parent._market.report.log_http_request(args[0],
+ args[1], kwargs["data"], kwargs["headers"], r)
+ return r
+ self.session.request = request_wrap.__get__(self.session,
+ self.session.__class__)
+
@staticmethod
def nanoseconds():
return int(time.time() * 1000000000)
ccxt_instance = ccxt.poloniexE(config)
- # For requests logging
- ccxt_instance.session.origin_request = ccxt_instance.session.request
- ccxt_instance.session._parent = ccxt_instance
-
- def request_wrap(self, *args, **kwargs):
- r = self.origin_request(*args, **kwargs)
- self._parent._market.report.log_http_request(args[0],
- args[1], kwargs["data"], kwargs["headers"], r)
- return r
- ccxt_instance.session.request = request_wrap.__get__(ccxt_instance.session,
- ccxt_instance.session.__class__)
-
return cls(ccxt_instance, args, **kwargs)
def store_report(self):
self.wm.stop()
super(poloniexETest, self).tearDown()
+ def test__init(self):
+ with mock.patch("market.ccxt.poloniexE.session") as session:
+ session.request.return_value = "response"
+ ccxt = market.ccxt.poloniexE()
+ ccxt._market = mock.Mock
+ ccxt._market.report = mock.Mock()
+
+ ccxt.session.request("GET", "URL", data="data",
+ headers="headers")
+ ccxt._market.report.log_http_request.assert_called_with('GET', 'URL', 'data',
+ 'headers', 'response')
+
def test_nanoseconds(self):
with mock.patch.object(market.ccxt.time, "time") as time:
time.return_value = 123456.7890123456
def test_from_config(self, ccxt):
with mock.patch("market.ReportStore"):
ccxt.poloniexE.return_value = self.ccxt
- self.ccxt.session.request.return_value = "response"
m = market.Market.from_config({"key": "key", "secred": "secret"}, self.market_args())
self.assertEqual(self.ccxt, m.ccxt)
- self.ccxt.session.request("GET", "URL", data="data",
- headers="headers")
- m.report.log_http_request.assert_called_with('GET', 'URL', 'data',
- 'headers', 'response')
-
m = market.Market.from_config({"key": "key", "secred": "secret"}, self.market_args(debug=True))
self.assertEqual(True, m.debug)