Exemple #1
0
    def test_load(self):

        with self.setup_env() as (testvm, tmpdir):
            stored = recovery.File(testvm.id)
            stored.save(testvm)

            loaded = recovery.File(testvm.id)
            fakecif = fake.ClientIF()
            res = loaded.load(fakecif)
            self.assertTrue(res)

            self.assertVmStatus(testvm, fakecif.vmRequests[testvm.id][0])
Exemple #2
0
    def test_load_with_createVm_error(self, createVm):

        with self.setup_env() as (testvm, tmpdir):
            stored = recovery.File(testvm.id)
            stored.save(testvm)

            loaded = recovery.File(testvm.id)
            fakecif = fake.ClientIF()

            fakecif.createVm = createVm
            res = loaded.load(fakecif)

            self.assertFalse(res)
            self.assertEqual(fakecif.vmContainer, {})
            self.assertEqual(fakecif.vmRequests, {})
Exemple #3
0
    def test_save(self):

        with self.setup_env() as (testvm, tmpdir):
            rec = recovery.File(testvm.id)
            rec.save(testvm)

            with open(os.path.join(tmpdir, rec.name), 'rb') as f:
                self.assertTrue(pickle.load(f))
Exemple #4
0
    def test_cleanup(self):

        with self.setup_env() as (testvm, tmpdir):
            stored = recovery.File(testvm.id)
            stored.save(testvm)

            self.assertEqual(len(os.listdir(tmpdir)), 1)
            stored.cleanup()
            self.assertEqual(len(os.listdir(tmpdir)), 0)
Exemple #5
0
    def test_clean_vm_files(self):

        with fake.VM() as testvm, namedTemporaryDir() as tmpdir:
            with MonkeyPatchScope([(constants, 'P_VDSM_RUN', tmpdir)]):
                stored = recovery.File(testvm.id)
                stored.save(testvm)

                loaded = recovery.File(testvm.id)
                fakecif = fake.ClientIF()
                loaded.load(fakecif)

                # we have one recovery file (just created)
                self.assertEqual(len(os.listdir(tmpdir)), 1)
                # ...but somehow ClientIF failed to create the VM.
                self.assertEqual(fakecif.vmContainer, {})

                # ... so we can actually do our test.
                recovery.clean_vm_files(fakecif)
                self.assertEqual(os.listdir(tmpdir), [])
Exemple #6
0
    def test_save_after_cleanup(self):

        with self.setup_env() as (testvm, tmpdir):
            rec = recovery.File(testvm.id)
            rec.save(testvm)

            rec.cleanup()
            self.assertEqual(os.listdir(tmpdir), [])

            rec.save(testvm)  # must silently fail
            self.assertEqual(os.listdir(tmpdir), [])
Exemple #7
0
    def test_vmid(self):

        with self.setup_env() as (testvm, tmpdir):
            state = recovery.File(testvm.id)
            self.assertEqual(testvm.id, state.vmid)
Exemple #8
0
    def test_name(self):

        with self.setup_env() as (testvm, tmpdir):
            state = recovery.File(testvm.id)
            self.assertIn(testvm.id, state.name)
            self.assertTrue(state.name.endswith(recovery.File.EXTENSION))