LGTM, thanks
On Wed, Jul 30, 2014 at 6:36 PM, Yuto KAWAMURA(kawamuray) < [email protected]> wrote: > This patch adds a few unit tests for the GetInstanceInfo method of > hv_lxc. > > Signed-off-by: Yuto KAWAMURA(kawamuray) <[email protected]> > --- > test/py/ganeti.hypervisor.hv_lxc_unittest.py | 35 > ++++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > > diff --git a/test/py/ganeti.hypervisor.hv_lxc_unittest.py b/test/py/ > ganeti.hypervisor.hv_lxc_unittest.py > index d005fe1..e41354d 100755 > --- a/test/py/ganeti.hypervisor.hv_lxc_unittest.py > +++ b/test/py/ganeti.hypervisor.hv_lxc_unittest.py > @@ -28,13 +28,30 @@ 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 shutil > +import tempfile > import testutils > from testutils import patch_object > > > +def setUpModule(): > + # Creating instance of LXCHypervisor will fail by permission issue of > + # instance directories > + global temp_dir > + temp_dir = tempfile.mkdtemp() > + LXCHypervisor._ROOT_DIR = utils.PathJoin(temp_dir, "root") > + LXCHypervisor._LOG_DIR = utils.PathJoin(temp_dir, "log") > + > + > +def tearDownModule(): > + shutil.rmtree(temp_dir) > + > + > def RunResultOk(stdout): > return utils.RunResult(0, None, stdout, "", [], None, None) > > @@ -66,5 +83,23 @@ class TestLXCIsInstanceAlive(unittest.TestCase): > self.assertFalse(LXCHypervisor._IsInstanceAlive("inst2")) > > > +class TestLXCHypervisorGetInstanceInfo(unittest.TestCase): > + def setUp(self): > + self.hv = LXCHypervisor() > + self.hv._GetCgroupCpuList = mock.Mock(return_value=[1, 3]) > + 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, 2, > 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 > > Hrvoje Ribicic Ganeti Engineering Google Germany GmbH Dienerstr. 12, 80331, München Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Geschäftsführer: Graham Law, Christine Elizabeth Flores Steuernummer: 48/725/00206 Umsatzsteueridentifikationsnummer: DE813741370
