def test_get_osarch_by_rpm(self): """ Get os_arch if RPM package is installed. :return: """ subprocess_mock = MagicMock() subprocess_mock.Popen = MagicMock() subprocess_mock.Popen().communicate = MagicMock(return_value=["Z80"]) with patch("salt.utils.pkg.rpm.subprocess", subprocess_mock): assert rpm.get_osarch() == "Z80" assert subprocess_mock.Popen.call_count == 2 # One within the mock subprocess_mock.Popen.assert_called_with( ["rpm", "--eval", "%{_host_cpu}"], close_fds=True, stderr=ANY, stdout=ANY)
def test_get_osarch_by_rpm(self): """ Get os_arch if RPM package is installed. :return: """ subprocess_mock = MagicMock() subprocess_mock.Popen = MagicMock() subprocess_mock.Popen().communicate = MagicMock(return_value=["Z80"]) with patch("salt.utils.pkg.rpm.subprocess", subprocess_mock): assert rpm.get_osarch() == "Z80" assert subprocess_mock.Popen.call_count == 2 # One within the mock assert subprocess_mock.Popen.call_args[1]["close_fds"] assert subprocess_mock.Popen.call_args[1]["shell"] assert len(subprocess_mock.Popen.call_args_list) == 2 assert subprocess_mock.Popen.call_args[0][ 0] == 'rpm --eval "%{_host_cpu}"'
def test_get_osarch_by_rpm(self): ''' Get os_arch if RPM package is installed. :return: ''' subprocess_mock = MagicMock() subprocess_mock.Popen = MagicMock() subprocess_mock.Popen().communicate = MagicMock(return_value=['Z80']) with patch('salt.utils.pkg.rpm.subprocess', subprocess_mock): assert rpm.get_osarch() == 'Z80' assert subprocess_mock.Popen.call_count == 2 # One within the mock assert subprocess_mock.Popen.call_args[1]['close_fds'] assert subprocess_mock.Popen.call_args[1]['shell'] assert len(subprocess_mock.Popen.call_args_list) == 2 assert subprocess_mock.Popen.call_args[0][ 0] == 'rpm --eval "%{_host_cpu}"'
def test_get_disk_convert_volumes(make_mock_vm, make_mock_storage_pool): vm_def = """<domain type='kvm' id='3'> <name>srv01</name> <devices> <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none' io='native'/> <source file='/path/to/default/srv01_system'/> <target dev='vda' bus='virtio'/> <alias name='virtio-disk0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> <disk type='block' device='disk'> <driver name='qemu' type='raw'/> <source dev='/path/to/default/srv01_data'/> <target dev='vdb' bus='virtio'/> <alias name='virtio-disk1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none' io='native'/> <source file='/path/to/srv01_extra'/> <target dev='vdc' bus='virtio'/> <alias name='virtio-disk1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </disk> </devices> </domain> """ domain_mock = make_mock_vm(vm_def) pool_mock = make_mock_storage_pool("default", "dir", ["srv01_system", "srv01_data"]) subprocess_mock = MagicMock() popen_mock = MagicMock(spec=virt.subprocess.Popen) popen_mock.return_value.communicate.return_value = [ """[ { "virtual-size": 214748364800, "filename": "/path/to/srv01_extra", "cluster-size": 65536, "format": "qcow2", "actual-size": 340525056, "format-specific": { "type": "qcow2", "data": { "compat": "1.1", "lazy-refcounts": false, "refcount-bits": 16, "corrupt": false } }, "dirty-flag": false } ] """ ] subprocess_mock.Popen = popen_mock with patch.dict(virt.__dict__, {"subprocess": subprocess_mock}): assert { "vda": { "type": "disk", "file": "default/srv01_system", "file format": "qcow2", "disk size": 12345, "virtual size": 1234567, }, "vdb": { "type": "disk", "file": "default/srv01_data", "file format": "raw", "disk size": 12345, "virtual size": 1234567, }, "vdc": { "type": "disk", "file": "/path/to/srv01_extra", "file format": "qcow2", "cluster size": 65536, "disk size": 340525056, "virtual size": 214748364800, }, } == virt.get_disks("srv01")