Revision 6290b789 kamaki/clients/cyclades/test.py

b/kamaki/clients/cyclades/test.py
103 103
    def tearDown(self):
104 104
        FR.json = vm_recv
105 105

  
106
    @patch('%s.set_param' % rest_pkg)
107
    @patch('%s.get' % rest_pkg, return_value=FR())
108
    def test_servers_get(self, get, SP):
109
        for args in product(
110
                ('', 'vm_id'),
111
                ('', 'cmd'),
112
                (200, 204),
113
                (None, '50m3-d473'),
114
                ({}, {'k': 'v'})):
115
            (srv_id, command, success, changes_since, kwargs) = args
116
            self.client.servers_get(*args[:4], **kwargs)
117
            srv_str = '/%s' % srv_id if srv_id else ''
118
            cmd_str = '/%s' % command if command else ''
119
            self.assertEqual(get.mock_calls[-1], call(
120
                '/servers%s%s' % (srv_str, cmd_str),
121
                success=success,
122
                **kwargs))
123
            if changes_since:
124
                self.assertEqual(
125
                    SP.mock_calls[-1],
126
                    call('changes-since', changes_since, changes_since))
127

  
128 106
    @patch('%s.get' % rest_pkg, return_value=FR())
129 107
    def test_networks_get(self, get):
130 108
        for args in product(
......
281 259
        FR.status_code = 200
282 260
        FR.json = vm_recv
283 261

  
284
    @patch('%s.servers_get' % cyclades_pkg, return_value=FR())
285
    def test_list_servers(self, SG):
286
        FR.json = vm_list
287
        for detail, since in ((0, 0), (True, 0), (0, 'd473'), (True, 'd473')):
288
            r = self.client.list_servers(detail=detail, changes_since=since)
289
            self.assertEqual(SG.mock_calls[-1], call(
290
                command='detail' if detail else '',
291
                changes_since=since))
292
            expected = vm_list['servers']
293
            for i, vm in enumerate(r):
294
                self.assert_dicts_are_equal(vm, expected[i])
295
            self.assertEqual(i + 1, len(expected))
296

  
297
    @patch('%s.servers_post' % cyclades_pkg, return_value=FR())
262
    @patch('%s.servers_action_post' % cyclades_pkg, return_value=FR())
298 263
    def test_shutdown_server(self, SP):
299 264
        vm_id = vm_recv['server']['id']
300 265
        self.client.shutdown_server(vm_id)
301 266
        SP.assert_called_once_with(
302
            vm_id, 'action',
303
            json_data=dict(shutdown=dict()), success=202)
267
            vm_id, json_data=dict(shutdown=dict()), success=202)
304 268

  
305
    @patch('%s.servers_post' % cyclades_pkg, return_value=FR())
269
    @patch('%s.servers_action_post' % cyclades_pkg, return_value=FR())
306 270
    def test_start_server(self, SP):
307 271
        vm_id = vm_recv['server']['id']
308 272
        self.client.start_server(vm_id)
309 273
        SP.assert_called_once_with(
310
            vm_id, 'action',
311
            json_data=dict(start=dict()), success=202)
274
            vm_id, json_data=dict(start=dict()), success=202)
312 275

  
313
    @patch('%s.servers_post' % cyclades_pkg, return_value=FR())
276
    @patch('%s.servers_action_post' % cyclades_pkg, return_value=FR())
314 277
    def test_get_server_console(self, SP):
315 278
        cnsl = dict(console=dict(info1='i1', info2='i2', info3='i3'))
316 279
        FR.json = cnsl
317 280
        vm_id = vm_recv['server']['id']
318 281
        r = self.client.get_server_console(vm_id)
319 282
        SP.assert_called_once_with(
320
            vm_id, 'action',
321
            json_data=dict(console=dict(type='vnc')), success=200)
283
            vm_id, json_data=dict(console=dict(type='vnc')), success=200)
322 284
        self.assert_dicts_are_equal(r, cnsl['console'])
323 285

  
324 286
    def test_get_firewall_profile(self):
......
338 300
                self.client.get_firewall_profile,
