X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/2f31098c394a4d6d54d9f137acc617eb31504e1e..b30d95b6e0946b88764597b84b692eb9dc8f92c2:/test/mocks.py diff --git a/test/mocks.py b/test/mocks.py index eca00d8..a5140fb 100644 --- a/test/mocks.py +++ b/test/mocks.py @@ -1,7 +1,7 @@ # # -# Copyright (C) 2006, 2007 Google Inc. +# Copyright (C) 2006, 2007, 2010 Google Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -21,8 +21,21 @@ """Module implementing a fake ConfigWriter""" -import socket + +import os + from ganeti import utils +from ganeti import netutils + + +FAKE_CLUSTER_KEY = ("AAAAB3NzaC1yc2EAAAABIwAAAQEAsuGLw70et3eApJ/ZEJkAVZogIrm" + "EYPQJvb1ll52Ti0nr80Wztxibaa8bYGzY22rQIAloIlePeTGcJceAYK" + "PZgm0I/Mp2EUGg2NVsQZIzasz6cW0vYuiUbF9GkVlROmvOAykT58RfM" + "L8RhPrjrQxZc+NXgZtgDugYSZcXHDLUyWM1xKUoYy0MqYG6ZXCC/Zno" + "RThhmjOJgEmvwrMcTWQjmzH3NeJAxaBsEHR8tiVZ/Y23C/ULWLyNT6R" + "fB+DE7IovsMQaS+83AK1Teg7RWNyQczachatf/JT8VjUqFYjJepPjMb" + "vYdB2nQds7/+Bf40C/OpbvnAxna1kVtgFHAo18cQ==") + class FakeConfig: """Fake configuration object""" @@ -33,15 +46,60 @@ class FakeConfig: def GetNodeList(self): return ["a", "b", "c"] - def GetMaster(self): - return utils.HostInfo().name - - -class FakeSStore: - """Fake simplestore object""" + def GetHostKey(self): + return FAKE_CLUSTER_KEY def GetClusterName(self): return "test.cluster" def GetMasterNode(self): - return utils.HostInfo().name + return netutils.Hostname.GetSysName() + + def GetDefaultIAllocator(Self): + return "testallocator" + + +class FakeProc: + """Fake processor object""" + + def Log(self, msg, *args, **kwargs): + pass + + def LogWarning(self, msg, *args, **kwargs): + pass + + def LogInfo(self, msg, *args, **kwargs): + pass + + def LogStep(self, current, total, message): + pass + + +class FakeContext: + """Fake context object""" + + def __init__(self): + self.cfg = FakeConfig() + # TODO: decide what features a mock Ganeti Lock Manager must have + self.GLM = None + + +class FakeGetentResolver: + """Fake runtime.GetentResolver""" + + def __init__(self): + # As we nomally don't run under root we use our own uid/gid for all + # fields. This way we don't run into permission denied problems. + uid = os.getuid() + gid = os.getgid() + + self.masterd_uid = uid + self.masterd_gid = gid + self.confd_uid = uid + self.confd_gid = gid + self.rapi_uid = uid + self.rapi_gid = gid + self.noded_uid = uid + + self.daemons_gid = gid + self.admin_gid = gid