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