Skip to content

Commit ad00be9

Browse files
Merge pull request #5 from JaviCerveraIngram/master
Fixes and small changes.
2 parents 48d3c73 + 1b26abd commit ad00be9

File tree

7 files changed

+49
-27
lines changed

7 files changed

+49
-27
lines changed

connect/config.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ def check_credentials(api_url, api_key, products):
6161
'Not set value for `api_key` or `api_url`')
6262

6363
if products and not isinstance(products, (str, list)):
64-
raise TypeError('Products can be string or string list')
64+
raise TypeError('Products can be string or string list. Found type '
65+
+ type(products).__name__)
6566

6667
return
6768

connect/models/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from .activation_response import ActivationTemplateResponse, ActivationTileResponse
22
from .base import BaseScheme
33
from .fulfillment import FulfillmentScheme
4-
from .parameters import Param, ParamsScheme
4+
from .parameters import Param, ParamScheme
55
from .server_error import ServerErrorScheme
66

77
__all__ = [
@@ -11,5 +11,5 @@
1111
'FulfillmentScheme',
1212
'ServerErrorScheme',
1313
'Param',
14-
'ParamsScheme',
14+
'ParamScheme',
1515
]

connect/models/asset.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from .base import BaseObject, BaseScheme
44
from .connection import ConnectionScheme
5-
from .parameters import ParamsScheme
5+
from .parameters import ParamScheme
66
from .product import ItemScheme, ProductScheme
77
from .tiers import TiersSchemeMixin
88

@@ -20,7 +20,7 @@ class AssetScheme(BaseScheme):
2020
ConnectionScheme, only=('id', 'type', 'provider', 'vendor'),
2121
)
2222
items = fields.List(fields.Nested(ItemScheme))
23-
params = fields.List(fields.Nested(ParamsScheme))
23+
params = fields.List(fields.Nested(ParamScheme))
2424
tiers = fields.Nested(TiersSchemeMixin)
2525

2626
@post_load

connect/models/parameters.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class Param(BaseObject):
2020
pass
2121

2222

23-
class ParamsScheme(BaseScheme):
23+
class ParamScheme(BaseScheme):
2424
name = fields.Str()
2525
type = fields.Str()
2626
value = fields.Str()

example/example.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ def process_request(self, request):
2626
raise FulfillmentInquire(params=[param])
2727

2828
# approve by ActivationTile
29-
return ActivationTileResponse(tile='\n # Welcome to Fallball!\n\nYes, '
30-
'you decided to have an account in our amazing service!')
29+
return ActivationTileResponse(tile='\n # Welcome to Fallball!\n\nYes, you decided '
30+
'to have an account in our amazing service!')
3131
# or
3232
# return TemplateResource().render(pk='TEMPLATE_ID', request_id=request.id)
3333

tests/config.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"apiEndpoint": "http://localhost:8080/api/public/v1/",
3+
"apiKey": "ApiKey XXXX:YYYYY",
4+
"products": "CN-631-322-000"
5+
}

tests/test_config.py

Lines changed: 35 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,60 @@
11
# -*- coding: utf-8 -*-
22

3-
import json
4-
from connect.config import Config
53
import os
64

5+
import pytest
6+
7+
from connect.config import Config
8+
9+
710
conf_dict = {
811
'apiEndpoint': 'http://localhost:8080/api/public/v1/',
912
'apiKey': 'ApiKey XXXX:YYYYY',
1013
'products': 'CN-631-322-000'
1114
}
12-
file_name = 'test_config.json'
1315

1416

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__)))
1920

2021

21-
def _reset_config():
22+
def teardown_module(module):
23+
os.chdir(module.prev_dir)
24+
25+
26+
def teardown_function():
2227
Config.api_url, Config.api_key, Config.products = None, None, None
2328

2429

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')
2933

30-
Config(file=file_path)
31-
os.remove(file_path)
3234

33-
_assert_config()
34-
_reset_config()
35+
def test_init_config_with_file():
36+
config = Config(file='config.json')
37+
_assert_config(config)
3538

3639

3740
def test_set_config():
38-
Config(
41+
config = Config(
3942
api_key=conf_dict.get('apiKey'),
4043
api_url=conf_dict.get('apiEndpoint'),
4144
products=conf_dict.get('products'),
4245
)
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

Comments
 (0)