root / test / mocks.py @ 3fc175f0
History | View | Annotate | Download (2.1 kB)
1 | 2f31098c | Iustin Pop | #
|
---|---|---|---|
2 | a8083063 | Iustin Pop | #
|
3 | a8083063 | Iustin Pop | |
4 | a8083063 | Iustin Pop | # Copyright (C) 2006, 2007 Google Inc.
|
5 | a8083063 | Iustin Pop | #
|
6 | a8083063 | Iustin Pop | # This program is free software; you can redistribute it and/or modify
|
7 | a8083063 | Iustin Pop | # it under the terms of the GNU General Public License as published by
|
8 | a8083063 | Iustin Pop | # the Free Software Foundation; either version 2 of the License, or
|
9 | a8083063 | Iustin Pop | # (at your option) any later version.
|
10 | a8083063 | Iustin Pop | #
|
11 | a8083063 | Iustin Pop | # This program is distributed in the hope that it will be useful, but
|
12 | a8083063 | Iustin Pop | # WITHOUT ANY WARRANTY; without even the implied warranty of
|
13 | a8083063 | Iustin Pop | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14 | a8083063 | Iustin Pop | # General Public License for more details.
|
15 | a8083063 | Iustin Pop | #
|
16 | a8083063 | Iustin Pop | # You should have received a copy of the GNU General Public License
|
17 | a8083063 | Iustin Pop | # along with this program; if not, write to the Free Software
|
18 | a8083063 | Iustin Pop | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
19 | a8083063 | Iustin Pop | # 02110-1301, USA.
|
20 | a8083063 | Iustin Pop | |
21 | a8083063 | Iustin Pop | |
22 | a8083063 | Iustin Pop | """Module implementing a fake ConfigWriter"""
|
23 | a8083063 | Iustin Pop | |
24 | 89e1fc26 | Iustin Pop | from ganeti import utils |
25 | a8083063 | Iustin Pop | |
26 | 75a5f456 | Michael Hanselmann | |
27 | 75a5f456 | Michael Hanselmann | FAKE_CLUSTER_KEY = ("AAAAB3NzaC1yc2EAAAABIwAAAQEAsuGLw70et3eApJ/ZEJkAVZogIrm"
|
28 | 75a5f456 | Michael Hanselmann | "EYPQJvb1ll52Ti0nr80Wztxibaa8bYGzY22rQIAloIlePeTGcJceAYK"
|
29 | 75a5f456 | Michael Hanselmann | "PZgm0I/Mp2EUGg2NVsQZIzasz6cW0vYuiUbF9GkVlROmvOAykT58RfM"
|
30 | 75a5f456 | Michael Hanselmann | "L8RhPrjrQxZc+NXgZtgDugYSZcXHDLUyWM1xKUoYy0MqYG6ZXCC/Zno"
|
31 | 75a5f456 | Michael Hanselmann | "RThhmjOJgEmvwrMcTWQjmzH3NeJAxaBsEHR8tiVZ/Y23C/ULWLyNT6R"
|
32 | 75a5f456 | Michael Hanselmann | "fB+DE7IovsMQaS+83AK1Teg7RWNyQczachatf/JT8VjUqFYjJepPjMb"
|
33 | 75a5f456 | Michael Hanselmann | "vYdB2nQds7/+Bf40C/OpbvnAxna1kVtgFHAo18cQ==")
|
34 | 75a5f456 | Michael Hanselmann | |
35 | 75a5f456 | Michael Hanselmann | |
36 | a8083063 | Iustin Pop | class FakeConfig: |
37 | a8083063 | Iustin Pop | """Fake configuration object"""
|
38 | a8083063 | Iustin Pop | |
39 | a8083063 | Iustin Pop | def IsCluster(self): |
40 | a8083063 | Iustin Pop | return True |
41 | a8083063 | Iustin Pop | |
42 | a8083063 | Iustin Pop | def GetNodeList(self): |
43 | a8083063 | Iustin Pop | return ["a", "b", "c"] |
44 | a8083063 | Iustin Pop | |
45 | a8083063 | Iustin Pop | def GetMaster(self): |
46 | 89e1fc26 | Iustin Pop | return utils.HostInfo().name
|
47 | 880478f8 | Iustin Pop | |
48 | 75a5f456 | Michael Hanselmann | def GetHostKey(self): |
49 | 75a5f456 | Michael Hanselmann | return FAKE_CLUSTER_KEY
|
50 | 75a5f456 | Michael Hanselmann | |
51 | 880478f8 | Iustin Pop | |
52 | 880478f8 | Iustin Pop | class FakeSStore: |
53 | 880478f8 | Iustin Pop | """Fake simplestore object"""
|
54 | 880478f8 | Iustin Pop | |
55 | 5fcdc80d | Iustin Pop | def GetClusterName(self): |
56 | 5fcdc80d | Iustin Pop | return "test.cluster" |
57 | 5fcdc80d | Iustin Pop | |
58 | 880478f8 | Iustin Pop | def GetMasterNode(self): |
59 | 89e1fc26 | Iustin Pop | return utils.HostInfo().name
|
60 | 2395c322 | Iustin Pop | |
61 | 2395c322 | Iustin Pop | |
62 | 2395c322 | Iustin Pop | class FakeProc: |
63 | 2395c322 | Iustin Pop | """Fake processor object"""
|
64 | 2395c322 | Iustin Pop | |
65 | 2395c322 | Iustin Pop | def LogWarning(self, msg): |
66 | 2395c322 | Iustin Pop | pass
|
67 | 2395c322 | Iustin Pop | |
68 | 2395c322 | Iustin Pop | def LogInfo(self, msg): |
69 | 2395c322 | Iustin Pop | pass
|
70 | f4555db2 | Guido Trotter | |
71 | f4555db2 | Guido Trotter | class FakeContext: |
72 | f4555db2 | Guido Trotter | """Fake context object"""
|
73 | f4555db2 | Guido Trotter | |
74 | f4555db2 | Guido Trotter | def __init__(self): |
75 | f4555db2 | Guido Trotter | self.cfg = FakeConfig()
|
76 | f4555db2 | Guido Trotter | # TODO: decide what features a mock Ganeti Lock Manager must have
|
77 | f4555db2 | Guido Trotter | self.GLM = None |