summaryrefslogtreecommitdiffstats
path: root/tests/unit/daisyclient_stub.py
blob: 59540daffe5fe17ba25dd8acc57b3d3fa4a265a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
##############################################################################
# Copyright (c) 2017 ZTE Corp and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################


class StubTestInstall():
    def __init__(self):
        pass

    def install(self, **cluster_meta):
        self.cluster_meta = cluster_meta


class StubTestHost():
    def __init__(self, id, name, cluster_id, interfaces):
        self.id = id
        self.name = name
        self.cluster_id = cluster_id
        self.interfaces = interfaces
        self.metadata = None

    def to_dict(self):
        return {'id': self.id, 'name': self.name, 'cluster_id': self.cluster_id,
                'interfaces': self.interfaces}


class StubTestHosts():
    def __init__(self):
        self.hosts = []

    def add(self, host):
        self.hosts.append(host)

    def get(self, id):
        for host in self.hosts:
            if host.id == id:
                return host
        return None

    def list(self):
        return self.hosts

    def update(self, host_id, **metadata):
        for host in self.hosts:
            if host.id == host_id:
                host.metadata = metadata


class StubTestCluster():
    def __init__(self, id, name):
        self.id = id
        self.name = name


class StubTestClusters():
    def __init__(self):
        self.clusters = []

    def add(self, cluster):
        self.clusters.append(cluster)

    def get(self, id):
        for cluster in self.clusters:
            if cluster.id == id:
                return cluster.name
        return None

    def list(self):
        return self.clusters


class StubTestNet():
    def __init__(self, id, name, cluster_id, **metadata):
        self.id = id
        self.name = name
        self.cluster_id = cluster_id
        self.metadata = metadata


class StubTestNetworks():
    def __init__(self):
        self.networks = []

    def add(self, net):
        self.networks.append(net)

    def list(self, **filter):
        networks = []
        if filter:
            filter_item = filter.get('filters')
            for net in self.networks:
                cluster_id_is_match = False
                if filter_item.get('cluster_id'):
                    if filter_item.get('cluster_id') == net.cluster_id:
                        cluster_id_is_match = True
                else:
                    cluster_id_is_match = True
                if cluster_id_is_match is True:
                    networks.append(net)
        return networks

    def update(self, network_id, **network_meta):
        for net in self.networks:
            if net.id == network_id:
                net.metadata = network_meta


class StubTestRole():
    def __init__(self, id, name, cluster_id):
        self.id = id
        self.name = name
        self.cluster_id = cluster_id
        self.metadata = None


class StubTestRoles():
    def __init__(self):
        self.roles = []

    def add(self, role):
        self.roles.append(role)

    def list(self, **filter):
        roles = []
        if filter:
            filter_item = filter.get('filters')
            for role in self.roles:
                cluster_id_is_match = False
                if filter_item.get('cluster_id'):
                    if filter_item.get('cluster_id') == role.cluster_id:
                        cluster_id_is_match = True
                else:
                    cluster_id_is_match = True
                if cluster_id_is_match is True:
                    roles.append(role)
        return roles

    def update(self, role_id, **meta):
        for role in self.roles:
            if role.id == role_id:
                role.metadata = meta


class StubTestDisks():
    def __init__(self):
        self.disks = []

    def service_disk_add(self, **metadata):
        self.disks.append(metadata)


class StubTestClient():
    def __init__(self):
        self.install = StubTestInstall()
        self.hosts = StubTestHosts()
        self.networks = StubTestNetworks()
        self.clusters = StubTestClusters()
        self.roles = StubTestRoles()
        self.disk_array = StubTestDisks()