Repository: cloudstack
Updated Branches:
  refs/heads/master 737f76df8 -> bc92bfd82


CLOUDSTACK: Test script to verify fix for CS-5332

Signed-off-by: sanjeev <sanj...@apache.org>
Signed-off-by: Santhosh Edukulla <santhosh.eduku...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/bc92bfd8
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/bc92bfd8
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/bc92bfd8

Branch: refs/heads/master
Commit: bc92bfd827d2d501675ae13ae90eda3c038d4280
Parents: 737f76d
Author: sanjeev <sanj...@apache.org>
Authored: Tue Aug 12 10:59:09 2014 +0530
Committer: Santhosh Edukulla <santhosh.eduku...@gmail.com>
Committed: Tue Aug 12 13:45:55 2014 +0530

----------------------------------------------------------------------
 .../component/test_network_offering.py          | 118 ++++++++++++++++++-
 1 file changed, 116 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bc92bfd8/test/integration/component/test_network_offering.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_network_offering.py 
b/test/integration/component/test_network_offering.py
index f2251ff8..2c9a057 100644
--- a/test/integration/component/test_network_offering.py
+++ b/test/integration/component/test_network_offering.py
@@ -21,7 +21,8 @@
 from nose.plugins.attrib import attr
 from marvin.cloudstackTestCase import cloudstackTestCase
 #from marvin.cloudstackAPI import *
-from marvin.lib.utils import (cleanup_resources)
+from marvin.lib.utils import (cleanup_resources,
+                              validateList)
 from marvin.lib.base import (VirtualMachine,
                              Account,
                              Network,
@@ -35,6 +36,7 @@ from marvin.lib.base import (VirtualMachine,
 from marvin.lib.common import (get_domain,
                                get_zone,
                                get_template)
+from marvin.codes import *
 
 
 class Services:
@@ -735,7 +737,119 @@ class TestNOVirtualRouter(cloudstackTestCase):
                             )
         return
 
-
+    @attr(tags=["advanced", "selfservice"])
+    def test_03_network_off_CS5332(self):
+        """
+        @Desc: Test Network offering with Custom system offering for VR
+        @Steps:
+        Step1: Create new system offering for domain router
+        Step2: Verify the custom system offering creation for domain router
+        Step3: Create new network offering with domain router system offering 
created in step1
+        Step4: Verify the network offering creation with custom system 
offering for VR
+        Step5: Enable the network offering created in step3
+        Step5: Create isolated guest network using network offering created in 
step3
+        Step6: Deploy guest vm in network created above
+        """
+        #create custom system offering for VR
+        self.services["service_offering"]["name"] = 
"test_service_offering_for_router"
+        self.services["service_offering"]["displaytext"] = 
"test_service_offering_for_router"
+        self.services["service_offering"]["cpuspeed"] = 500
+        self.services["service_offering"]["memory"] = 512
+        self.services["service_offering"]["systemvmtype"] = "domainrouter"
+        self.services["service_offering"]["storagetype"] = "shared"
+        self.services["service_offering"]["issystem"] = "true"
+        vr_sys_off = ServiceOffering.create(
+                                            self.apiclient,
+                                            self.services["service_offering"],
+                                            )
+        self.assertIsNotNone(
+                             vr_sys_off,
+                             "Failed to create custom system offering for VR"
+                             )
+        vr_sys_off_res = ServiceOffering.list(
+                                              self.apiclient,
+                                              id = vr_sys_off.id,
+                                              issystem = "true"
+                                              )
+        status = validateList(vr_sys_off_res)
+        self.assertEquals(
+            PASS,
+            status[0],
+            "Listing of VR system offering failed"
+        )
+        self.assertEqual(
+                         len(vr_sys_off_res),
+                         1,
+                         "Listing more than VR system offerings created"
+        )
+        self.debug("Created system offering with id %s" % vr_sys_off.id)
+        # Create a network offering with all virtual router services enabled 
using custom system offering for VR
+        self.debug(
+            "Creating n/w offering with all services in VR & using custom 
system offering for VR"
+        )
+        self.network_offering = NetworkOffering.create(
+                                                  self.apiclient,
+                                                  
self.services["network_offering"],
+                                                  conservemode=False,
+                                                  
serviceofferingid=vr_sys_off.id
+                                                  )
+        self.assertIsNotNone(
+                             self.network_offering,
+                             "Failed to create network offering with custom 
system offering for VR"
+                             )
+        network_off_res = NetworkOffering.list(
+                                               self.apiclient,
+                                               id=self.network_offering.id
+                                               )
+        status = validateList(network_off_res)
+        self.assertEquals(
+                          PASS,
+                          status[0],
+                          "Listing of network offerings failed"
+        )
+        self.assertEquals(
+                          len(network_off_res),
+                          1,
+                          "More than one network offerings are created"
+        )
+        self.assertEquals(
+                          network_off_res[0].serviceofferingid,
+                          vr_sys_off.id,
+                          "FAIL: Network offering has been created with 
default system offering"
+        )
+        self.cleanup.append(self.network_offering)
+        self.cleanup.append(vr_sys_off)
+        self.debug("Created n/w offering with ID: %s" % 
self.network_offering.id)
+        # Enable Network offering
+        self.network_offering.update(self.apiclient, state='Enabled')
+        # Creating network using the network offering created
+        self.debug("Creating network with network offering: %s" % 
self.network_offering.id)
+        self.network = Network.create(
+                                      self.apiclient,
+                                      self.services["network"],
+                                      accountid=self.account.name,
+                                      domainid=self.account.domainid,
+                                      
networkofferingid=self.network_offering.id,
+                                      zoneid=self.zone.id
+                                      )
+        self.assertIsNotNone(self.network,"Failed to create network")
+        self.debug("Created network with ID: %s" % self.network.id)
+        self.debug("Deploying VM in account: %s" % self.account.name)
+        # Spawn an instance in that network
+        virtual_machine = VirtualMachine.create(
+                                                self.apiclient,
+                                                
self.services["virtual_machine"],
+                                                accountid=self.account.name,
+                                                domainid=self.account.domainid,
+                                                
serviceofferingid=self.service_offering.id,
+                                                
networkids=[str(self.network.id)]
+                                                )
+        self.assertIsNotNone(
+                             virtual_machine,
+                             "VM creation failed with network %s" % 
self.network.id
+                             )
+        self.debug("Deployed VM in network: %s" % self.network.id)
+        return
 
 class TestNetworkUpgrade(cloudstackTestCase):
 

Reply via email to