- portfolio.Portfolio.parse_cryptoportfolio(self.m)
-
- self.assertListEqual(
- ["medium", "high"],
- list(portfolio.Portfolio.liquidities.keys()))
-
- liquidities = portfolio.Portfolio.liquidities
- self.assertEqual(10, len(liquidities["medium"].keys()))
- self.assertEqual(10, len(liquidities["high"].keys()))
-
- expected = {
- 'BTC': (D("0.2857"), "long"),
- 'DGB': (D("0.1015"), "long"),
- 'DOGE': (D("0.1805"), "long"),
- 'SC': (D("0.0623"), "long"),
- 'ZEC': (D("0.3701"), "long"),
- }
- date = portfolio.datetime(2018, 1, 8)
- self.assertDictEqual(expected, liquidities["high"][date])
-
- expected = {
- 'BTC': (D("1.1102e-16"), "long"),
- 'ETC': (D("0.1"), "long"),
- 'FCT': (D("0.1"), "long"),
- 'GAS': (D("0.1"), "long"),
- 'NAV': (D("0.1"), "long"),
- 'OMG': (D("0.1"), "long"),
- 'OMNI': (D("0.1"), "long"),
- 'PPC': (D("0.1"), "long"),
- 'RIC': (D("0.1"), "long"),
- 'VIA': (D("0.1"), "long"),
- 'XCP': (D("0.1"), "long"),
- }
- self.assertDictEqual(expected, liquidities["medium"][date])
- self.assertEqual(portfolio.datetime(2018, 1, 15), portfolio.Portfolio.last_date)
-
- self.m.report.log_http_request.assert_called_once_with("GET",
- portfolio.Portfolio.URL, None, mock.ANY, mock.ANY)
- self.m.report.log_http_request.reset_mock()
-
- # It doesn't refetch the data when available
- portfolio.Portfolio.parse_cryptoportfolio(self.m)
- self.m.report.log_http_request.assert_not_called()
-
- self.assertEqual(1, self.wm.call_count)
-
- portfolio.Portfolio.parse_cryptoportfolio(self.m, refetch=True)
- self.assertEqual(2, self.wm.call_count)
- self.m.report.log_http_request.assert_called_once()
-
- def test_repartition(self):
- expected_medium = {
- 'BTC': (D("1.1102e-16"), "long"),
- 'USDT': (D("0.1"), "long"),
- 'ETC': (D("0.1"), "long"),
- 'FCT': (D("0.1"), "long"),
- 'OMG': (D("0.1"), "long"),
- 'STEEM': (D("0.1"), "long"),
- 'STRAT': (D("0.1"), "long"),
- 'XEM': (D("0.1"), "long"),
- 'XMR': (D("0.1"), "long"),
- 'XVC': (D("0.1"), "long"),
- 'ZRX': (D("0.1"), "long"),
- }
- expected_high = {
- 'USDT': (D("0.1226"), "long"),
- 'BTC': (D("0.1429"), "long"),
- 'ETC': (D("0.1127"), "long"),
- 'ETH': (D("0.1569"), "long"),
- 'FCT': (D("0.3341"), "long"),
- 'GAS': (D("0.1308"), "long"),
- }