This patch adds few unit tests for GetInstanceInfo method of hv_lxc.

Signed-off-by: Yuto KAWAMURA(kawamuray) <[email protected]>
---
 test/py/ganeti.hypervisor.hv_lxc_unittest.py | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/test/py/ganeti.hypervisor.hv_lxc_unittest.py 
b/test/py/ganeti.hypervisor.hv_lxc_unittest.py
index 5891eaf..e3a09fc 100755
--- a/test/py/ganeti.hypervisor.hv_lxc_unittest.py
+++ b/test/py/ganeti.hypervisor.hv_lxc_unittest.py
@@ -28,9 +28,11 @@ from ganeti import objects
 from ganeti import hypervisor
 from ganeti import utils
 
+from ganeti.hypervisor import hv_base
 from ganeti.hypervisor import hv_lxc
 from ganeti.hypervisor.hv_lxc import LXCHypervisor
 
+import mock
 import testutils
 
 
@@ -62,5 +64,22 @@ class TestLXCIsInstanceAlive(unittest.TestCase):
     runcmd_mock.return_value = RunResultOk("inst1 inst2foo")
     self.assertFalse(LXCHypervisor._IsInstanceAlive("inst2"))
 
+class TestLXCHypervisorGetInstanceInfo(unittest.TestCase):
+  def setUp(self):
+    self.hv = LXCHypervisor()
+    self.hv._GetCgroupCpuList = mock.Mock(return_value=[1])
+    self.hv._GetCgroupMemoryLimit = mock.Mock(return_value=128*(1024**2))
+
+  @patch_object(LXCHypervisor, "_IsInstanceAlive")
+  def testRunningInstance(self, isalive_mock):
+    isalive_mock.return_value = True
+    self.assertEqual(self.hv.GetInstanceInfo("inst1"),
+                     ("inst1", 0, 128, 1, hv_base.HvInstanceState.RUNNING, 0))
+
+  @patch_object(LXCHypervisor, "_IsInstanceAlive")
+  def testInactiveOrNonexistentInstance(self, isalive_mock):
+    isalive_mock.return_value = False
+    self.assertIsNone(self.hv.GetInstanceInfo("inst1"))
+
 if __name__ == "__main__":
   testutils.GanetiTestProgram()
-- 
1.8.5.5

Reply via email to