marvin_refactor: factories for each api entity

factories will help define default test data for each entity. So a

Account.create(apiclient) returns a default account
VirtualMachine.deploy(apiclient) returns a virtualmachine etc

WIP: only skeletons, no flesh

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
This commit is contained in:
Prasanna Santhanam 2013-01-23 19:34:25 +05:30
parent a5bd827c24
commit dda9ae28f3
64 changed files with 651 additions and 0 deletions

View File

@ -0,0 +1,8 @@
import factory
from marvin.integration.lib.newbase import AccountFromProject
class AccountFromProjectFactory(factory.Factory):
FACTORY_FOR = AccountFromProject
account = None
projectid = None

View File

@ -0,0 +1,7 @@
import factory
from marvin.integration.lib.newbase import AccountToProject
class AccountToProjectFactory(factory.Factory):
FACTORY_FOR = AccountToProject
projectid = None

View File

@ -0,0 +1,5 @@
import factory
from marvin.integration.lib.newbase import Alerts
class AlertsFactory(factory.Factory):
FACTORY_FOR = Alerts

View File

@ -0,0 +1,5 @@
import factory
from marvin.integration.lib.newbase import Apis
class ApisFactory(factory.Factory):
FACTORY_FOR = Apis

View File

@ -0,0 +1,7 @@
import factory
from marvin.integration.lib.newbase import AsyncJobResult
class AsyncJobResultFactory(factory.Factory):
FACTORY_FOR = AsyncJobResult
jobid = None

View File

@ -0,0 +1,5 @@
import factory
from marvin.integration.lib.newbase import AsyncJobs
class AsyncJobsFactory(factory.Factory):
FACTORY_FOR = AsyncJobs

View File

@ -0,0 +1,5 @@
import factory
from marvin.integration.lib.newbase import AutoScalePolicies
class AutoScalePoliciesFactory(factory.Factory):
FACTORY_FOR = AutoScalePolicies

View File

@ -0,0 +1,5 @@
import factory
from marvin.integration.lib.newbase import Capabilities
class CapabilitiesFactory(factory.Factory):
FACTORY_FOR = Capabilities

View File

@ -0,0 +1,5 @@
import factory
from marvin.integration.lib.newbase import Capacity
class CapacityFactory(factory.Factory):
FACTORY_FOR = Capacity

View File

@ -0,0 +1,7 @@
import factory
from marvin.integration.lib.newbase import CloudIdentifier
class CloudIdentifierFactory(factory.Factory):
FACTORY_FOR = CloudIdentifier
userid = None

View File

@ -0,0 +1,25 @@
import factory
from marvin.integration.lib.newbase import Cluster
class ClusterFactory(factory.Factory):
FACTORY_FOR = Cluster
clustername = None
clustertype = None
hypervisor = None
podid = None
zoneid = None
FACTORY_FOR = Cluster
FACTORY_FOR = Cluster
id = None
FACTORY_FOR = Cluster
id = None

View File

@ -0,0 +1,9 @@
import factory
from marvin.integration.lib.newbase import Config
class ConfigFactory(factory.Factory):
FACTORY_FOR = Config
hostname = None
queryfilter = None
searchbase = None

View File

@ -0,0 +1,11 @@
import factory
from marvin.integration.lib.newbase import Configuration
class ConfigurationFactory(factory.Factory):
FACTORY_FOR = Configuration
FACTORY_FOR = Configuration
name = None

View File

@ -0,0 +1,8 @@
import factory
from marvin.integration.lib.newbase import CustomCertificate
class CustomCertificateFactory(factory.Factory):
FACTORY_FOR = CustomCertificate
certificate = None
domainsuffix = None

View File

@ -0,0 +1,9 @@
import factory
from marvin.integration.lib.newbase import DefaultZoneForAccount
class DefaultZoneForAccountFactory(factory.Factory):
FACTORY_FOR = DefaultZoneForAccount
account = None
domainid = None
zoneid = None

View File

@ -0,0 +1,5 @@
import factory
from marvin.integration.lib.newbase import DomainChildren
class DomainChildrenFactory(factory.Factory):
FACTORY_FOR = DomainChildren

View File

@ -0,0 +1,5 @@
import factory
from marvin.integration.lib.newbase import EventTypes
class EventTypesFactory(factory.Factory):
FACTORY_FOR = EventTypes

View File

@ -0,0 +1,5 @@
import factory
from marvin.integration.lib.newbase import Events
class EventsFactory(factory.Factory):
FACTORY_FOR = Events

View File

@ -0,0 +1,8 @@
import factory
from marvin.integration.lib.newbase import FromLoadBalancerRule
class FromLoadBalancerRuleFactory(factory.Factory):
FACTORY_FOR = FromLoadBalancerRule
id = None
virtualmachineids = None

View File

@ -0,0 +1,31 @@
import factory
from marvin.integration.lib.newbase import Host
class HostFactory(factory.Factory):
FACTORY_FOR = Host
hypervisor = None
password = None
podid = None
url = None
username = None
zoneid = None
FACTORY_FOR = Host
FACTORY_FOR = Host
id = None
FACTORY_FOR = Host
id = None
FACTORY_FOR = Host
id = None

View File

@ -0,0 +1,7 @@
import factory
from marvin.integration.lib.newbase import HostForMaintenance
class HostForMaintenanceFactory(factory.Factory):
FACTORY_FOR = HostForMaintenance
id = None

View File

@ -0,0 +1,7 @@
import factory
from marvin.integration.lib.newbase import HostMaintenance
class HostMaintenanceFactory(factory.Factory):
FACTORY_FOR = HostMaintenance
id = None

View File

@ -0,0 +1,8 @@
import factory
from marvin.integration.lib.newbase import HostPassword
class HostPasswordFactory(factory.Factory):
FACTORY_FOR = HostPassword
password = None
username = None

View File

@ -0,0 +1,9 @@
import factory
from marvin.integration.lib.newbase import HypervisorCapabilities
class HypervisorCapabilitiesFactory(factory.Factory):
FACTORY_FOR = HypervisorCapabilities
FACTORY_FOR = HypervisorCapabilities

View File

@ -0,0 +1,5 @@
import factory
from marvin.integration.lib.newbase import Hypervisors
class HypervisorsFactory(factory.Factory):
FACTORY_FOR = Hypervisors

View File

@ -0,0 +1,12 @@
import factory
from marvin.integration.lib.newbase import IsoPermissions
class IsoPermissionsFactory(factory.Factory):
FACTORY_FOR = IsoPermissions
id = None
FACTORY_FOR = IsoPermissions
id = None

View File

@ -0,0 +1,7 @@
import factory
from marvin.integration.lib.newbase import LBStickinessPolicies
class LBStickinessPoliciesFactory(factory.Factory):
FACTORY_FOR = LBStickinessPolicies
lbruleid = None

View File

@ -0,0 +1,7 @@
import factory
from marvin.integration.lib.newbase import LoadBalancerRuleInstances
class LoadBalancerRuleInstancesFactory(factory.Factory):
FACTORY_FOR = LoadBalancerRuleInstances
id = None

View File

@ -0,0 +1,15 @@
import factory
from marvin.integration.lib.newbase import NetworkDevice
class NetworkDeviceFactory(factory.Factory):
FACTORY_FOR = NetworkDevice
FACTORY_FOR = NetworkDevice
FACTORY_FOR = NetworkDevice
id = None

View File

@ -0,0 +1,22 @@
import factory
from marvin.integration.lib.newbase import NetworkServiceProvider
class NetworkServiceProviderFactory(factory.Factory):
FACTORY_FOR = NetworkServiceProvider
name = None
physicalnetworkid = None
FACTORY_FOR = NetworkServiceProvider
FACTORY_FOR = NetworkServiceProvider
id = None
FACTORY_FOR = NetworkServiceProvider
id = None

View File

@ -0,0 +1,20 @@
import factory
from marvin.integration.lib.newbase import NiciraNvpDevice
class NiciraNvpDeviceFactory(factory.Factory):
FACTORY_FOR = NiciraNvpDevice
hostname = None
password = None
physicalnetworkid = None
transportzoneuuid = None
username = None
FACTORY_FOR = NiciraNvpDevice
FACTORY_FOR = NiciraNvpDevice
nvpdeviceid = None

View File

@ -0,0 +1,7 @@
import factory
from marvin.integration.lib.newbase import NiciraNvpDeviceNetworks
class NiciraNvpDeviceNetworksFactory(factory.Factory):
FACTORY_FOR = NiciraNvpDeviceNetworks
nvpdeviceid = None

View File

@ -0,0 +1,5 @@
import factory
from marvin.integration.lib.newbase import OsCategories
class OsCategoriesFactory(factory.Factory):
FACTORY_FOR = OsCategories

View File

@ -0,0 +1,5 @@
import factory
from marvin.integration.lib.newbase import OsTypes
class OsTypesFactory(factory.Factory):
FACTORY_FOR = OsTypes

View File

@ -0,0 +1,7 @@
import factory
from marvin.integration.lib.newbase import PasswordForVirtualMachine
class PasswordForVirtualMachineFactory(factory.Factory):
FACTORY_FOR = PasswordForVirtualMachine
id = None

View File

@ -0,0 +1,7 @@
import factory
from marvin.integration.lib.newbase import ProjectAccounts
class ProjectAccountsFactory(factory.Factory):
FACTORY_FOR = ProjectAccounts
projectid = None

View File

@ -0,0 +1,16 @@
import factory
from marvin.integration.lib.newbase import ProjectInvitation
class ProjectInvitationFactory(factory.Factory):
FACTORY_FOR = ProjectInvitation
FACTORY_FOR = ProjectInvitation
projectid = None
FACTORY_FOR = ProjectInvitation
id = None

View File

@ -0,0 +1,5 @@
import factory
from marvin.integration.lib.newbase import PublicIpAddresses
class PublicIpAddressesFactory(factory.Factory):
FACTORY_FOR = PublicIpAddresses

View File

@ -0,0 +1,5 @@
import factory
from marvin.integration.lib.newbase import Remove
class RemoveFactory(factory.Factory):
FACTORY_FOR = Remove

View File

@ -0,0 +1,7 @@
import factory
from marvin.integration.lib.newbase import ResourceCount
class ResourceCountFactory(factory.Factory):
FACTORY_FOR = ResourceCount
domainid = None

View File

@ -0,0 +1,11 @@
import factory
from marvin.integration.lib.newbase import ResourceLimit
class ResourceLimitFactory(factory.Factory):
FACTORY_FOR = ResourceLimit
FACTORY_FOR = ResourceLimit
resourcetype = None

View File

@ -0,0 +1,26 @@
import factory
from marvin.integration.lib.newbase import Router
class RouterFactory(factory.Factory):
FACTORY_FOR = Router
id = None
FACTORY_FOR = Router
FACTORY_FOR = Router
id = None
FACTORY_FOR = Router
id = None
FACTORY_FOR = Router
id = None

View File

@ -0,0 +1,12 @@
import factory
from marvin.integration.lib.newbase import S3
class S3Factory(factory.Factory):
FACTORY_FOR = S3
accesskey = None
bucket = None
secretkey = None
FACTORY_FOR = S3

View File

@ -0,0 +1,7 @@
import factory
from marvin.integration.lib.newbase import SecondaryStorage
class SecondaryStorageFactory(factory.Factory):
FACTORY_FOR = SecondaryStorage
url = None

View File

@ -0,0 +1,11 @@
import factory
from marvin.integration.lib.newbase import SecurityGroupEgress
class SecurityGroupEgressFactory(factory.Factory):
FACTORY_FOR = SecurityGroupEgress
FACTORY_FOR = SecurityGroupEgress
id = None

View File

@ -0,0 +1,11 @@
import factory
from marvin.integration.lib.newbase import SecurityGroupIngress
class SecurityGroupIngressFactory(factory.Factory):
FACTORY_FOR = SecurityGroupIngress
FACTORY_FOR = SecurityGroupIngress
id = None

View File

@ -0,0 +1,8 @@
import factory
from marvin.integration.lib.newbase import ServiceForRouter
class ServiceForRouterFactory(factory.Factory):
FACTORY_FOR = ServiceForRouter
id = None
serviceofferingid = None

View File

@ -0,0 +1,8 @@
import factory
from marvin.integration.lib.newbase import ServiceForSystemVm
class ServiceForSystemVmFactory(factory.Factory):
FACTORY_FOR = ServiceForSystemVm
id = None
serviceofferingid = None

View File

@ -0,0 +1,8 @@
import factory
from marvin.integration.lib.newbase import ServiceForVirtualMachine
class ServiceForVirtualMachineFactory(factory.Factory):
FACTORY_FOR = ServiceForVirtualMachine
id = None
serviceofferingid = None

View File

@ -0,0 +1,10 @@
import factory
from marvin.integration.lib.newbase import SnapshotPolicies
class SnapshotPoliciesFactory(factory.Factory):
FACTORY_FOR = SnapshotPolicies
volumeid = None
FACTORY_FOR = SnapshotPolicies

View File

@ -0,0 +1,13 @@
import factory
from marvin.integration.lib.newbase import StaticNat
class StaticNatFactory(factory.Factory):
FACTORY_FOR = StaticNat
ipaddressid = None
virtualmachineid = None
FACTORY_FOR = StaticNat
ipaddressid = None

View File

@ -0,0 +1,12 @@
import factory
from marvin.integration.lib.newbase import StorageMaintenance
class StorageMaintenanceFactory(factory.Factory):
FACTORY_FOR = StorageMaintenance
id = None
FACTORY_FOR = StorageMaintenance
id = None

View File

@ -0,0 +1,5 @@
import factory
from marvin.integration.lib.newbase import SupportedNetworkServices
class SupportedNetworkServicesFactory(factory.Factory):
FACTORY_FOR = SupportedNetworkServices

View File

@ -0,0 +1,10 @@
import factory
from marvin.integration.lib.newbase import Swift
class SwiftFactory(factory.Factory):
FACTORY_FOR = Swift
url = None
FACTORY_FOR = Swift

View File

@ -0,0 +1,32 @@
import factory
from marvin.integration.lib.newbase import SystemVm
class SystemVmFactory(factory.Factory):
FACTORY_FOR = SystemVm
hostid = None
virtualmachineid = None
FACTORY_FOR = SystemVm
id = None
FACTORY_FOR = SystemVm
FACTORY_FOR = SystemVm
id = None
FACTORY_FOR = SystemVm
id = None
FACTORY_FOR = SystemVm
id = None

View File

@ -0,0 +1,12 @@
import factory
from marvin.integration.lib.newbase import TemplatePermissions
class TemplatePermissionsFactory(factory.Factory):
FACTORY_FOR = TemplatePermissions
id = None
FACTORY_FOR = TemplatePermissions
id = None

View File

@ -0,0 +1,8 @@
import factory
from marvin.integration.lib.newbase import ToLoadBalancerRule
class ToLoadBalancerRuleFactory(factory.Factory):
FACTORY_FOR = ToLoadBalancerRule
id = None
virtualmachineids = None

View File

@ -0,0 +1,18 @@
import factory
from marvin.integration.lib.newbase import TrafficMonitor
class TrafficMonitorFactory(factory.Factory):
FACTORY_FOR = TrafficMonitor
url = None
zoneid = None
FACTORY_FOR = TrafficMonitor
zoneid = None
FACTORY_FOR = TrafficMonitor
id = None

View File

@ -0,0 +1,23 @@
import factory
from marvin.integration.lib.newbase import TrafficType
class TrafficTypeFactory(factory.Factory):
FACTORY_FOR = TrafficType
physicalnetworkid = None
traffictype = None
FACTORY_FOR = TrafficType
physicalnetworkid = None
FACTORY_FOR = TrafficType
id = None
FACTORY_FOR = TrafficType
id = None

View File

@ -0,0 +1,5 @@
import factory
from marvin.integration.lib.newbase import TrafficTypeImplementors
class TrafficTypeImplementorsFactory(factory.Factory):
FACTORY_FOR = TrafficTypeImplementors

View File

@ -0,0 +1,14 @@
import factory
from marvin.integration.lib.newbase import UsageRecords
class UsageRecordsFactory(factory.Factory):
FACTORY_FOR = UsageRecords
enddate = None
startdate = None
FACTORY_FOR = UsageRecords
enddate = None
startdate = None

View File

@ -0,0 +1,5 @@
import factory
from marvin.integration.lib.newbase import UsageTypes
class UsageTypesFactory(factory.Factory):
FACTORY_FOR = UsageTypes

View File

@ -0,0 +1,7 @@
import factory
from marvin.integration.lib.newbase import VMPassword
class VMPasswordFactory(factory.Factory):
FACTORY_FOR = VMPassword
id = None

View File

@ -0,0 +1,17 @@
import factory
from marvin.integration.lib.newbase import VpnUser
class VpnUserFactory(factory.Factory):
FACTORY_FOR = VpnUser
password = None
username = None
FACTORY_FOR = VpnUser
FACTORY_FOR = VpnUser
username = None