Exemple #1
0
class MockVirConnectTests(TestCaseBase):
    def setUp(self):
        self._vms = [MockVirDomain(*spec) for spec in VM_SPECS]
        self._mock = MockVirConnect(vms=self._vms)

    def test_list_all_domains(self):
        vms = self._mock.listAllDomains()
        self.assertEqual(len(vms), len(self._vms))

    def test_list_defined_domains(self):
        vms = self._mock.listDefinedDomains()
        self.assertEqual(
            sorted(vms),
            sorted(spec.name for spec in VM_SPECS if not spec.active))

    def test_list_domains_id(self):
        vms = self._mock.listDomainsID()
        self.assertEqual(len(vms), 2)

    def test_lookup_by_name(self):
        vm = self._mock.lookupByName('RHEL_0')
        self.assertEqual('RHEL_0', vm.name())

    def test_lookup_by_name_failed(self):
        self.assertRaises(libvirt.libvirtError, self._mock.lookupByName,
                          'fakename')

    def test_lookup_by_id(self):
        vm = self._mock.lookupByID(0)
        self.assertEqual(0, vm.ID())

    def test_lookup_by_id_failed(self):
        self.assertRaises(libvirt.libvirtError, self._mock.lookupByID, 99)
Exemple #2
0
class MockVirConnectTests(TestCaseBase):
    def setUp(self):
        self._vms = [MockVirDomain(*spec) for spec in VM_SPECS]
        self._mock = MockVirConnect(vms=self._vms)

    def test_list_all_domains(self):
        vms = self._mock.listAllDomains()
        self.assertEqual(len(vms), len(self._vms))

    def test_list_defined_domains(self):
        vms = self._mock.listDefinedDomains()
        self.assertEqual(
            sorted(vms),
            sorted(spec.name for spec in VM_SPECS if not spec.active))

    def test_list_domains_id(self):
        vms = self._mock.listDomainsID()
        self.assertEqual(len(vms), 2)

    def test_lookup_by_name(self):
        vm = self._mock.lookupByName('RHEL_0')
        self.assertEqual('RHEL_0', vm.name())

    def test_lookup_by_name_failed(self):
        self.assertRaises(libvirt.libvirtError, self._mock.lookupByName,
                          'fakename')

    def test_lookup_by_id(self):
        vm = self._mock.lookupByID(0)
        self.assertEqual(0, vm.ID())

    def test_lookup_by_id_failed(self):
        self.assertRaises(libvirt.libvirtError, self._mock.lookupByID, 99)
Exemple #3
0
class MockVirConnectTests(TestCaseBase):
    def setUp(self):
        self._vms = [MockVirDomain(*spec) for spec in VM_SPECS]
        self._mock = MockVirConnect(vms=self._vms)

    def test_list_all_domains(self):
        vms = self._mock.listAllDomains()
        assert len(vms) == len(self._vms)

    def test_list_defined_domains(self):
        vms = self._mock.listDefinedDomains()
        assert sorted(vms) == \
            sorted(spec.name for spec in VM_SPECS if not spec.active)

    def test_list_domains_id(self):
        vms = self._mock.listDomainsID()
        assert len(vms) == 2

    def test_lookup_by_name(self):
        vm = self._mock.lookupByName('RHEL_0')
        assert 'RHEL_0' == vm.name()

    def test_lookup_by_name_failed(self):
        with pytest.raises(libvirt.libvirtError):
            self._mock.lookupByName('fakename')

    def test_lookup_by_id(self):
        vm = self._mock.lookupByID(0)
        assert 0 == vm.ID()

    def test_lookup_by_id_failed(self):
        with pytest.raises(libvirt.libvirtError):
            self._mock.lookupByID(99)
Exemple #4
0
    def testGetExternalVMsWithoutDisksInfo(self):
        def internal_error(name):
            raise fake.Error(libvirt.VIR_ERR_INTERNAL_ERROR)

        # we need a sequence of just one vm
        mock = MockVirConnect(vms=self._vms[:1])
        mock.storageVolLookupByPath = internal_error

        def _connect(uri, username, passwd):
            return mock

        with MonkeyPatchScope([(libvirtconnection, 'open_connection', _connect)
                               ]):
            vms = v2v.get_external_vms('esx://mydomain', 'user',
                                       ProtectedPassword('password'),
                                       None)['vmList']
        self.assertEqual(len(vms), 0)
