]>
git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Trader.git/blob - tests/helper.py
c8e724d060c6896583bf87e17fa793e7bf9204eb
3 from decimal
import Decimal
as D
4 from unittest
import mock
6 from io
import StringIO
7 import portfolio
, market
, main
, store
, dbs
8 from datetime
import timezone
, timedelta
10 __all__
= ["limits", "unittest", "WebMockTestCase", "mock", "D",
13 limits
= ["acceptance", "unit"]
14 for test_type
in limits
:
15 if "--no{}".format(test_type
) in sys
.argv
:
16 sys
.argv
.remove("--no{}".format(test_type
))
17 limits
.remove(test_type
)
18 if "--only{}".format(test_type
) in sys
.argv
:
19 sys
.argv
.remove("--only{}".format(test_type
))
24 return datetime
.timezone(datetime
.timedelta(hours
=hours
))
26 class WebMockTestCase(unittest
.TestCase
):
29 def market_args(self
, debug
=False, quiet
=False, report_path
=None, **kwargs
):
30 return main
.configargparse
.Namespace(report_path
=report_path
,
31 debug
=debug
, quiet
=quiet
, **kwargs
)
35 self
.wm
= requests_mock
.Mocker()
39 self
.m
= mock
.Mock(name
="Market", spec
=market
.Market
)
43 mock
.patch
.multiple(market
.Portfolio
,
44 data
=store
.LockedVar(None),
45 liquidities
=store
.LockedVar({}),
46 last_date
=store
.LockedVar(None),
54 mock
.patch
.multiple(portfolio
.Computation
,
55 computations
=portfolio
.Computation
.computations
),
56 mock
.patch
.multiple(dbs
,
57 redis
=None, psql
=None)
59 for patcher
in self
.patchers
:
63 for patcher
in self
.patchers
: