Skip to content

Commit 28d0c6a

Browse files
author
Elias Nygren
authored
Merge pull request #24 from UpCloudLtd/0.3.6-test
0.3.6 final improvements
2 parents cc12a84 + 7567dce commit 28d0c6a

File tree

15 files changed

+104
-55
lines changed

15 files changed

+104
-55
lines changed

test/conftest.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
from __future__ import print_function
33
from __future__ import division
44
from __future__ import absolute_import
5-
from builtins import object, open
65
import json
76
import os
87
import pytest

test/test_integration/test_integration_test.py

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -34,26 +34,21 @@
3434
def teardown_module(module):
3535
manager = CloudManager(USERNAME, PASSWORD, timeout=120)
3636

37-
try:
38-
# if we are at CIRCLECI, clean up everything
39-
# useful as we don't want to manually clean anything after erroneous builds
40-
if os.environ.get('CIRCLECI', False):
41-
for server in manager.get_servers():
42-
server.stop_and_destroy()
43-
44-
for tag in manager.get_tags():
45-
tag.destroy()
46-
else:
47-
print('removing {}'.format(CREATED_SERVERS))
48-
for server in CREATED_SERVERS:
49-
server.stop_and_destroy()
50-
51-
print('removing {}'.format(CREATED_TAGS))
52-
for tag in CREATED_TAGS:
53-
manager.delete_tag(tag)
54-
55-
except Exception as e:
56-
raise Exception('Cleanup failed due to: {}'.format(e))
37+
# if we are at CIRCLECI, clean up everything
38+
if os.environ.get('CIRCLECI', False):
39+
for server in manager.get_servers():
40+
server.stop_and_destroy()
41+
42+
for tag in manager.get_tags():
43+
tag.destroy()
44+
else:
45+
print('removing {}'.format(CREATED_SERVERS))
46+
for server in CREATED_SERVERS:
47+
server.stop_and_destroy()
48+
49+
print('removing {}'.format(CREATED_TAGS))
50+
for tag in CREATED_TAGS:
51+
manager.delete_tag(tag)
5752

5853

5954
@integration_test

test/test_server.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
from __future__ import print_function
33
from __future__ import division
44
from __future__ import absolute_import
5-
from builtins import str
65

76
from conftest import Mock
87
import pytest

test/test_storage.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
from __future__ import print_function
33
from __future__ import division
44
from __future__ import absolute_import
5-
from builtins import object
65

76
from conftest import Mock
87
import responses

test/test_tags.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
from __future__ import print_function
33
from __future__ import division
44
from __future__ import absolute_import
5-
from builtins import list, str, dict
5+
6+
import six
67

78
from upcloud_api import Tag
89

@@ -21,10 +22,10 @@ def tag_post_callback(request):
2122
if 'servers' in request_body['tag']:
2223
assert isinstance(request_body['tag']['servers'], dict)
2324
assert isinstance(request_body['tag']['servers']['server'], list)
24-
assert isinstance(request_body['tag']['servers']['server'][0], str)
25+
assert isinstance(request_body['tag']['servers']['server'][0], six.string_types)
2526

2627
if 'description' in request_body['tag']:
27-
assert isinstance(request_body['tag']['description'], str)
28+
assert isinstance(request_body['tag']['description'], six.string_types)
2829

2930
return(201, {}, json.dumps(request_body))
3031

upcloud_api/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
__license__ = 'MIT'
1414
__copyright__ = 'Copyright (c) 2015 Elias Nygren'
1515

16+
from upcloud_api.errors import UpCloudAPIError
1617
from upcloud_api.storage import Storage
1718
from upcloud_api.ip_address import IP_address
1819
from upcloud_api.server import Server, login_user_block

upcloud_api/base.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
from __future__ import unicode_literals
2+
23
import json
34
import requests
45

6+
from upcloud_api import UpCloudAPIError
7+
58

69
class BaseAPI(object):
710
"""
@@ -65,6 +68,8 @@ def __error_middleware(self, res, res_json):
6568
Middleware that raises an exception when HTTP statuscode is an error code.
6669
"""
6770
if(res.status_code in [400, 401, 402, 403, 404, 405, 406, 409]):
68-
raise Exception(res_json)
71+
err_dict = res_json.get('error', {})
72+
raise UpCloudAPIError(error_code=err_dict.get('error_code'),
73+
error_message=err_dict.get('error_message'))
6974

7075
return res_json

upcloud_api/cloud_manager/ip_address_mixin.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
from __future__ import print_function
33
from __future__ import division
44
from __future__ import absolute_import
5-
from builtins import str
5+
6+
import six
67

78
from upcloud_api import IP_address
89

@@ -33,7 +34,7 @@ def attach_IP(self, server, family='IPv4'):
3334
"""
3435
Attach a new (random) IP_address to the given server (object or UUID).
3536
"""
36-
if not isinstance(server, str):
37+
if not isinstance(server, six.string_types):
3738
server = server.uuid
3839

3940
body = {
@@ -52,7 +53,7 @@ def modify_IP(self, IP_addr, ptr_record):
5253
5354
Accepts an IP_address instance (object) or its address (string).
5455
"""
55-
if not isinstance(IP_addr, str):
56+
if not isinstance(IP_addr, six.string_types):
5657
IP_addr = IP_addr.address
5758

5859
body = {
@@ -70,7 +71,7 @@ def release_IP(self, IP_addr):
7071
7172
Accepts an IP_address instance (object) or its address (string).
7273
"""
73-
if not isinstance(IP_addr, str):
74+
if not isinstance(IP_addr, six.string_types):
7475
IP_addr = IP_addr.address
7576

7677
return self.request('DELETE', '/ip_address/' + IP_addr)

upcloud_api/cloud_manager/server_mixin.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
from __future__ import print_function
33
from __future__ import division
44
from __future__ import absolute_import
5-
from builtins import str
65

76
from upcloud_api import IP_address, Server, Storage
87
from upcloud_api.tools import assignIfExists

upcloud_api/cloud_manager/tag_mixin.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
from __future__ import print_function
33
from __future__ import division
44
from __future__ import absolute_import
5-
from builtins import str
5+
6+
import six
7+
68
from upcloud_api import Tag
79

810

@@ -80,7 +82,7 @@ def remove_tags(self, server, tags):
8082

8183
def delete_tag(self, tag):
8284
"""Delete the Tag. Returns and empty object."""
83-
if not isinstance(tag, str):
85+
if not isinstance(tag, six.string_types):
8486
tag = tag.name
8587

8688
return self.request('DELETE', '/tag/' + tag)

0 commit comments

Comments
 (0)