You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ts...@apache.org on 2013/10/02 18:42:01 UTC
[31/50] [abbrv] git commit: updated refs/heads/marvin-refactor to
bbaf354
marvin_refactor: include an example with should-dsl
Signed-off-by: Prasanna Santhanam <ts...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/c640a328
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/c640a328
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/c640a328
Branch: refs/heads/marvin-refactor
Commit: c640a328d55f5a19d737585a74df5c11cfc8477f
Parents: 1b82d7c
Author: Prasanna Santhanam <ts...@apache.org>
Authored: Fri Sep 13 15:58:33 2013 +0530
Committer: Prasanna Santhanam <ts...@apache.org>
Committed: Wed Oct 2 20:27:51 2013 +0530
----------------------------------------------------------------------
tools/marvin/marvin/test/test_factories.py | 110 +++++++++++++-----------
1 file changed, 62 insertions(+), 48 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c640a328/tools/marvin/marvin/test/test_factories.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/test/test_factories.py b/tools/marvin/marvin/test/test_factories.py
index 81e78a7..c2c823c 100644
--- a/tools/marvin/marvin/test/test_factories.py
+++ b/tools/marvin/marvin/test/test_factories.py
@@ -18,6 +18,7 @@
import unittest
import logging
from nose.plugins.attrib import attr
+from should_dsl import should, should_not
from marvin.cloudstackTestClient import cloudstackTestClient
@@ -31,16 +32,15 @@ from marvin.factory.data.network import *
from marvin.factory.virtualmachine import *
from marvin.entity.serviceoffering import ServiceOffering
+from marvin.entity.networkoffering import NetworkOffering
from marvin.entity.zone import Zone
from marvin.entity.account import Account
from marvin.entity.template import Template
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()
@@ -115,6 +115,65 @@ class NetworkOfferingFactoryTest(unittest.TestCase):
pass
+class UserFactorySubFactoryTest(unittest.TestCase):
+ def setUp(self):
+ self.apiClient = cloudstackTestClient(mgtSvr='localhost', logging=logging.getLogger('factory.cloudstack')).getApiClient()
+
+ def tearDown(self):
+ pass
+
+ @unittest.skip("This is a chicken and egg problem")
+ def test_userSubFactory(self):
+ """
+ Skip because users are contained in accounts but
+ cannot be created until accounts exist
+
+ A subfactory is unsuitable as the semantics of the
+ caller is not to create the user before creating the account
+ @return:
+ """
+ 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 NetworkFactoryTest(unittest.TestCase):
+ def setUp(self):
+ self.apiClient = cloudstackTestClient(mgtSvr='localhost',
+ logging=logging.getLogger('factory.cloudstack')).getApiClient()
+
+ def tearDown(self):
+ self.accnt.delete(apiclient=self.apiClient)
+
+ @attr(tags='network')
+ def test_isolatedGuestNetwork(self):
+ """Test to create a network within a guest account
+ @return:
+ """
+ self.accnt = UserAccountFactory(apiclient=self.apiClient)
+ zones = Zone.list(apiclient=self.apiClient)
+ network = GuestIsolatedNetworkFactory(
+ apiclient=self.apiClient,
+ zoneid=zones[0].id
+ )
+ logging.getLogger('factory.cloudstack').debug("network created with id %s, name %s" %(network.id, network.name))
+
+
+class NetworkOfferingFactoryWithMultiplePostHooksTest(unittest.TestCase):
+ def setUp(self):
+ self.apiClient = cloudstackTestClient(mgtSvr='localhost',
+ logging=logging.getLogger('factory.cloudstack')).getApiClient()
+
+ @attr(tags='post')
+ def test_multiplePostHooksNetworkOffering(self):
+ sharedOffering = DefaultSharedNetworkOfferingFactory(apiclient=self.apiClient)
+ sharedOffering |should| be_instance_of(NetworkOffering)
+ sharedOffering |should_not| equal_to(None)
+ sharedOffering.state |should| equal_to('Enabled')
+ logging.getLogger('factory.cloudstack').debug("networkoffering created with id %s, name %s, state %s"
+ %(sharedOffering.id, sharedOffering.name, sharedOffering.state))
+
+
class VirtualMachineFactoryTest(unittest.TestCase):
def setUp(self):
self.apiClient = cloudstackTestClient(mgtSvr='localhost', logging=logging.getLogger('factory.cloudstack')).getApiClient()
@@ -139,29 +198,6 @@ class VirtualMachineFactoryTest(unittest.TestCase):
domainid = accnt.domainid)
-
-class UserFactorySubFactoryTest(unittest.TestCase):
- def setUp(self):
- self.apiClient = cloudstackTestClient(mgtSvr='localhost', logging=logging.getLogger('factory.cloudstack')).getApiClient()
-
- def tearDown(self):
- pass
-
- @unittest.skip("This is a chicken and egg problem")
- def test_userSubFactory(self):
- """
- Skip because users are contained in accounts but
- cannot be created until accounts exist
-
- A subfactory is unsuitable as the semantics of the
- caller is not to create the user before creating the account
- @return:
- """
- 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',
@@ -192,26 +228,4 @@ class IpAddressFactoryTest(unittest.TestCase):
firstip = all_ips[0]
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):
- self.accnt.delete(apiclient=self.apiClient)
-
- @attr(tags='network')
- def test_isolatedGuestNetwork(self):
- """Test to create a network within a guest account
- @return:
- """
- self.accnt = UserAccountFactory(apiclient=self.apiClient)
- zones = Zone.list(apiclient=self.apiClient)
- network = GuestIsolatedNetworkFactory(
- apiclient=self.apiClient,
- zoneid=zones[0].id
- )
- logging.getLogger('factory.cloudstack').debug("network created with id %s, name %s" %(network.id, network.name))
\ No newline at end of file
+ firstip.associate(apiclient=self.apiClient, networkid = networks[0].id)
\ No newline at end of file