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