Updated Branches: refs/heads/master 56fad8692 -> 88c84d910
CLOUDSTACK-3643: Fix wrong protocol type and test case sequence Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/88c84d91 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/88c84d91 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/88c84d91 Branch: refs/heads/master Commit: 88c84d91092f7f77bf7766a5164de90ac703bdc9 Parents: 56fad86 Author: Sheng Yang <sheng.y...@citrix.com> Authored: Fri Jul 19 19:25:30 2013 -0700 Committer: Sheng Yang <sheng.y...@citrix.com> Committed: Fri Jul 19 19:27:14 2013 -0700 ---------------------------------------------------------------------- test/integration/component/test_vpc.py | 373 ++++++++++++++-------------- 1 file changed, 187 insertions(+), 186 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/88c84d91/test/integration/component/test_vpc.py ---------------------------------------------------------------------- diff --git a/test/integration/component/test_vpc.py b/test/integration/component/test_vpc.py index 63c10aa..c503be8 100644 --- a/test/integration/component/test_vpc.py +++ b/test/integration/component/test_vpc.py @@ -147,7 +147,7 @@ class Services: "startport": 80, "endport": 80, "cidrlist": '0.0.0.0/0', - "protocol": "ICMP" + "protocol": "TCP" }, "virtual_machine": { "displayname": "Test VM", @@ -275,9 +275,189 @@ class TestVPC(cloudstackTestCase): ) self.debug("VPC network validated - %s" % network.name) return - + + #list_vpc_apis should be the first case otherwise the vpc counts would be wrong @attr(tags=["advanced", "intervlan"]) - def test_01_restart_vpc_no_networks(self): + def test_01_list_vpc_apis(self): + """ Test list VPC APIs + """ + + # Validate the following + # 1. Create multiple VPCs + # 2. listVPCs() by name. VPC with the provided name should be listed. + # 3. listVPCs() by displayText. VPC with the provided displayText + # should be listed. + # 4. listVPCs() by cidr. All the VPCs with the provided cidr should + # be listed. + # 5. listVPCs() by vpcofferingId.All the VPCs with the vpcofferingId + # should be listed. + # 6. listVPCs() by supported Services(). All the VPCs that provide the + # list of services should be listed. + # 7. listVPCs() by restartRequired (set to true). All the VPCs that + # require restart should be listed. + + self.services["vpc"]["cidr"] = "10.1.1.1/16" + self.debug("creating a VPC network in the account: %s" % + self.account.name) + vpc_1 = VPC.create( + self.apiclient, + self.services["vpc"], + vpcofferingid=self.vpc_off.id, + zoneid=self.zone.id, + account=self.account.name, + domainid=self.account.domainid + ) + self.validate_vpc_network(vpc_1) + + self.services["vpc"]["cidr"] = "10.1.46.1/16" + vpc_2 = VPC.create( + self.apiclient, + self.services["vpc"], + vpcofferingid=self.vpc_off.id, + zoneid=self.zone.id, + account=self.account.name, + domainid=self.account.domainid + ) + self.validate_vpc_network(vpc_2) + + self.debug("Check list VPC API by Name?") + vpcs = VPC.list( + self.apiclient, + name=vpc_1.name, + listall=True + ) + self.assertEqual( + isinstance(vpcs, list), + True, + "List VPC shall return a valid resposne" + ) + vpc = vpcs[0] + self.assertEqual( + vpc.name, + vpc_1.name, + "VPC name should match with the existing one" + ) + + self.debug("Check list VPC API by displayText?") + vpcs = VPC.list( + self.apiclient, + displaytext=vpc_1.displaytext, + listall=True + ) + self.assertEqual( + isinstance(vpcs, list), + True, + "List VPC shall return a valid resposne" + ) + vpc = vpcs[0] + self.assertEqual( + vpc.displaytext, + vpc_1.displaytext, + "VPC displaytext should match with the existing one" + ) + + self.debug("Check list VPC API by cidr?") + vpcs = VPC.list( + self.apiclient, + cidr=vpc_2.cidr, + listall=True + ) + self.assertEqual( + isinstance(vpcs, list), + True, + "List VPC shall return a valid resposne" + ) + vpc = vpcs[0] + self.assertEqual( + vpc.cidr, + vpc_2.cidr, + "VPC cidr should match with the existing one" + ) + self.debug("Validating list VPC by Id") + self.validate_vpc_network(vpc_1) + + self.debug("Validating list VPC by vpcofferingId") + vpcs = VPC.list( + self.apiclient, + vpcofferingid=self.vpc_off.id, + listall=True + ) + self.assertEqual( + isinstance(vpcs, list), + True, + "List VPC by vpcofferingId should return a valid response" + ) + self.debug("Length of list VPC response: %s" % len(vpcs)) + self.assertEqual( + len(vpcs), + 2, + "List VPC should return 2 enabled VPCs" + ) + for vpc in vpcs: + self.assertEqual( + vpc.vpcofferingid, + self.vpc_off.id, + "VPC offering ID should match with that of resposne" + ) + + self.debug("Validating list VPC by supportedservices") + vpcs = VPC.list( + self.apiclient, + supportedservices='Vpn,Dhcp,Dns,SourceNat,PortForwarding,Lb,UserData,StaticNat,NetworkACL', + listall=True, + account=self.account.name, + domainid=self.account.domainid + ) + self.assertEqual( + isinstance(vpcs, list), + True, + "List VPC by vpcofferingId should return a valid response" + ) + for vpc in vpcs: + self.assertIn( + vpc.id, + [vpc_1.id, vpc_2.id], + "VPC offering ID should match with that of resposne" + ) + self.debug("Validating list VPC by restart required") + vpcs = VPC.list( + self.apiclient, + restartrequired=True, + listall=True, + account=self.account.name, + domainid=self.account.domainid + ) + if vpcs is not None: + for vpc in vpcs: + self.assertEqual( + vpc.restartrequired, + True, + "RestartRequired should be set as True" + ) + self.debug("Validating list VPC by restart required") + vpcs = VPC.list( + self.apiclient, + restartrequired=False, + listall=True, + account=self.account.name, + domainid=self.account.domainid + ) + self.assertEqual( + isinstance(vpcs, list), + True, + "List VPC by vpcofferingId should return a valid response" + ) + if vpcs is not None: + for vpc in vpcs: + self.assertEqual( + vpc.restartrequired, + False, + "RestartRequired should be set as False" + ) + return + + @attr(tags=["advanced", "intervlan"]) + def test_02_restart_vpc_no_networks(self): """ Test restart VPC having no networks """ @@ -308,7 +488,7 @@ class TestVPC(cloudstackTestCase): return @attr(tags=["advanced", "intervlan"]) - def test_02_restart_vpc_with_networks(self): + def test_03_restart_vpc_with_networks(self): """ Test restart VPC having networks """ @@ -393,7 +573,7 @@ class TestVPC(cloudstackTestCase): return @attr(tags=["advanced", "intervlan"]) - def test_03_delete_vpc_no_networks(self): + def test_04_delete_vpc_no_networks(self): """ Test delete VPC having no networks """ @@ -433,7 +613,7 @@ class TestVPC(cloudstackTestCase): return @attr(tags=["advanced", "intervlan"]) - def test_04_delete_vpc_with_networks(self): + def test_05_delete_vpc_with_networks(self): """ Test delete VPC having networks """ @@ -564,185 +744,6 @@ class TestVPC(cloudstackTestCase): return @attr(tags=["advanced", "intervlan"]) - def test_05_list_vpc_apis(self): - """ Test list VPC APIs - """ - - # Validate the following - # 1. Create multiple VPCs - # 2. listVPCs() by name. VPC with the provided name should be listed. - # 3. listVPCs() by displayText. VPC with the provided displayText - # should be listed. - # 4. listVPCs() by cidr. All the VPCs with the provided cidr should - # be listed. - # 5. listVPCs() by vpcofferingId.All the VPCs with the vpcofferingId - # should be listed. - # 6. listVPCs() by supported Services(). All the VPCs that provide the - # list of services should be listed. - # 7. listVPCs() by restartRequired (set to true). All the VPCs that - # require restart should be listed. - - self.services["vpc"]["cidr"] = "10.1.1.1/16" - self.debug("creating a VPC network in the account: %s" % - self.account.name) - vpc_1 = VPC.create( - self.apiclient, - self.services["vpc"], - vpcofferingid=self.vpc_off.id, - zoneid=self.zone.id, - account=self.account.name, - domainid=self.account.domainid - ) - self.validate_vpc_network(vpc_1) - - self.services["vpc"]["cidr"] = "10.1.46.1/16" - vpc_2 = VPC.create( - self.apiclient, - self.services["vpc"], - vpcofferingid=self.vpc_off.id, - zoneid=self.zone.id, - account=self.account.name, - domainid=self.account.domainid - ) - self.validate_vpc_network(vpc_2) - - self.debug("Check list VPC API by Name?") - vpcs = VPC.list( - self.apiclient, - name=vpc_1.name, - listall=True - ) - self.assertEqual( - isinstance(vpcs, list), - True, - "List VPC shall return a valid resposne" - ) - vpc = vpcs[0] - self.assertEqual( - vpc.name, - vpc_1.name, - "VPC name should match with the existing one" - ) - - self.debug("Check list VPC API by displayText?") - vpcs = VPC.list( - self.apiclient, - displaytext=vpc_1.displaytext, - listall=True - ) - self.assertEqual( - isinstance(vpcs, list), - True, - "List VPC shall return a valid resposne" - ) - vpc = vpcs[0] - self.assertEqual( - vpc.displaytext, - vpc_1.displaytext, - "VPC displaytext should match with the existing one" - ) - - self.debug("Check list VPC API by cidr?") - vpcs = VPC.list( - self.apiclient, - cidr=vpc_2.cidr, - listall=True - ) - self.assertEqual( - isinstance(vpcs, list), - True, - "List VPC shall return a valid resposne" - ) - vpc = vpcs[0] - self.assertEqual( - vpc.cidr, - vpc_2.cidr, - "VPC cidr should match with the existing one" - ) - self.debug("Validating list VPC by Id") - self.validate_vpc_network(vpc_1) - - self.debug("Validating list VPC by vpcofferingId") - vpcs = VPC.list( - self.apiclient, - vpcofferingid=self.vpc_off.id, - listall=True - ) - self.assertEqual( - isinstance(vpcs, list), - True, - "List VPC by vpcofferingId should return a valid response" - ) - self.debug("Length of list VPC response: %s" % len(vpcs)) - self.assertEqual( - len(vpcs), - 2, - "List VPC should return 3 enabled VPCs" - ) - for vpc in vpcs: - self.assertEqual( - vpc.vpcofferingid, - self.vpc_off.id, - "VPC offering ID should match with that of resposne" - ) - - self.debug("Validating list VPC by supportedservices") - vpcs = VPC.list( - self.apiclient, - supportedservices='Vpn,Dhcp,Dns,SourceNat,PortForwarding,Lb,UserData,StaticNat,NetworkACL', - listall=True, - account=self.account.name, - domainid=self.account.domainid - ) - self.assertEqual( - isinstance(vpcs, list), - True, - "List VPC by vpcofferingId should return a valid response" - ) - for vpc in vpcs: - self.assertIn( - vpc.id, - [vpc_1.id, vpc_2.id], - "VPC offering ID should match with that of resposne" - ) - self.debug("Validating list VPC by restart required") - vpcs = VPC.list( - self.apiclient, - restartrequired=True, - listall=True, - account=self.account.name, - domainid=self.account.domainid - ) - if vpcs is not None: - for vpc in vpcs: - self.assertEqual( - vpc.restartrequired, - True, - "RestartRequired should be set as True" - ) - self.debug("Validating list VPC by restart required") - vpcs = VPC.list( - self.apiclient, - restartrequired=False, - listall=True, - account=self.account.name, - domainid=self.account.domainid - ) - self.assertEqual( - isinstance(vpcs, list), - True, - "List VPC by vpcofferingId should return a valid response" - ) - if vpcs is not None: - for vpc in vpcs: - self.assertEqual( - vpc.restartrequired, - False, - "RestartRequired should be set as False" - ) - return - - @attr(tags=["advanced", "intervlan"]) def test_06_list_vpc_apis_admin(self): """ Test list VPC APIs for different user roles """ @@ -2404,4 +2405,4 @@ class TestVPC(cloudstackTestCase): self.assertEqual(vpc_networks[0].displaytext, new_display_text, - "Updation of VPC display text failed.") \ No newline at end of file + "Updation of VPC display text failed.")