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