root / test / mocks.py @ 6e7f0cd9
History | View | Annotate | Download (2.8 kB)
1 | 2f31098c | Iustin Pop | #
|
---|---|---|---|
2 | a8083063 | Iustin Pop | #
|
3 | a8083063 | Iustin Pop | |
4 | b705c7a6 | Manuel Franceschini | # Copyright (C) 2006, 2007, 2010 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 | e60c73a1 | René Nussbaumer | |
25 | e60c73a1 | René Nussbaumer | import os |
26 | e60c73a1 | René Nussbaumer | |
27 | 89e1fc26 | Iustin Pop | from ganeti import utils |
28 | a744b676 | Manuel Franceschini | from ganeti import netutils |
29 | a8083063 | Iustin Pop | |
30 | 75a5f456 | Michael Hanselmann | |
31 | 75a5f456 | Michael Hanselmann | FAKE_CLUSTER_KEY = ("AAAAB3NzaC1yc2EAAAABIwAAAQEAsuGLw70et3eApJ/ZEJkAVZogIrm"
|
32 | 75a5f456 | Michael Hanselmann | "EYPQJvb1ll52Ti0nr80Wztxibaa8bYGzY22rQIAloIlePeTGcJceAYK"
|
33 | 75a5f456 | Michael Hanselmann | "PZgm0I/Mp2EUGg2NVsQZIzasz6cW0vYuiUbF9GkVlROmvOAykT58RfM"
|
34 | 75a5f456 | Michael Hanselmann | "L8RhPrjrQxZc+NXgZtgDugYSZcXHDLUyWM1xKUoYy0MqYG6ZXCC/Zno"
|
35 | 75a5f456 | Michael Hanselmann | "RThhmjOJgEmvwrMcTWQjmzH3NeJAxaBsEHR8tiVZ/Y23C/ULWLyNT6R"
|
36 | 75a5f456 | Michael Hanselmann | "fB+DE7IovsMQaS+83AK1Teg7RWNyQczachatf/JT8VjUqFYjJepPjMb"
|
37 | 75a5f456 | Michael Hanselmann | "vYdB2nQds7/+Bf40C/OpbvnAxna1kVtgFHAo18cQ==")
|
38 | 75a5f456 | Michael Hanselmann | |
39 | 75a5f456 | Michael Hanselmann | |
40 | a8083063 | Iustin Pop | class FakeConfig: |
41 | a8083063 | Iustin Pop | """Fake configuration object"""
|
42 | a8083063 | Iustin Pop | |
43 | a8083063 | Iustin Pop | def IsCluster(self): |
44 | a8083063 | Iustin Pop | return True |
45 | a8083063 | Iustin Pop | |
46 | a8083063 | Iustin Pop | def GetNodeList(self): |
47 | a8083063 | Iustin Pop | return ["a", "b", "c"] |
48 | a8083063 | Iustin Pop | |
49 | 75a5f456 | Michael Hanselmann | def GetHostKey(self): |
50 | 75a5f456 | Michael Hanselmann | return FAKE_CLUSTER_KEY
|
51 | 75a5f456 | Michael Hanselmann | |
52 | 437138c9 | Michael Hanselmann | def GetClusterName(self): |
53 | 437138c9 | Michael Hanselmann | return "test.cluster" |
54 | 437138c9 | Michael Hanselmann | |
55 | 437138c9 | Michael Hanselmann | def GetMasterNode(self): |
56 | b705c7a6 | Manuel Franceschini | return netutils.Hostname.GetSysName()
|
57 | 437138c9 | Michael Hanselmann | |
58 | bd5f214b | Apollon Oikonomopoulos | def GetDefaultIAllocator(Self): |
59 | bd5f214b | Apollon Oikonomopoulos | return "testallocator" |
60 | bd5f214b | Apollon Oikonomopoulos | |
61 | 880478f8 | Iustin Pop | |
62 | 2395c322 | Iustin Pop | class FakeProc: |
63 | 2395c322 | Iustin Pop | """Fake processor object"""
|
64 | 2395c322 | Iustin Pop | |
65 | 7b4c1cb9 | Michael Hanselmann | def Log(self, msg, *args, **kwargs): |
66 | 7b4c1cb9 | Michael Hanselmann | pass
|
67 | 7b4c1cb9 | Michael Hanselmann | |
68 | 3fb4f740 | Iustin Pop | def LogWarning(self, msg, *args, **kwargs): |
69 | 2395c322 | Iustin Pop | pass
|
70 | 2395c322 | Iustin Pop | |
71 | 3fb4f740 | Iustin Pop | def LogInfo(self, msg, *args, **kwargs): |
72 | 2395c322 | Iustin Pop | pass
|
73 | f4555db2 | Guido Trotter | |
74 | c071c5b3 | Michael Hanselmann | def LogStep(self, current, total, message): |
75 | c071c5b3 | Michael Hanselmann | pass
|
76 | c071c5b3 | Michael Hanselmann | |
77 | c071c5b3 | Michael Hanselmann | |
78 | f4555db2 | Guido Trotter | class FakeContext: |
79 | f4555db2 | Guido Trotter | """Fake context object"""
|
80 | f4555db2 | Guido Trotter | |
81 | f4555db2 | Guido Trotter | def __init__(self): |
82 | f4555db2 | Guido Trotter | self.cfg = FakeConfig()
|
83 | f4555db2 | Guido Trotter | # TODO: decide what features a mock Ganeti Lock Manager must have
|
84 | f4555db2 | Guido Trotter | self.GLM = None |
85 | e60c73a1 | René Nussbaumer | |
86 | e60c73a1 | René Nussbaumer | |
87 | e60c73a1 | René Nussbaumer | class FakeGetentResolver: |
88 | e60c73a1 | René Nussbaumer | """Fake runtime.GetentResolver"""
|
89 | e60c73a1 | René Nussbaumer | |
90 | e60c73a1 | René Nussbaumer | def __init__(self): |
91 | e60c73a1 | René Nussbaumer | # As we nomally don't run under root we use our own uid/gid for all
|
92 | e60c73a1 | René Nussbaumer | # fields. This way we don't run into permission denied problems.
|
93 | e60c73a1 | René Nussbaumer | uid = os.getuid() |
94 | e60c73a1 | René Nussbaumer | gid = os.getgid() |
95 | e60c73a1 | René Nussbaumer | |
96 | e60c73a1 | René Nussbaumer | self.masterd_uid = uid
|
97 | e60c73a1 | René Nussbaumer | self.masterd_gid = gid
|
98 | e60c73a1 | René Nussbaumer | self.confd_uid = uid
|
99 | e60c73a1 | René Nussbaumer | self.confd_gid = gid
|
100 | e60c73a1 | René Nussbaumer | self.rapi_uid = uid
|
101 | e60c73a1 | René Nussbaumer | self.rapi_gid = gid
|
102 | e60c73a1 | René Nussbaumer | self.noded_uid = uid
|
103 | e60c73a1 | René Nussbaumer | |
104 | e60c73a1 | René Nussbaumer | self.daemons_gid = gid
|
105 | e60c73a1 | René Nussbaumer | self.admin_gid = gid |