Exemple #5
0
    def testGetExternalVMsWithoutDisksInfo(self):
        def internal_error(name):
            raise fake.Error(libvirt.VIR_ERR_INTERNAL_ERROR)

        # we need a sequence of just one vm
        mock = MockVirConnect(vms=self._vms[:1])
        mock.storageVolLookupByPath = internal_error

        def _connect(uri, username, passwd):
            return mock

        with MonkeyPatchScope([(libvirtconnection, 'open_connection',
                                _connect)]):
            vms = v2v.get_external_vms('esx://mydomain', 'user',
                                       ProtectedPassword('password'),
                                       None)['vmList']
        self.assertEqual(len(vms), 0)
Exemple #6
0
    def test_download_path(self):
        conn = MockVirConnect(vms=self._vms)

        def connect(uri, username, password):
            return conn

        with MonkeyPatchScope([
            (libvirtconnection, 'open_connection', connect),
        ]), make_env() as env:
            args = [
                'kvm2ovirt', '--uri', 'qemu+tcp://domain', '--username',
                'user', '--password-file', env.password, '--source',
                '/fake/source', '--dest', env.destination, '--storage-type',
                'path', '--vm-name', self._vms[0].name()
            ]

            kvm2ovirt.main(args)

            with open(env.destination) as f:
                actual = f.read()
            self.assertEqual(actual, FakeVolume().data())
Exemple #7
0
    def test_common_download_file_username(self, username, passwd):
        conn = MockVirConnect(vms=self._vms)

        def connect(uri, username, password):
            return conn

        with MonkeyPatchScope([
            (libvirtconnection, 'open_connection', connect),
        ]), make_env() as env:
            vmInfo = {'vmName': self._vms[0].name()}
            kvm = v2v.KVMCommand('qemu+tcp://domain', username, passwd,
                                 vmInfo, uuid.uuid4(), None)
            if passwd:
                kvm._passwd_file = env.password
            kvm._source_images = lambda: (['/fake/source'], ['file'])
            kvm._dest_images = lambda: [env.destination]

            kvm2ovirt.main(kvm._command())

            with open(env.destination) as f:
                actual = f.read()
            self.assertEqual(actual, FakeVolume().data())
Exemple #8
0
 def _connect(uri, username, passwd):
     mock = MockVirConnect(vms=self._vms)
     mock.listAllDomains = legacylistAllDomains
     setattr(mock, methodname, fakemethod)
     return mock
Exemple #9
0
 def _connect(uri, username, passwd):
     mock = MockVirConnect(vms=self._vms)
     mock.listAllDomains = legacylistAllDomainsWrongRaise
     return mock
Exemple #10
0
 def _connect(uri, username, passwd):
     return MockVirConnect(vms=self._vms_with_snapshot)
Exemple #11
0
 def _connect(uri, username, passwd):
     self._vms[0].setDiskType('block')
     conn = MockVirConnect(vms=self._vms)
     conn.setType('Xen')
     return conn
Exemple #12
0
 def _connect(uri, username, passwd):
     conn = MockVirConnect(vms=self._vms)
     conn.setType('Xen')
     return conn
Exemple #13
0
 def _connect(uri, username, passwd):
     mock = MockVirConnect(vms=self._vms)
     mock.listAllDomains = legacylistAllDomains
     setattr(mock, methodname, fakemethod)
     return mock
Exemple #14
0
 def _connect(uri, username, passwd):
     mock = MockVirConnect(vms=self._vms)
     mock.listAllDomains = legacylistAllDomainsWrongRaise
     return mock
Exemple #15
0
 def _connect(uri, username, passwd):
     return MockVirConnect(vms=self._vms)
Exemple #16
0
 def _connect(uri, username, passwd):
     conn = MockVirConnect(vms=self._vms)
     conn.setType('Xen')
     return conn
Exemple #17
0
 def setUp(self):
     self._vms = [MockVirDomain(*spec) for spec in VM_SPECS]
     self._mock = MockVirConnect(vms=self._vms)
Exemple #18
0
 def setUp(self):
     self._vms = [MockVirDomain(*spec) for spec in VM_SPECS]
     self._mock = MockVirConnect(vms=self._vms)
Exemple #19
0
 def _connect(uri, username, passwd):
     for vm in self._vms:
         vm.setDiskType('block')
     conn = MockVirConnect(vms=self._vms)
     return conn