]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/blame - tests/helper.py
Add increasing delay to fetching cryptoportfolio
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git] / tests / helper.py
CommitLineData
c682bdf4
IB
1import sys
2import unittest
3from decimal import Decimal as D
4from unittest import mock
5import requests_mock
6from io import StringIO
30700830 7import portfolio, market, main, store, dbs
c682bdf4 8
3080f31d 9__all__ = ["limits", "unittest", "WebMockTestCase", "mock", "D",
c682bdf4
IB
10 "StringIO"]
11
3080f31d
IB
12limits = ["acceptance", "unit"]
13for test_type in limits:
14 if "--no{}".format(test_type) in sys.argv:
15 sys.argv.remove("--no{}".format(test_type))
16 limits.remove(test_type)
17 if "--only{}".format(test_type) in sys.argv:
18 sys.argv.remove("--only{}".format(test_type))
19 limits = [test_type]
20 break
21
c682bdf4
IB
22class WebMockTestCase(unittest.TestCase):
23 import time
24
25 def market_args(self, debug=False, quiet=False, report_path=None, **kwargs):
26 return main.configargparse.Namespace(report_path=report_path,
27 debug=debug, quiet=quiet, **kwargs)
28
29 def setUp(self):
30 super().setUp()
31 self.wm = requests_mock.Mocker()
32 self.wm.start()
33
34 # market
35 self.m = mock.Mock(name="Market", spec=market.Market)
36 self.m.debug = False
37
38 self.patchers = [
39 mock.patch.multiple(market.Portfolio,
40 data=store.LockedVar(None),
41 liquidities=store.LockedVar({}),
42 last_date=store.LockedVar(None),
43 report=mock.Mock(),
44 worker=None,
a0dcf4e0 45 worker_tag="",
c682bdf4
IB
46 worker_notify=None,
47 worker_started=False,
8f98e46a 48 poll_started_at=None,
c682bdf4
IB
49 callback=None),
50 mock.patch.multiple(portfolio.Computation,
51 computations=portfolio.Computation.computations),
30700830
IB
52 mock.patch.multiple(dbs,
53 redis=None, psql=None)
c682bdf4
IB
54 ]
55 for patcher in self.patchers:
56 patcher.start()
57
58 def tearDown(self):
59 for patcher in self.patchers:
60 patcher.stop()
61 self.wm.stop()
62 super().tearDown()
63