Revision 6695edc9
b/kamaki/clients/compute/test.py | ||
---|---|---|
34 | 34 |
from mock import patch, call |
35 | 35 |
from unittest import TestCase |
36 | 36 |
from itertools import product |
37 |
from json import dumps |
|
37 | 38 |
|
38 | 39 |
from kamaki.clients.compute import ComputeClient, ComputeClientApi |
39 | 40 |
from kamaki.clients import ClientError |
... | ... | |
158 | 159 |
@patch('%s.set_header' % rest_pkg) |
159 | 160 |
@patch('%s.post' % rest_pkg, return_value=FR()) |
160 | 161 |
def test_servers_post(self, post, SH): |
161 |
from json import dumps |
|
162 | 162 |
vm_id = vm_recv['server']['id'] |
163 | 163 |
for args in product( |
164 | 164 |
('', vm_id), |
... | ... | |
181 | 181 |
data=json_data, success=success, |
182 | 182 |
**kwargs)) |
183 | 183 |
|
184 |
@patch('%s.set_header' % rest_pkg) |
|
185 |
@patch('%s.put' % rest_pkg, return_value=FR()) |
|
186 |
def test_servers_put(self, put, SH): |
|
187 |
vm_id = vm_recv['server']['id'] |
|
188 |
for args in product( |
|
189 |
('', vm_id), |
|
190 |
('', 'cmd'), |
|
191 |
(None, [dict(json="data"), dict(data="json")]), |
|
192 |
(204, 504), |
|
193 |
({}, {'k': 'v'})): |
|
194 |
(server_id, command, json_data, success, kwargs) = args |
|
195 |
|
|
196 |
self.client.servers_put(*args[:4], **kwargs) |
|
197 |
vm_str = '/%s' % server_id if server_id else '' |
|
198 |
cmd_str = '/%s' % command if command else '' |
|
199 |
if json_data: |
|
200 |
json_data = dumps(json_data) |
|
201 |
self.assertEqual(SH.mock_calls[-2:], [ |
|
202 |
call('Content-Type', 'application/json'), |
|
203 |
call('Content-Length', len(json_data))]) |
|
204 |
self.assertEqual(put.mock_calls[-1], call( |
|
205 |
'/servers%s%s' % (vm_str, cmd_str), |
|
206 |
data=json_data, success=success, |
|
207 |
**kwargs)) |
|
208 |
|
|
184 | 209 |
|
185 | 210 |
class Compute(TestCase): |
186 | 211 |
|
Also available in: Unified diff