mirror of https://github.com/apache/cloudstack.git
marvin_refactor: UnitTests for NetworkFactory
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
This commit is contained in:
parent
0678ce7f9f
commit
bc7f9165c9
|
|
@ -17,6 +17,7 @@
|
|||
|
||||
import unittest
|
||||
import logging
|
||||
from nose.plugins.attrib import attr
|
||||
|
||||
from marvin.cloudstackTestClient import cloudstackTestClient
|
||||
|
||||
|
|
@ -25,6 +26,7 @@ from marvin.factory.data.serviceoffering import *
|
|||
from marvin.factory.data.template import *
|
||||
from marvin.factory.data.user import *
|
||||
from marvin.factory.data.networkoffering import *
|
||||
from marvin.factory.data.network import *
|
||||
|
||||
from marvin.factory.virtualmachine import *
|
||||
|
||||
|
|
@ -36,6 +38,9 @@ from marvin.entity.user import User
|
|||
from marvin.entity.network import Network
|
||||
|
||||
from marvin.entity.ipaddress import IpAddress
|
||||
|
||||
|
||||
|
||||
class BuildVsCreateStrategyTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.apiClient = cloudstackTestClient(mgtSvr='localhost', logging=logging.getLogger('factory.cloudstack')).getApiClient()
|
||||
|
|
@ -44,11 +49,11 @@ class BuildVsCreateStrategyTest(unittest.TestCase):
|
|||
pass
|
||||
|
||||
def test_buildUserAccountFactory(self):
|
||||
af = UserAccountFactory()
|
||||
af = UserAccountFactory.build()
|
||||
self.assert_(af is not None, msg="Account factory didn't initialize")
|
||||
|
||||
def test_createAccountFactory(self):
|
||||
af = UserAccountFactory.create(apiclient=self.apiClient)
|
||||
af = UserAccountFactory(apiclient=self.apiClient)
|
||||
self.assert_(isinstance(af, Account))
|
||||
self.assert_(af.id is not None, msg="Account creation failed")
|
||||
self.assert_(af.domain is not None, msg="Account belongs to no domain")
|
||||
|
|
@ -59,18 +64,19 @@ class AccountFactoryTest(unittest.TestCase):
|
|||
self.apiClient = cloudstackTestClient(mgtSvr='localhost', logging=logging.getLogger('factory.cloudstack')).getApiClient()
|
||||
|
||||
def test_adminAccountFactory(self):
|
||||
accnt = AdminAccountFactory.create(apiclient=self.apiClient)
|
||||
accnt = AdminAccountFactory(apiclient=self.apiClient)
|
||||
self.assert_(accnt is not None, msg="no account created by factory")
|
||||
self.assert_(accnt.name is not None)
|
||||
|
||||
def test_userAccountFactoryCustomArgs(self):
|
||||
accnt = UserAccountFactory.create(apiclient=self.apiClient, firstname='test', lastname='test')
|
||||
accnt = UserAccountFactory(apiclient=self.apiClient, firstname='test', lastname='test')
|
||||
a = accnt.list(apiclient=self.apiClient, account=accnt.name, domainid=accnt.domainid)
|
||||
self.assert_(accnt is not None, msg="no account created by factory")
|
||||
self.assert_(accnt.name is not None)
|
||||
|
||||
def test_disableAccountPostFactoryGeneration(self):
|
||||
domadmin = DomainAdminFactory.create(apiclient=self.apiClient)
|
||||
domadmin = DomainAdminFactory(apiclient=self.apiClient)
|
||||
a = Account.list(apiclient=self.apiClient, id=domadmin.id)
|
||||
self.assert_(domadmin is not None, msg="no account was created")
|
||||
domadmin.disable(self.apiClient, lock=True, account=domadmin.name, domainid=domadmin.domainid)
|
||||
|
||||
|
|
@ -83,7 +89,7 @@ class ServiceOfferingFactoryTest(unittest.TestCase):
|
|||
self.apiClient = cloudstackTestClient(mgtSvr='localhost', logging=logging.getLogger('factory.cloudstack')).getApiClient()
|
||||
|
||||
def test_serviceOfferingFactory(self):
|
||||
soffering = SmallServiceOfferingFactory.create(apiclient=self.apiClient)
|
||||
soffering = SmallServiceOfferingFactory(apiclient=self.apiClient)
|
||||
self.assert_(soffering is not None, msg="no service offering was created")
|
||||
self.assert_(soffering.name is not None, msg="error in service offering factory creation")
|
||||
|
||||
|
|
@ -97,12 +103,12 @@ class NetworkOfferingFactoryTest(unittest.TestCase):
|
|||
self.apiClient = cloudstackTestClient(mgtSvr='localhost', logging=logging.getLogger('factory.cloudstack')).getApiClient()
|
||||
|
||||
def test_defaultSourceNatOfferingFactory(self):
|
||||
snatOffering = DefaultIsolatedNetworkOfferingWithSourceNatServiceFactory.create(apiclient=self.apiClient)
|
||||
snatOffering = DefaultIsolatedNetworkOfferingWithSourceNatServiceFactory(apiclient=self.apiClient)
|
||||
self.assert_(snatOffering is not None, msg = "no network offering was created")
|
||||
self.assert_(snatOffering.name is not None, msg="error in network offering creation")
|
||||
|
||||
def test_defaultSGOfferingEnable(self):
|
||||
sgOffering = DefaultSharedNetworkOfferingWithSGServiceFactory.create(apiclient=self.apiClient)
|
||||
sgOffering = DefaultSharedNetworkOfferingWithSGServiceFactory(apiclient=self.apiClient)
|
||||
sgOffering.update(self.apiClient, state='Enabled', name=sgOffering.name, id=sgOffering.id)
|
||||
|
||||
def tearDown(self):
|
||||
|
|
@ -114,24 +120,25 @@ class VirtualMachineFactoryTest(unittest.TestCase):
|
|||
self.apiClient = cloudstackTestClient(mgtSvr='localhost', logging=logging.getLogger('factory.cloudstack')).getApiClient()
|
||||
|
||||
def tearDown(self):
|
||||
pass
|
||||
self.vm.destroy(apiclient=self.apiClient)
|
||||
|
||||
def test_virtualMachineDeploy(self):
|
||||
accnt = UserAccountFactory.create(apiclient=self.apiClient)
|
||||
service = SmallServiceOfferingFactory.create(apiclient=self.apiClient)
|
||||
tf = DefaultBuiltInTemplateFactory.build() #FIXME: Using build() strategy is confusing
|
||||
accnt = UserAccountFactory(apiclient=self.apiClient)
|
||||
service = SmallServiceOfferingFactory(apiclient=self.apiClient)
|
||||
tf = DefaultBuiltInTemplateFactory.build()
|
||||
zones = Zone.list(apiclient=self.apiClient)
|
||||
template = Template.list(apiclient=self.apiClient,
|
||||
templatefilter="featured",
|
||||
ostype = tf.ostype,
|
||||
zoneid = zones[0].id)
|
||||
vm = VirtualMachineFactory.create(apiclient=self.apiClient,
|
||||
self.vm = VirtualMachineFactory(apiclient=self.apiClient,
|
||||
serviceofferingid = service.id,
|
||||
templateid = template[0].id,
|
||||
zoneid = zones[0].id,
|
||||
account = accnt.name,
|
||||
domainid = accnt.domainid)
|
||||
vm.destroy(apiclient=self.apiClient)
|
||||
|
||||
|
||||
|
||||
class UserFactorySubFactoryTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
|
|
@ -150,36 +157,61 @@ class UserFactorySubFactoryTest(unittest.TestCase):
|
|||
caller is not to create the user before creating the account
|
||||
@return:
|
||||
"""
|
||||
uf = UserFactory.create(apiclient=self.apiClient)
|
||||
uf = UserFactory(apiclient=self.apiClient)
|
||||
user = User.list(apiclient=self.apiClient, username=uf.username)
|
||||
self.assert_(uf.username == user[0].username, msg="Usernames don't match")
|
||||
|
||||
|
||||
class IpAddressFactoryTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.apiClient = cloudstackTestClient(mgtSvr='localhost', logging=logging.getLogger('factory.cloudstack')).getApiClient()
|
||||
self.apiClient = cloudstackTestClient(mgtSvr='localhost',
|
||||
logging=logging.getLogger('factory.cloudstack')).getApiClient()
|
||||
|
||||
def tearDown(self):
|
||||
self.vm.destroy(apiclient=self.apiClient)
|
||||
|
||||
def test_associateIpAddressToNetwork(self):
|
||||
accnt = UserAccountFactory.create(apiclient=self.apiClient)
|
||||
self.assert_(accnt is not None)
|
||||
# user account where we run test
|
||||
accnt = UserAccountFactory(apiclient=self.apiClient)
|
||||
self.assert_(isinstance(accnt, Account))
|
||||
|
||||
# get required arguments - templates, service offerings, zone
|
||||
service = ServiceOffering.list(apiclient=self.apiClient, displaytext='Small')
|
||||
self.assert_(len(service) > 0)
|
||||
template = Template.list(apiclient=self.apiClient, templatefilter="featured")
|
||||
self.assert_(len(template) > 0)
|
||||
zones = Zone.list(apiclient=self.apiClient)
|
||||
self.vm = VirtualMachineFactory.create(
|
||||
|
||||
self.vm = VirtualMachineFactory(
|
||||
apiclient=self.apiClient,
|
||||
serviceofferingid = service[0].id,
|
||||
templateid = template[0].id,
|
||||
zoneid = zones[0].id,
|
||||
serviceofferingid=service[0].id,
|
||||
templateid=template[0].id,
|
||||
zoneid=zones[0].id,
|
||||
account=accnt.name,
|
||||
domainid=accnt.domainid)
|
||||
|
||||
all_ips = IpAddress.listPublic(apiclient=self.apiClient)
|
||||
firstip = all_ips[0]
|
||||
networks = Network.list(apiclient=self.apiClient, account = accnt.name, domainid = accnt.domainid)
|
||||
networks = Network.list(apiclient=self.apiClient,
|
||||
account = accnt.name, domainid = accnt.domainid)
|
||||
firstip.associate(apiclient=self.apiClient, networkid = networks[0].id)
|
||||
|
||||
|
||||
class NetworkFactoryTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.apiClient = cloudstackTestClient(mgtSvr='localhost',
|
||||
logging=logging.getLogger('factory.cloudstack')).getApiClient()
|
||||
|
||||
def tearDown(self):
|
||||
pass
|
||||
|
||||
@attr(tags='network')
|
||||
def test_isolatedGuestNetwork(self):
|
||||
"""Test to create a network within a guest account
|
||||
@return:
|
||||
"""
|
||||
accnt = UserAccountFactory(apiclient=self.apiClient)
|
||||
zones = Zone.list(apiclient=self.apiClient)
|
||||
network = GuestIsolatedNetworkFactory(
|
||||
apiclient=self.apiClient,
|
||||
zoneid=zones[0].id,
|
||||
)
|
||||
self.debug("network created with id, name" %(network.id, network.name))
|
||||
Loading…
Reference in New Issue