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