Revision edf8ad52 kamaki/clients/compute/test.py
b/kamaki/clients/compute/test.py | ||
---|---|---|
39 | 39 |
from kamaki.clients.cyclades import CycladesClient |
40 | 40 |
from kamaki.clients.cyclades_rest_api import CycladesClientApi |
41 | 41 |
|
42 |
|
|
43 |
khttp_pkg = 'kamaki.clients.connection.kamakicon.KamakiHTTPConnection' |
|
44 |
compute_pkg = 'kamaki.clients.cyclades.CycladesClient' |
|
45 |
|
|
42 | 46 |
img_ref = "1m4g3-r3f3r3nc3" |
43 | 47 |
vm_name = "my new VM" |
44 | 48 |
fid = 42 |
... | ... | |
125 | 129 |
def release(self): |
126 | 130 |
pass |
127 | 131 |
|
128 |
khttp = 'kamaki.clients.connection.kamakicon.KamakiHTTPConnection' |
|
129 |
cyclades_pkg = 'kamaki.clients.cyclades.CycladesClient' |
|
130 |
|
|
131 | 132 |
|
132 | 133 |
class Cyclades(TestCase): |
133 | 134 |
|
... | ... | |
151 | 152 |
FR.status_code = 200 |
152 | 153 |
FR.json = vm_recv |
153 | 154 |
|
154 |
""" |
|
155 |
def test_create_server(self): |
|
156 |
self.client.get_image_details = Mock(return_value=img_recv['image']) |
|
157 |
with patch.object(Client, 'request', side_effect=ClientError( |
|
158 |
'REQUEST ENTITY TOO LARGE', |
|
159 |
status=403)): |
|
155 |
@patch( |
|
156 |
'%s.get_image_details' % compute_pkg, |
|
157 |
return_value=img_recv['image']) |
|
158 |
def test_create_server(self, GID): |
|
159 |
with patch.object( |
|
160 |
CycladesClient, 'servers_post', |
|
161 |
side_effect=ClientError( |
|
162 |
'REQUEST ENTITY TOO LARGE', |
|
163 |
status=403)): |
|
160 | 164 |
self.assertRaises( |
161 | 165 |
ClientError, |
162 | 166 |
self.client.create_server, |
163 | 167 |
vm_name, fid, img_ref) |
168 |
self.assertEqual(GID.mock_calls[-1], call(img_ref)) |
|
164 | 169 |
|
165 | 170 |
with patch.object( |
166 |
self.C, |
|
167 |
'perform_request', |
|
168 |
return_value=FR()) as perform_req: |
|
169 |
self.assertRaises( |
|
170 |
ClientError, |
|
171 |
self.client.create_server, |
|
172 |
vm_name, fid, img_ref) |
|
173 |
FR.status_code = 202 |
|
171 |
CycladesClient, 'servers_post', |
|
172 |
return_value=FR()) as post: |
|
174 | 173 |
r = self.client.create_server(vm_name, fid, img_ref) |
175 |
self.assertEqual(self.client.http_client.url, self.url) |
|
176 |
self.assertEqual(self.client.http_client.path, '/servers') |
|
177 |
(method, data, a_headers, a_params) = perform_req.call_args[0] |
|
178 |
self.assert_dicts_are_equal(loads(data), vm_send) |
|
179 |
self.assert_dicts_are_equal(r, vm_recv['server']) |
|
174 |
self.assertEqual(r, FR.json['server']) |
|
175 |
self.assertEqual(GID.mock_calls[-1], call(img_ref)) |
|
176 |
self.assertEqual(post.mock_calls[-1], call(json_data=vm_send)) |
|
180 | 177 |
prsn = 'Personality string (does not work with real servers)' |
181 | 178 |
self.client.create_server(vm_name, fid, img_ref, prsn) |
182 |
(method, data, a_headers, a_params) = perform_req.call_args[0] |
|
183 |
data = loads(data) |
|
184 |
self.assertTrue('personality' in data['server']) |
|
185 |
self.assertEqual(prsn, data['server']['personality']) |
|
179 |
expected = dict(server=dict(vm_send['server'])) |
|
180 |
expected['server']['personality'] = prsn |
|
181 |
self.assertEqual(post.mock_calls[-1], call(json_data=expected)) |
|
186 | 182 |
|
183 |
""" |
|
187 | 184 |
def test_list_servers(self): |
188 | 185 |
FR.json = vm_list |
189 | 186 |
with patch.object( |
Also available in: Unified diff