Revision edf8ad52
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( |
b/kamaki/clients/cyclades/test.py | ||
---|---|---|
150 | 150 |
FR.status_code = 200 |
151 | 151 |
FR.json = vm_recv |
152 | 152 |
|
153 |
def test_create_server(self): |
|
154 |
self.client.get_image_details = Mock(return_value=img_recv['image']) |
|
155 |
with patch.object(Client, 'request', side_effect=ClientError( |
|
156 |
'REQUEST ENTITY TOO LARGE', |
|
157 |
status=403)): |
|
158 |
self.assertRaises( |
|
159 |
ClientError, |
|
160 |
self.client.create_server, |
|
161 |
vm_name, fid, img_ref) |
|
162 |
|
|
163 |
with patch.object( |
|
164 |
self.C, |
|
165 |
'perform_request', |
|
166 |
return_value=FR()) as perform_req: |
|
167 |
self.assertRaises( |
|
168 |
ClientError, |
|
169 |
self.client.create_server, |
|
170 |
vm_name, fid, img_ref) |
|
171 |
FR.status_code = 202 |
|
172 |
r = self.client.create_server(vm_name, fid, img_ref) |
|
173 |
self.assertEqual(self.client.http_client.url, self.url) |
|
174 |
self.assertEqual(self.client.http_client.path, '/servers') |
|
175 |
(method, data, a_headers, a_params) = perform_req.call_args[0] |
|
176 |
self.assert_dicts_are_equal(loads(data), vm_send) |
|
177 |
self.assert_dicts_are_equal(r, vm_recv['server']) |
|
178 |
prsn = 'Personality string (does not work with real servers)' |
|
179 |
self.client.create_server(vm_name, fid, img_ref, prsn) |
|
180 |
(method, data, a_headers, a_params) = perform_req.call_args[0] |
|
181 |
data = loads(data) |
|
182 |
self.assertTrue('personality' in data['server']) |
|
183 |
self.assertEqual(prsn, data['server']['personality']) |
|
184 |
|
|
185 | 153 |
def test_list_servers(self): |
186 | 154 |
FR.json = vm_list |
187 | 155 |
with patch.object( |
b/kamaki/clients/storage/test.py | ||
---|---|---|
124 | 124 |
x_object_hash="0afdf29f71cd53126225c3f54ca", |
125 | 125 |
x_object_version=17737, |
126 | 126 |
x_object_modified_by=user_id)] |
127 |
object_hashmap = dict( |
|
128 |
block_hash="sha256", block_size=4194304, bytes=33554432, |
|
129 |
hashes=[ |
|
130 |
"4988438cc1c0292c085d289649b28cf547ba3db71c6efaac9f2df7e193d4d0af", |
|
131 |
"b214244aa56df7d1df7c6cac066e7cef268d9c2beb4dcf7ce68af667b0626f91", |
|
132 |
"17f365f25e0682565ded30576066bb13377a3d306967e4d74e06bb6bbc20f75f", |
|
133 |
"2524ae208932669fff89adf8a2fc0df3b67736ca0d3aadce7a2ce640f142af37", |
|
134 |
"5d807a2129d2fcd3c221c3da418ed52af3fc48d0817b62e0bb437acffccd3514", |
|
135 |
"609de22ce842d997f645fc49d5f14e0e3766dd51a6cbe66383b2bab82c8dfcd0", |
|
136 |
"3102851ac168c78be70e35ff5178c7b1ebebd589e5106d565ca1094d1ca8ff59", |
|
137 |
"bfe306dd24e92a8d85caf7055643f250fd319e8c4cdd4755ddabbf3ff97e83c7"]) |
|
138 |
sharers = [ |
|
139 |
dict(last_modified="2013-01-29T16:50:06.084674+00:00", name="0b1a-82d5"), |
|
140 |
dict(last_modified="2013-01-29T16:50:06.084674+00:00", name="0b2a-f2d5"), |
|
141 |
dict(last_modified="2013-01-29T16:50:06.084674+00:00", name="2b1a-82d6")] |
|
142 | 127 |
|
143 | 128 |
|
144 | 129 |
class FR(object): |
Also available in: Unified diff