Revision b19653d1 api/tests.py

b/api/tests.py
503 503
        self.assertEqual(reply.keys(), ['network'])
504 504
        return reply
505 505
    
506
    def get_network_details(self, name):
507
        path = '/api/v1.1/networks/%s' % name
506
    def get_network_details(self, network_id):
507
        path = '/api/v1.1/networks/%d' % network_id
508 508
        response = self.client.get(path)
509 509
        self.assertEqual(response.status_code, 200)
510 510
        reply = json.loads(response.content)
511 511
        self.assertEqual(reply.keys(), ['network'])
512 512
        return reply['network']
513 513
    
514
    def update_network_name(self, name, new_name):
515
        path = '/api/v1.1/networks/%s' % name
514
    def update_network_name(self, network_id, new_name):
515
        path = '/api/v1.1/networks/%d' % network_id
516 516
        data = json.dumps({'network': {'name': new_name}})
517 517
        response = self.client.put(path, data, content_type='application/json')
518 518
        self.assertEqual(response.status_code, 204)
519 519
    
520
    def delete_network(self, name):
521
        path = '/api/v1.1/networks/%s' % name
520
    def delete_network(self, network_id):
521
        path = '/api/v1.1/networks/%d' % network_id
522 522
        response = self.client.delete(path)
523 523
        self.assertEqual(response.status_code, 204)
524 524
    
525
    def add_to_network(self, network_name, server_id):
526
        path = '/api/v1.1/networks/%s/action' % network_name
525
    def add_to_network(self, network_id, server_id):
526
        path = '/api/v1.1/networks/%d/action' % network_id
527 527
        data = json.dumps({'add': {'serverRef': server_id}})
528 528
        response = self.client.post(path, data, content_type='application/json')
529 529
        self.assertEqual(response.status_code, 202)
530 530
    
531
    def remove_from_network(self, network_name, server_id):
532
        path = '/api/v1.1/networks/%s/action' % network_name
531
    def remove_from_network(self, network_id, server_id):
532
        path = '/api/v1.1/networks/%d/action' % network_id
533 533
        data = json.dumps({'remove': {'serverRef': server_id}})
534 534
        response = self.client.post(path, data, content_type='application/json')
535 535
        self.assertEqual(response.status_code, 202)
......
823 823
    def test_list_networks(self):
824 824
        networks = self.list_networks()
825 825
        for net in Network.objects.all():
826
            popdict(networks, name=net.name)
826
            network = popdict(networks, id=net.id)
827
            self.assertEqual(network['name'], net.name)
827 828
        self.assertEqual(networks, [])
828 829
    
829 830
    def test_list_networks_detail(self):
830 831
        networks = self.list_networks(detail=True)
831 832
        for net in Network.objects.all():
832
            network = popdict(networks, name=net.name)
833
            network = popdict(networks, id=net.id)
834
            self.assertEqual(network['name'], net.name)
833 835
            machines = set(vm.id for vm in net.machines.all())
834 836
            self.assertEqual(set(network['servers']['values']), machines)
835 837
        self.assertEqual(networks, [])
......
852 854
    def test_get_network_details(self):
853 855
        servers = VirtualMachine.objects.all()
854 856
        network = Network.objects.all()[0]
855
        name = network.name
856 857
        
857
        net = self.get_network_details(name)
858
        net = self.get_network_details(network.id)
859
        self.assertEqual(net['name'], network.name)
858 860
        self.assertEqual(net['servers']['values'], [])
859 861
        
860 862
        server_id = choice(servers).id
861
        self.add_to_network(name, server_id)
862
        net = self.get_network_details(name)
863
        self.add_to_network(network.id, server_id)
864
        net = self.get_network_details(network.id)
865
        self.assertEqual(net['name'], network.name)
863 866
        self.assertEqual(net['servers']['values'], [server_id])
864 867

  
865 868

  
......
869 872
    def test_update_network_name(self):
870 873
        networks = self.list_networks(detail=True)
871 874
        network = choice(networks)
872
        name = network['name']
873
        new_name = name + '_2'
874
        self.update_network_name(name, new_name)
875
        network_id = network['id']
876
        new_name = network['name'] + '_2'
877
        self.update_network_name(network_id, new_name)
875 878
        
876 879
        network['name'] = new_name
877
        self.assertEqual(self.get_network_details(new_name), network)
878
        
879
        response = self.client.get('/api/v1.1/networks/' + name)
880
        self.assertItemNotFound(response)
880
        self.assertEqual(self.get_network_details(network_id), network)
881 881

  
882 882

  
883 883
class DeleteNetwork(BaseTestCase):
......
886 886
    def test_delete_network(self):
887 887
        networks = self.list_networks()
888 888
        network = choice(networks)
889
        name = network['name']
890
        self.delete_network(name)
889
        network_id = network['id']
890
        self.delete_network(network_id)
891 891
        
892
        response = self.client.get('/api/v1.1/networks/' + name)
892
        response = self.client.get('/api/v1.1/networks/%d' % network_id)
893 893
        self.assertItemNotFound(response)
894 894
        
895 895
        networks.remove(network)
......
903 903
    def test_add_remove_server(self):
904 904
        server_ids = [vm.id for vm in VirtualMachine.objects.all()]
905 905
        network = self.list_networks(detail=True)[0]
906
        name = network['name']
906
        network_id = network['id']
907 907
        
908 908
        to_add = set(sample(server_ids, 10))
909 909
        for server_id in to_add:
910
            self.add_to_network(name, server_id)
911
            net = self.get_network_details(name)
910
            self.add_to_network(network_id, server_id)
911
            net = self.get_network_details(network_id)
912 912
            self.assertTrue(server_id in net['servers']['values'])
913 913
        
914
        net = self.get_network_details(name)
914
        net = self.get_network_details(network_id)
915 915
        self.assertEqual(set(net['servers']['values']), to_add)
916 916
        
917 917
        to_remove = set(sample(to_add, 5))
918 918
        for server_id in to_remove:
919
            self.remove_from_network(name, server_id)
920
            net = self.get_network_details(name)
919
            self.remove_from_network(network_id, server_id)
920
            net = self.get_network_details(network_id)
921 921
            self.assertTrue(server_id not in net['servers']['values'])
922 922
        
923
        net = self.get_network_details(name)
923
        net = self.get_network_details(network_id)
924 924
        self.assertEqual(set(net['servers']['values']), to_add - to_remove)

Also available in: Unified diff