Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / neutron / models_factory.py @ b0cda6f9

History | View | Annotate | Download (1003 Bytes)

1
import factory
2
import models
3

    
4
def prefix_seq(x):
5
    return lambda n: x + '-{0}'.format(n)
6

    
7
def user_seq():
8
    return lambda n: 'user-{0}.example.com'.format(n)
9

    
10

    
11
def round_seq(x):
12
    size = len(x)
13
    return lambda n: x[int(n) % size]
14

    
15

    
16
def round_seq_first(x):
17
    size = len(x)
18
    return lambda n: x[int(n) % size][0]
19

    
20

    
21

    
22

    
23

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

    
27
    name = factory.Sequence(prefix_seq('network'))
28
    userid = factory.Sequence(user_seq())
29
    flavor = factory.Sequence(round_seq(models.Network.FLAVORS.keys()))
30
    mode = factory.LazyAttribute(lambda a:
31
                                 models.Network.FLAVORS[a.flavor]['mode'])
32
    link = factory.Sequence(prefix_seq('link'))
33
    mac_prefix = 'aa:00:0'
34
    tags = factory.LazyAttribute(lambda a:
35
                                 models.Network.FLAVORS[a.flavor]['tags'])
36
    public = False
37
    deleted = False
38
    state = factory.Sequence(round_seq_first(models.Network.OPER_STATES))
39

    
40