Skip to content

Commit 2ee612b

Browse files
author
Elias Nygren
authored
Merge pull request #16 from UpCloudLtd/0.3.4-devel
0.3.4 devel
2 parents a7ef273 + cc7cb35 commit 2ee612b

File tree

10 files changed

+974
-858
lines changed

10 files changed

+974
-858
lines changed

.editorconfig

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# EditorConfig helps developers define and maintain consistent
2+
# coding styles between different editors and IDEs
3+
# editorconfig.org
4+
5+
root = true
6+
7+
8+
[*]
9+
charset = utf-8
10+
end_of_line = lf
11+
indent_size = 2
12+
indent_style = space
13+
insert_final_newline = true
14+
trim_trailing_whitespace = true
15+
16+
[*.md]
17+
trim_trailing_whitespace = false

requirements-dev.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
pytest==2.6.4
2+
py==1.4.26

requirements.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
future==0.14.3
22
mock==1.0.1
3-
py==1.4.26
4-
pytest==2.6.4
53
requests==2.6.0
64
responses==0.3.0
75
six==1.9.0

setup.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
setup(
66
name='upcloud-api',
7-
version='0.3.3',
7+
version='0.3.4',
88
description='UpCloud API Client',
99
author='Elias Nygren',
1010
author_email='elias.nygren@upcloud.com',
@@ -17,8 +17,6 @@
1717
install_requires=[
1818
'future==0.14.3',
1919
'mock==1.0.1',
20-
'py==1.4.26',
21-
'pytest==2.6.4',
2220
'requests==2.6.0',
2321
'responses==0.3.0',
2422
'six==1.9.0',

test/test_server.py

Lines changed: 125 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -10,139 +10,139 @@
1010
import json, pytest, responses
1111

1212
class TestServer(object):
13-
@responses.activate
14-
def test_get_server(self, manager):
15-
data = Mock.mock_get("server/00798b85-efdc-41ca-8021-f6ef457b8531")
16-
server = manager.get_server("00798b85-efdc-41ca-8021-f6ef457b8531")
17-
18-
assert type(server).__name__ == "Server"
19-
assert server.uuid == "00798b85-efdc-41ca-8021-f6ef457b8531"
20-
21-
@responses.activate
22-
def test_get_unpopulated_servers(self, manager):
23-
data = Mock.mock_get("server")
24-
servers = manager.get_servers()
13+
@responses.activate
14+
def test_get_server(self, manager):
15+
data = Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
16+
server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')
17+
18+
assert type(server).__name__ == 'Server'
19+
assert server.uuid == '00798b85-efdc-41ca-8021-f6ef457b8531'
20+
21+
@responses.activate
22+
def test_get_unpopulated_servers(self, manager):
23+
data = Mock.mock_get('server')
24+
servers = manager.get_servers()
2525

26-
for server in servers:
27-
assert type(server).__name__ == "Server"
28-
29-
@responses.activate
30-
def test_get_populated_servers(self, manager):
31-
data = Mock.mock_get("server")
32-
data = Mock.mock_get("server/00798b85-efdc-41ca-8021-f6ef457b8531")
33-
data = Mock.mock_get("server/009d64ef-31d1-4684-a26b-c86c955cbf46")
34-
servers = manager.get_servers(populate=True)
26+
for server in servers:
27+
assert type(server).__name__ == 'Server'
28+
29+
@responses.activate
30+
def test_get_populated_servers(self, manager):
31+
data = Mock.mock_get('server')
32+
data = Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
33+
data = Mock.mock_get('server/009d64ef-31d1-4684-a26b-c86c955cbf46')
34+
servers = manager.get_servers(populate=True)
3535

36-
for server in servers:
37-
assert type(server).__name__ == "Server"
36+
for server in servers:
37+
assert type(server).__name__ == 'Server'
3838

39-
@responses.activate
40-
def test_start_server(self, manager):
41-
data = Mock.mock_get("server/009d64ef-31d1-4684-a26b-c86c955cbf46")
42-
server = manager.get_server("009d64ef-31d1-4684-a26b-c86c955cbf46")
39+
@responses.activate
40+
def test_start_server(self, manager):
41+
data = Mock.mock_get('server/009d64ef-31d1-4684-a26b-c86c955cbf46')
42+
server = manager.get_server('009d64ef-31d1-4684-a26b-c86c955cbf46')
4343

44-
assert server.state == "stopped"
44+
assert server.state == 'stopped'
4545

46-
data = Mock.mock_server_operation("server/009d64ef-31d1-4684-a26b-c86c955cbf46/start")
47-
server.start()
48-
49-
assert server.state == "started"
50-
51-
@responses.activate
52-
def test_stop_server(self, manager):
53-
data = Mock.mock_get("server/00798b85-efdc-41ca-8021-f6ef457b8531")
54-
server = manager.get_server("00798b85-efdc-41ca-8021-f6ef457b8531")
55-
56-
assert server.state == "started"
57-
58-
data = Mock.mock_server_operation("server/00798b85-efdc-41ca-8021-f6ef457b8531/stop")
59-
server.stop()
60-
61-
assert server.state == "maintenance"
62-
63-
@responses.activate
64-
def test_restart_server(self, manager):
65-
data = Mock.mock_get("server/00798b85-efdc-41ca-8021-f6ef457b8531")
66-
server = manager.get_server("00798b85-efdc-41ca-8021-f6ef457b8531")
67-
68-
assert server.state == "started"
69-
70-
data = Mock.mock_server_operation("server/00798b85-efdc-41ca-8021-f6ef457b8531/restart")
71-
server.restart()
72-
73-
assert server.state == "maintenance"
74-
75-
@responses.activate
76-
def test_attach_and_detach_IP(self, manager):
77-
data = Mock.mock_get("server/00798b85-efdc-41ca-8021-f6ef457b8531")
78-
server = manager.get_server("00798b85-efdc-41ca-8021-f6ef457b8531")
79-
assert len(server.ip_addresses) == 2
80-
81-
data = Mock.mock_post("ip_address")
82-
server.add_IP()
83-
assert len(server.ip_addresses) == 3
84-
85-
Mock.mock_delete("ip_address/"+server.ip_addresses[2].address)
86-
server.remove_IP(server.ip_addresses[2])
87-
assert len(server.ip_addresses) == 2
88-
89-
@responses.activate
90-
def test_attach_and_detach_storage(self, manager):
91-
data = Mock.mock_get("server/00798b85-efdc-41ca-8021-f6ef457b8531")
92-
server = manager.get_server("00798b85-efdc-41ca-8021-f6ef457b8531")
93-
assert len(server.storage_devices) == 1
94-
assert server.storage_devices[0].title == "Storage for server1.example.com"
95-
96-
data = Mock.mock_get("storage/01d4fcd4-e446-433b-8a9c-551a1284952e")
97-
storage = manager.get_storage("01d4fcd4-e446-433b-8a9c-551a1284952e")
98-
99-
100-
responses.add(
101-
responses.POST,
102-
Mock.base_url + "/server/00798b85-efdc-41ca-8021-f6ef457b8531/storage/attach",
103-
body = Mock.read_from_file("storage_attach.json"),
104-
status = 200,
105-
content_type='application/json'
106-
)
107-
server.add_storage(storage)
108-
assert len(server.storage_devices) == 2
109-
assert server.storage_devices[0].title == "Storage for server1.example.com"
110-
assert server.storage_devices[1].title == "Operating system disk"
111-
112-
responses.add(
113-
responses.POST,
114-
Mock.base_url + "/server/00798b85-efdc-41ca-8021-f6ef457b8531/storage/detach",
115-
body = Mock.read_from_file("storage_attach.json"),
116-
status = 200,
117-
content_type='application/json'
118-
)
46+
data = Mock.mock_server_operation('server/009d64ef-31d1-4684-a26b-c86c955cbf46/start')
47+
server.start()
48+
49+
assert server.state == 'started'
50+
51+
@responses.activate
52+
def test_stop_server(self, manager):
53+
data = Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
54+
server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')
55+
56+
assert server.state == 'started'
57+
58+
data = Mock.mock_server_operation('server/00798b85-efdc-41ca-8021-f6ef457b8531/stop')
59+
server.stop()
60+
61+
assert server.state == 'maintenance'
62+
63+
@responses.activate
64+
def test_restart_server(self, manager):
65+
data = Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
66+
server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')
67+
68+
assert server.state == 'started'
69+
70+
data = Mock.mock_server_operation('server/00798b85-efdc-41ca-8021-f6ef457b8531/restart')
71+
server.restart()
72+
73+
assert server.state == 'maintenance'
74+
75+
@responses.activate
76+
def test_attach_and_detach_IP(self, manager):
77+
data = Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
78+
server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')
79+
assert len(server.ip_addresses) == 2
80+
81+
data = Mock.mock_post('ip_address')
82+
server.add_IP()
83+
assert len(server.ip_addresses) == 3
84+
85+
Mock.mock_delete('ip_address/'+server.ip_addresses[2].address)
86+
server.remove_IP(server.ip_addresses[2])
87+
assert len(server.ip_addresses) == 2
88+
89+
@responses.activate
90+
def test_attach_and_detach_storage(self, manager):
91+
data = Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
92+
server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')
93+
assert len(server.storage_devices) == 1
94+
assert server.storage_devices[0].title == 'Storage for server1.example.com'
95+
96+
data = Mock.mock_get('storage/01d4fcd4-e446-433b-8a9c-551a1284952e')
97+
storage = manager.get_storage('01d4fcd4-e446-433b-8a9c-551a1284952e')
98+
99+
100+
responses.add(
101+
responses.POST,
102+
Mock.base_url + '/server/00798b85-efdc-41ca-8021-f6ef457b8531/storage/attach',
103+
body = Mock.read_from_file('storage_attach.json'),
104+
status = 200,
105+
content_type='application/json'
106+
)
107+
server.add_storage(storage)
108+
assert len(server.storage_devices) == 2
109+
assert server.storage_devices[0].title == 'Storage for server1.example.com'
110+
assert server.storage_devices[1].title == 'Operating system disk'
111+
112+
responses.add(
113+
responses.POST,
114+
Mock.base_url + '/server/00798b85-efdc-41ca-8021-f6ef457b8531/storage/detach',
115+
body = Mock.read_from_file('storage_attach.json'),
116+
status = 200,
117+
content_type='application/json'
118+
)
119119

120-
server.remove_storage(server.storage_devices[1])
121-
122-
assert len(server.storage_devices) == 1
123-
assert server.storage_devices[0].title == "Storage for server1.example.com"
120+
server.remove_storage(server.storage_devices[1])
121+
122+
assert len(server.storage_devices) == 1
123+
assert server.storage_devices[0].title == 'Storage for server1.example.com'
124124

125-
@responses.activate
126-
def test_update_server_oop(self, manager):
127-
data = Mock.mock_get("server/00798b85-efdc-41ca-8021-f6ef457b8531")
128-
server = manager.get_server("00798b85-efdc-41ca-8021-f6ef457b8531")
129-
130-
server.core_number = 6
131-
server.memory_amount = 1024
132-
server.title = "Updated server"
125+
@responses.activate
126+
def test_update_server_oop(self, manager):
127+
data = Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
128+
server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')
129+
130+
server.core_number = 6
131+
server.memory_amount = 1024
132+
server.title = 'Updated server'
133133

134-
data = Mock.mock_put("server/00798b85-efdc-41ca-8021-f6ef457b8531")
135-
server.save()
134+
data = Mock.mock_put('server/00798b85-efdc-41ca-8021-f6ef457b8531')
135+
server.save()
136136

137-
assert server.core_number == 6
138-
assert server.memory_amount == 1024
139-
assert server.title == "Updated server"
137+
assert server.core_number == 6
138+
assert server.memory_amount == 1024
139+
assert server.title == 'Updated server'
140140

141-
@responses.activate
142-
def test_update_server_non_updateable_fields(self, manager):
143-
data = Mock.mock_get("server/00798b85-efdc-41ca-8021-f6ef457b8531")
144-
server = manager.get_server("00798b85-efdc-41ca-8021-f6ef457b8531")
141+
@responses.activate
142+
def test_update_server_non_updateable_fields(self, manager):
143+
data = Mock.mock_get('server/00798b85-efdc-41ca-8021-f6ef457b8531')
144+
server = manager.get_server('00798b85-efdc-41ca-8021-f6ef457b8531')
145145

146-
with pytest.raises(Exception) as excinfo:
147-
server.state = "rekt"
148-
assert "'state' is a readonly field" in str(excinfo.value)
146+
with pytest.raises(Exception) as excinfo:
147+
server.state = 'rekt'
148+
assert "'state' is a readonly field" in str(excinfo.value)

0 commit comments

Comments
 (0)