339 301
                vm_id)
340 302

  
341
    @patch('%s.servers_post' % cyclades_pkg, return_value=FR())
303
    @patch('%s.servers_action_post' % cyclades_pkg, return_value=FR())
342 304
    def test_set_firewall_profile(self, SP):
343 305
        vm_id = vm_recv['server']['id']
344 306
        v = firewalls['attachments'][0]['firewallProfile']
345 307
        self.client.set_firewall_profile(vm_id, v)
346
        SP.assert_called_once_with(
347
            vm_id, 'action',
348
            json_data=dict(firewallProfile=dict(profile=v)), success=202)
349

  
350
    @patch('%s.servers_get' % cyclades_pkg, return_value=FR())
351
    def test_get_server_stats(self, SG):
352
        vm_id = vm_recv['server']['id']
353
        stats = dict(stat1='v1', stat2='v2', stat3='v3', stat4='v4')
354
        FR.json = dict(stats=stats)
355
        r = self.client.get_server_stats(vm_id)
356
        SG.assert_called_once_with(vm_id, 'stats')
357
        self.assert_dicts_are_equal(stats, r)
308
        SP.assert_called_once_with(vm_id, json_data=dict(
309
            firewallProfile=dict(profile=v)), success=202)
358 310

  
359 311
    @patch('%s.networks_post' % cyclades_pkg, return_value=FR())
360 312
    def test_create_network(self, NP):
......
407 359
                json_data=dict(remove=dict(attachment=nic_id)))
408 360
            self.assertEqual(r, 1)
409 361

  
410
    @patch('%s.servers_get' % cyclades_pkg, return_value=FR())
362
    @patch('%s.servers_ips_get' % cyclades_pkg, return_value=FR())
411 363
    def test_list_server_nics(self, SG):
412 364
        vm_id = vm_recv['server']['id']
413 365
        nics = dict(attachments=[dict(id='nic1'), dict(id='nic2')])
414 366
        FR.json = nics
415 367
        r = self.client.list_server_nics(vm_id)
416
        SG.assert_called_once_with(vm_id, 'ips')
368
        SG.assert_called_once_with(vm_id)
417 369
        expected = nics['attachments']
418 370
        for i in range(len(r)):
419 371
            self.assert_dicts_are_equal(r[i], expected[i])
......
544 496
        self.assert_dicts_are_equal(r, FR.headers)
545 497
        self.assertEqual(delete.mock_calls[-1], call(fip))
546 498

  
547
    @patch('%s.servers_post' % cyclades_pkg, return_value=FR())
499
    @patch('%s.servers_action_post' % cyclades_pkg, return_value=FR())
548 500
    def test_attach_floating_ip(self, spost):
549 501
        vmid, addr = 42, 'anIpAddress'
550 502
        for err, args in {
......
557 509
        r = self.client.attach_floating_ip(vmid, addr)
558 510
        self.assert_dicts_are_equal(r, FR.headers)
559 511
        expected = dict(addFloatingIp=dict(address=addr))
560
        self.assertEqual(
561
            spost.mock_calls[-1], call(vmid, 'action', json_data=expected))
512
        self.assertEqual(spost.mock_calls[-1], call(vmid, json_data=expected))
562 513

  
563
    @patch('%s.servers_post' % cyclades_pkg, return_value=FR())
514
    @patch('%s.servers_action_post' % cyclades_pkg, return_value=FR())
564 515
    def test_detach_floating_ip(self, spost):
565 516
        vmid, addr = 42, 'anIpAddress'
566 517
        for err, args in {
......
573 524
        r = self.client.detach_floating_ip(vmid, addr)
574 525
        self.assert_dicts_are_equal(r, FR.headers)
575 526
        expected = dict(removeFloatingIp=dict(address=addr))
576
        self.assertEqual(
577
            spost.mock_calls[-1], call(vmid, 'action', json_data=expected))
527
        self.assertEqual(spost.mock_calls[-1], call(vmid, json_data=expected))
578 528

  
579 529

  
580 530
if __name__ == '__main__':

Also available in: Unified diff