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/01/26 17:21:38 UTC
[48/50] [abbrv] marvin-refactor: create takes factories not reqd args
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py b/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py
index 4d6f06d..6c4a8a3 100644
--- a/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py
+++ b/tools/marvin/marvin/integration/lib/base/TrafficMonitor.py
@@ -17,10 +17,15 @@
from . import CloudStackEntity
class TrafficMonitor(CloudStackEntity):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
def add(self, apiclient, url, zoneid, **kwargs):
pass
- def list(self, apiclient, zoneid, **kwargs):
+ @classmethod
+ def list(cls, apiclient, **kwargs):
pass
def delete(self, apiclient, id, **kwargs):
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/TrafficType.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/TrafficType.py b/tools/marvin/marvin/integration/lib/base/TrafficType.py
index facc145..bc4ac2e 100644
--- a/tools/marvin/marvin/integration/lib/base/TrafficType.py
+++ b/tools/marvin/marvin/integration/lib/base/TrafficType.py
@@ -17,10 +17,15 @@
from . import CloudStackEntity
class TrafficType(CloudStackEntity):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
def add(self, apiclient, traffictype, physicalnetworkid, **kwargs):
pass
- def list(self, apiclient, physicalnetworkid, **kwargs):
+ @classmethod
+ def list(cls, apiclient, **kwargs):
pass
def update(self, apiclient, id, **kwargs):
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/TrafficTypeImplementors.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/TrafficTypeImplementors.py b/tools/marvin/marvin/integration/lib/base/TrafficTypeImplementors.py
index 28b1b27..24d6bfe 100644
--- a/tools/marvin/marvin/integration/lib/base/TrafficTypeImplementors.py
+++ b/tools/marvin/marvin/integration/lib/base/TrafficTypeImplementors.py
@@ -17,6 +17,11 @@
from . import CloudStackEntity
class TrafficTypeImplementors(CloudStackEntity):
- def list(self, apiclient, **kwargs):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
+ @classmethod
+ def list(cls, apiclient, **kwargs):
pass
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/UsageRecords.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/UsageRecords.py b/tools/marvin/marvin/integration/lib/base/UsageRecords.py
index 1892519..f7800e2 100644
--- a/tools/marvin/marvin/integration/lib/base/UsageRecords.py
+++ b/tools/marvin/marvin/integration/lib/base/UsageRecords.py
@@ -17,7 +17,12 @@
from . import CloudStackEntity
class UsageRecords(CloudStackEntity):
- def list(self, apiclient, startdate, enddate, **kwargs):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
+ @classmethod
+ def list(cls, apiclient, **kwargs):
pass
def generate(self, apiclient, startdate, enddate, **kwargs):
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/UsageTypes.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/UsageTypes.py b/tools/marvin/marvin/integration/lib/base/UsageTypes.py
index 49dd950..c6585fc 100644
--- a/tools/marvin/marvin/integration/lib/base/UsageTypes.py
+++ b/tools/marvin/marvin/integration/lib/base/UsageTypes.py
@@ -17,6 +17,11 @@
from . import CloudStackEntity
class UsageTypes(CloudStackEntity):
- def list(self, apiclient):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
+ @classmethod
+ def list(cls, apiclient):
pass
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/User.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/User.py b/tools/marvin/marvin/integration/lib/base/User.py
index f494e2a..7b1dcb5 100644
--- a/tools/marvin/marvin/integration/lib/base/User.py
+++ b/tools/marvin/marvin/integration/lib/base/User.py
@@ -17,6 +17,10 @@
from . import CloudStackEntity
class User(CloudStackEntity):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
def enable(self, apiclient, id, **kwargs):
pass
@@ -26,10 +30,12 @@ class User(CloudStackEntity):
def lock(self, apiclient, id, **kwargs):
pass
- def create(self, apiclient, UserFactory, username, account, firstname, lastname, password, email, **kwargs):
+ @classmethod
+ def create(cls, apiclient, UserFactory, **kwargs):
pass
- def list(self, apiclient, **kwargs):
+ @classmethod
+ def list(cls, apiclient, **kwargs):
pass
def update(self, apiclient, id, **kwargs):
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/UserKeys.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/UserKeys.py b/tools/marvin/marvin/integration/lib/base/UserKeys.py
index d4980ad..560d65b 100644
--- a/tools/marvin/marvin/integration/lib/base/UserKeys.py
+++ b/tools/marvin/marvin/integration/lib/base/UserKeys.py
@@ -17,6 +17,10 @@
from . import CloudStackEntity
class UserKeys(CloudStackEntity):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
def register(self, apiclient, id, **kwargs):
pass
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/VMPassword.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VMPassword.py b/tools/marvin/marvin/integration/lib/base/VMPassword.py
index acf6e65..854d309 100644
--- a/tools/marvin/marvin/integration/lib/base/VMPassword.py
+++ b/tools/marvin/marvin/integration/lib/base/VMPassword.py
@@ -17,6 +17,10 @@
from . import CloudStackEntity
class VMPassword(CloudStackEntity):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
def get(self, apiclient, id, **kwargs):
pass
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/VPC.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VPC.py b/tools/marvin/marvin/integration/lib/base/VPC.py
index 2661fbf..ef6a470 100644
--- a/tools/marvin/marvin/integration/lib/base/VPC.py
+++ b/tools/marvin/marvin/integration/lib/base/VPC.py
@@ -17,10 +17,16 @@
from . import CloudStackEntity
class VPC(CloudStackEntity):
- def create(self, apiclient, VPCFactory, cidr, zoneid, displaytext, name, vpcofferingid, **kwargs):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
+ @classmethod
+ def create(cls, apiclient, VPCFactory, **kwargs):
pass
- def list(self, apiclient, **kwargs):
+ @classmethod
+ def list(cls, apiclient, **kwargs):
pass
def update(self, apiclient, **kwargs):
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/VPCOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VPCOffering.py b/tools/marvin/marvin/integration/lib/base/VPCOffering.py
index bdfd40c..52af1f6 100644
--- a/tools/marvin/marvin/integration/lib/base/VPCOffering.py
+++ b/tools/marvin/marvin/integration/lib/base/VPCOffering.py
@@ -17,10 +17,16 @@
from . import CloudStackEntity
class VPCOffering(CloudStackEntity):
- def create(self, apiclient, VPCOfferingFactory, displaytext, name, supportedservices, **kwargs):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
+ @classmethod
+ def create(cls, apiclient, VPCOfferingFactory, **kwargs):
pass
- def list(self, apiclient, **kwargs):
+ @classmethod
+ def list(cls, apiclient, **kwargs):
pass
def update(self, apiclient, **kwargs):
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/VirtualMachine.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VirtualMachine.py b/tools/marvin/marvin/integration/lib/base/VirtualMachine.py
index a8fab46..5479a7e 100644
--- a/tools/marvin/marvin/integration/lib/base/VirtualMachine.py
+++ b/tools/marvin/marvin/integration/lib/base/VirtualMachine.py
@@ -17,16 +17,22 @@
from . import CloudStackEntity
class VirtualMachine(CloudStackEntity):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
def restore(self, apiclient, virtualmachineid, **kwargs):
pass
- def deploy(self, apiclient, zoneid, serviceofferingid, templateid, **kwargs):
+ @classmethod
+ def deploy(cls, apiclient, VirtualMachineFactory, **kwargs):
pass
def migrate(self, apiclient, virtualmachineid, **kwargs):
pass
- def list(self, apiclient, **kwargs):
+ @classmethod
+ def list(cls, apiclient, **kwargs):
pass
def stop(self, apiclient, id, **kwargs):
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/VirtualRouterElement.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VirtualRouterElement.py b/tools/marvin/marvin/integration/lib/base/VirtualRouterElement.py
index 74ba5a5..1012f0d 100644
--- a/tools/marvin/marvin/integration/lib/base/VirtualRouterElement.py
+++ b/tools/marvin/marvin/integration/lib/base/VirtualRouterElement.py
@@ -17,10 +17,16 @@
from . import CloudStackEntity
class VirtualRouterElement(CloudStackEntity):
- def create(self, apiclient, VirtualRouterElementFactory, nspid, **kwargs):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
+ @classmethod
+ def create(cls, apiclient, VirtualRouterElementFactory, **kwargs):
pass
- def list(self, apiclient, **kwargs):
+ @classmethod
+ def list(cls, apiclient, **kwargs):
pass
def configure(self, apiclient, enabled, id, **kwargs):
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/VlanIpRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VlanIpRange.py b/tools/marvin/marvin/integration/lib/base/VlanIpRange.py
index 79f4bcd..5cfb622 100644
--- a/tools/marvin/marvin/integration/lib/base/VlanIpRange.py
+++ b/tools/marvin/marvin/integration/lib/base/VlanIpRange.py
@@ -17,10 +17,16 @@
from . import CloudStackEntity
class VlanIpRange(CloudStackEntity):
- def create(self, apiclient, VlanIpRangeFactory, startip, **kwargs):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
+ @classmethod
+ def create(cls, apiclient, VlanIpRangeFactory, **kwargs):
pass
- def list(self, apiclient, **kwargs):
+ @classmethod
+ def list(cls, apiclient, **kwargs):
pass
def delete(self, apiclient, id, **kwargs):
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Volume.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Volume.py b/tools/marvin/marvin/integration/lib/base/Volume.py
index fa3c271..0a4fb4d 100644
--- a/tools/marvin/marvin/integration/lib/base/Volume.py
+++ b/tools/marvin/marvin/integration/lib/base/Volume.py
@@ -17,13 +17,19 @@
from . import CloudStackEntity
class Volume(CloudStackEntity):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
def migrate(self, apiclient, storageid, volumeid, **kwargs):
pass
- def create(self, apiclient, VolumeFactory, name, **kwargs):
+ @classmethod
+ def create(cls, apiclient, VolumeFactory, **kwargs):
pass
- def list(self, apiclient, **kwargs):
+ @classmethod
+ def list(cls, apiclient, **kwargs):
pass
def upload(self, apiclient, url, zoneid, name, format, **kwargs):
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/VpnConnection.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VpnConnection.py b/tools/marvin/marvin/integration/lib/base/VpnConnection.py
index 95eba9c..0bf2df4 100644
--- a/tools/marvin/marvin/integration/lib/base/VpnConnection.py
+++ b/tools/marvin/marvin/integration/lib/base/VpnConnection.py
@@ -17,13 +17,19 @@
from . import CloudStackEntity
class VpnConnection(CloudStackEntity):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
def reset(self, apiclient, id, **kwargs):
pass
- def create(self, apiclient, VpnConnectionFactory, s2scustomergatewayid, s2svpngatewayid, **kwargs):
+ @classmethod
+ def create(cls, apiclient, VpnConnectionFactory, **kwargs):
pass
- def list(self, apiclient, **kwargs):
+ @classmethod
+ def list(cls, apiclient, **kwargs):
pass
def delete(self, apiclient, id, **kwargs):
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/VpnCustomerGateway.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VpnCustomerGateway.py b/tools/marvin/marvin/integration/lib/base/VpnCustomerGateway.py
index 40c661e..ad76f8c 100644
--- a/tools/marvin/marvin/integration/lib/base/VpnCustomerGateway.py
+++ b/tools/marvin/marvin/integration/lib/base/VpnCustomerGateway.py
@@ -17,10 +17,16 @@
from . import CloudStackEntity
class VpnCustomerGateway(CloudStackEntity):
- def create(self, apiclient, VpnCustomerGatewayFactory, ipsecpsk, cidrlist, esppolicy, ikepolicy, gateway, **kwargs):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
+ @classmethod
+ def create(cls, apiclient, VpnCustomerGatewayFactory, **kwargs):
pass
- def list(self, apiclient, **kwargs):
+ @classmethod
+ def list(cls, apiclient, **kwargs):
pass
def update(self, apiclient, ikepolicy, cidrlist, gateway, ipsecpsk, esppolicy, id, **kwargs):
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/VpnGateway.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VpnGateway.py b/tools/marvin/marvin/integration/lib/base/VpnGateway.py
index 2ba149f..974a3da 100644
--- a/tools/marvin/marvin/integration/lib/base/VpnGateway.py
+++ b/tools/marvin/marvin/integration/lib/base/VpnGateway.py
@@ -17,10 +17,16 @@
from . import CloudStackEntity
class VpnGateway(CloudStackEntity):
- def create(self, apiclient, VpnGatewayFactory, vpcid, **kwargs):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
+ @classmethod
+ def create(cls, apiclient, VpnGatewayFactory, **kwargs):
pass
- def list(self, apiclient, **kwargs):
+ @classmethod
+ def list(cls, apiclient, **kwargs):
pass
def delete(self, apiclient, id, **kwargs):
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/VpnUser.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/VpnUser.py b/tools/marvin/marvin/integration/lib/base/VpnUser.py
index 7f8a260..a277ab0 100644
--- a/tools/marvin/marvin/integration/lib/base/VpnUser.py
+++ b/tools/marvin/marvin/integration/lib/base/VpnUser.py
@@ -17,10 +17,15 @@
from . import CloudStackEntity
class VpnUser(CloudStackEntity):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
def add(self, apiclient, username, password, **kwargs):
pass
- def list(self, apiclient, **kwargs):
+ @classmethod
+ def list(cls, apiclient, **kwargs):
pass
def remove(self, apiclient, username, **kwargs):
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/base/Zone.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/base/Zone.py b/tools/marvin/marvin/integration/lib/base/Zone.py
index d663eec..530c5b6 100644
--- a/tools/marvin/marvin/integration/lib/base/Zone.py
+++ b/tools/marvin/marvin/integration/lib/base/Zone.py
@@ -17,10 +17,16 @@
from . import CloudStackEntity
class Zone(CloudStackEntity):
- def create(self, apiclient, ZoneFactory, networktype, dns1, internaldns1, name, **kwargs):
+ def __init__(self, items):
+ self.__dict__.update(items)
+
+
+ @classmethod
+ def create(cls, apiclient, ZoneFactory, **kwargs):
pass
- def list(self, apiclient, **kwargs):
+ @classmethod
+ def list(cls, apiclient, **kwargs):
pass
def update(self, apiclient, id, **kwargs):
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/factory/AccountFactory.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/factory/AccountFactory.py b/tools/marvin/marvin/integration/lib/factory/AccountFactory.py
index f32979b..0e5428f 100644
--- a/tools/marvin/marvin/integration/lib/factory/AccountFactory.py
+++ b/tools/marvin/marvin/integration/lib/factory/AccountFactory.py
@@ -15,14 +15,31 @@
# specific language governing permissions and limitations
# under the License.
import factory
+import hashlib
from marvin.integration.lib.base import Account
+from marvin.integration.lib.utils import random_gen
+
class AccountFactory(factory.Factory):
FACTORY_FOR = Account
- accounttype = None
- email = None
- firstname = None
- lastname = None
- password = None
+ #0 - User, 1 - Root Admin, 2 - Domain Admin
+ accounttype = 0
+ email = factory.LazyAttribute(lambda e: '{0}.{1}@cloudstack.org'.format(e.firstname, e.lastname)).lower()
+ firstname = 'fname-'+random_gen()
+ lastname = 'lname-'+random_gen()
username = None
+
+ # Password Encoding
+ mdf = hashlib.md5()
+ mdf.update('password')
+ password = mdf.hexdigest()
+
+
+class AdminAccountFactory(AccountFactory):
+ accounttype = 1
+
+
+class DomainAdminFactory(AccountFactory):
+ accounttype = 2
+ domainid = None
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7d4124c5/tools/marvin/marvin/integration/lib/generateBase.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/integration/lib/generateBase.py b/tools/marvin/marvin/integration/lib/generateBase.py
index 3e3dc79..d4f718c 100644
--- a/tools/marvin/marvin/integration/lib/generateBase.py
+++ b/tools/marvin/marvin/integration/lib/generateBase.py
@@ -110,15 +110,22 @@ def write_entity_classes(entities):
for entity, actions in entities.iteritems():
code = 'from . import CloudStackEntity\n'
code += 'class %s(CloudStackEntity):'%entity
+ code += '\n\n'
+ code += tabspace + 'def __init__(self, items):\n'
+ code += tabspace*2 + 'self.__dict__.update(items)\n'
for action, args in actions.iteritems():
code += '\n\n'
+ if action in ['create', 'list', 'deploy']:
+ code += tabspace + '@classmethod\n'
code += tabspace
- if action.startswith('create'):
- code += 'def %s(self, apiclient, %sFactory'%(action, entity)
+ if action in ['create', 'deploy']:
+ code += 'def %s(cls, apiclient, %sFactory'%(action, entity)
+ elif action in ['list']:
+ code += 'def %s(cls, apiclient'%(action)
else:
code += 'def %s(self, apiclient'%(action)
- if len(args[0]) > 0:
- code += ', ' + ', '.join(list(set(args[0])))
+ if len(args[0]) > 0:
+ code += ', ' + ', '.join(list(set(args[0])))
if len(args[1]) > 0:
code += ', **kwargs):\n'
else: