Revision 0dae1b9f snf-cyclades-app/synnefo/neutron/models_factory.py

b/snf-cyclades-app/synnefo/neutron/models_factory.py
1 1
import factory
2 2
import models
3
from random import choice
4
from string import letters, digits
3 5
from synnefo.db.models_factory import VirtualMachineFactory
4 6

  
5 7

  
......
21 23
    return lambda n: x[int(n) % size][0]
22 24

  
23 25

  
26
def random_string(x):
27
    '''Returns a random string of length x'''
28
    return ''.join([choice(digits + letters) for i in range(x)])
29

  
30

  
24 31
class NetworkFactory(factory.DjangoModelFactory):
25 32
    FACTORY_FOR = models.Network
26 33

  
......
43 50

  
44 51
    machine = factory.SubFactory(VirtualMachineFactory)
45 52
    network = factory.SubFactory(NetworkFactory)
53

  
54

  
55
class SubnetFactory(factory.DjangoModelFactory):
56
    FACTORY_FOR = models.Subnet
57

  
58
    name = factory.LazyAttribute(lambda self: random_string(30))
59
    ipversion = 4
60
    cidr = factory.Sequence(lambda n: '192.168.{0}.0/24'.format(n))
61
    dhcp = True
62
    gateway = factory.Sequence(lambda n: '192.168.{0}.1/24'.format(n))

Also available in: Unified diff