]>
Commit | Line | Data |
---|---|---|
1 | import sys | |
2 | import unittest | |
3 | from decimal import Decimal as D | |
4 | from unittest import mock | |
5 | import requests_mock | |
6 | from io import StringIO | |
7 | import portfolio, market, main, store | |
8 | ||
9 | __all__ = ["unittest", "WebMockTestCase", "mock", "D", | |
10 | "StringIO"] | |
11 | ||
12 | class WebMockTestCase(unittest.TestCase): | |
13 | import time | |
14 | ||
15 | def market_args(self, debug=False, quiet=False, report_path=None, **kwargs): | |
16 | return main.configargparse.Namespace(report_path=report_path, | |
17 | debug=debug, quiet=quiet, **kwargs) | |
18 | ||
19 | def setUp(self): | |
20 | super().setUp() | |
21 | self.wm = requests_mock.Mocker() | |
22 | self.wm.start() | |
23 | ||
24 | # market | |
25 | self.m = mock.Mock(name="Market", spec=market.Market) | |
26 | self.m.debug = False | |
27 | ||
28 | self.patchers = [ | |
29 | mock.patch.multiple(market.Portfolio, | |
30 | data=store.LockedVar(None), | |
31 | liquidities=store.LockedVar({}), | |
32 | last_date=store.LockedVar(None), | |
33 | report=mock.Mock(), | |
34 | worker=None, | |
35 | worker_tag="", | |
36 | worker_notify=None, | |
37 | worker_started=False, | |
38 | callback=None), | |
39 | mock.patch.multiple(portfolio.Computation, | |
40 | computations=portfolio.Computation.computations), | |
41 | ] | |
42 | for patcher in self.patchers: | |
43 | patcher.start() | |
44 | ||
45 | def tearDown(self): | |
46 | for patcher in self.patchers: | |
47 | patcher.stop() | |
48 | self.wm.stop() | |
49 | super().tearDown() | |
50 |