|
1 | 1 | # -*- coding: utf-8 -*- |
2 | 2 |
|
3 | | -import json |
4 | | -from connect.config import Config |
5 | 3 | import os |
6 | 4 |
|
| 5 | +import pytest |
| 6 | + |
| 7 | +from connect.config import Config |
| 8 | + |
| 9 | + |
7 | 10 | conf_dict = { |
8 | 11 | 'apiEndpoint': 'http://localhost:8080/api/public/v1/', |
9 | 12 | 'apiKey': 'ApiKey XXXX:YYYYY', |
10 | 13 | 'products': 'CN-631-322-000' |
11 | 14 | } |
12 | | -file_name = 'test_config.json' |
13 | 15 |
|
14 | 16 |
|
15 | | -def _assert_config(): |
16 | | - assert Config.api_key == conf_dict.get('apiKey') |
17 | | - assert Config.api_url == conf_dict.get('apiEndpoint') |
18 | | - assert Config.products == [conf_dict.get('products')] |
| 17 | +def setup_module(module): |
| 18 | + module.prev_dir = os.getcwd() |
| 19 | + os.chdir(os.path.dirname(os.path.abspath(__file__))) |
19 | 20 |
|
20 | 21 |
|
21 | | -def _reset_config(): |
| 22 | +def teardown_module(module): |
| 23 | + os.chdir(module.prev_dir) |
| 24 | + |
| 25 | + |
| 26 | +def teardown_function(): |
22 | 27 | Config.api_url, Config.api_key, Config.products = None, None, None |
23 | 28 |
|
24 | 29 |
|
25 | | -def test_init_config_from_json_file(): |
26 | | - file_path = os.path.join(os.path.dirname(__file__), file_name) |
27 | | - with open(file_path, 'w') as output: |
28 | | - output.write(json.dumps(conf_dict)) |
| 30 | +def test_init_config_with_non_existing_file(): |
| 31 | + with pytest.raises(IOError): |
| 32 | + Config(file='non_existing_config.json') |
29 | 33 |
|
30 | | - Config(file=file_path) |
31 | | - os.remove(file_path) |
32 | 34 |
|
33 | | - _assert_config() |
34 | | - _reset_config() |
| 35 | +def test_init_config_with_file(): |
| 36 | + config = Config(file='config.json') |
| 37 | + _assert_config(config) |
35 | 38 |
|
36 | 39 |
|
37 | 40 | def test_set_config(): |
38 | | - Config( |
| 41 | + config = Config( |
39 | 42 | api_key=conf_dict.get('apiKey'), |
40 | 43 | api_url=conf_dict.get('apiEndpoint'), |
41 | 44 | products=conf_dict.get('products'), |
42 | 45 | ) |
43 | | - _assert_config() |
44 | | - _reset_config() |
| 46 | + _assert_config(config) |
| 47 | + |
| 48 | + |
| 49 | +def _assert_config(config=None): |
| 50 | + assert Config.api_key == conf_dict.get('apiKey') |
| 51 | + assert Config.api_url == conf_dict.get('apiEndpoint') |
| 52 | + assert isinstance(Config.products, list) |
| 53 | + assert len(Config.products) == 1 |
| 54 | + assert Config.products == [conf_dict.get('products')] |
| 55 | + if config: |
| 56 | + assert config.api_key == conf_dict.get('apiKey') |
| 57 | + assert config.api_url == conf_dict.get('apiEndpoint') |
| 58 | + assert isinstance(config.products, list) |
| 59 | + assert len(config.products) == 1 |
| 60 | + assert config.products == [conf_dict.get('products')] |
0 commit comments