locking: Implement priority in Ganeti lock manager
[ganeti-local] / test / mocks.py
index eca00d8..a5140fb 100644 (file)
@@ -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
 
 """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