def test_first_task_info_raise_vim_fault(self): exc = vim.fault.VimFault() exc.msg = 'VimFault msg' mock_task = MagicMock() type(mock_task).info = PropertyMock(side_effect=exc) with self.assertRaises(excs.VMwareApiError) as excinfo: salt.utils.vmware.wait_for_task(mock_task, 'fake_instance_name', 'task_type') self.assertEqual(excinfo.exception.strerror, 'VimFault msg')
def test_instance_uuid_raises_runtime_fault(self): exc = vmodl.RuntimeFault() exc.msg = 'RuntimeFault msg' type(self.mock_si.content.about).instanceUuid = \ PropertyMock(side_effect=exc) with self.assertRaises(VMwareRuntimeError) as excinfo: salt.utils.vmware.get_assigned_licenses(self.mock_si, entity_name='fake_vcenter') self.assertEqual(excinfo.exception.strerror, 'RuntimeFault msg')
def test_raise_no_permission(self): exc = vim.fault.NoPermission() exc.privilegeId = 'Fake privilege' type(self.mock_content).rootFolder = PropertyMock(side_effect=exc) with self.assertRaises(excs.VMwareApiError) as excinfo: salt.utils.vmware.get_root_folder(self.mock_si) self.assertEqual(excinfo.exception.strerror, 'Not enough permissions. Required privilege: ' 'Fake privilege')
def test_profile_manager_raises_no_permissions(self): exc = vim.fault.NoPermission() exc.privilegeId = "Fake privilege" type(self.mock_content).profileManager = PropertyMock(side_effect=exc) with self.assertRaises(VMwareApiError) as excinfo: salt.utils.pbm.get_profile_manager(self.mock_si) self.assertEqual( excinfo.exception.strerror, "Not enough permissions. Required privilege: Fake privilege", )
def test_placement_solver_raises_no_permissions(self): exc = vim.fault.NoPermission() exc.privilegeId = 'Fake privilege' type(self.mock_content).placementSolver = PropertyMock(side_effect=exc) with self.assertRaises(VMwareApiError) as excinfo: salt.utils.pbm.get_placement_solver(self.mock_si) self.assertEqual( excinfo.exception.strerror, 'Not enough permissions. Required privilege: ' 'Fake privilege')
def test_get_new_stub_2_7_8_python(self): type(salt.utils.vmware.sys).version_info = \ PropertyMock(return_value=(2, 7, 8)) mock_get_new_stub = MagicMock() with patch('salt.utils.vmware.SoapStubAdapter', mock_get_new_stub): salt.utils.vmware.get_new_service_instance_stub( self.mock_si, 'fake_path', 'fake_ns', 'fake_version') mock_get_new_stub.assert_called_once_with( host='fake_host', ns='fake_ns', path='fake_path', version='fake_version', poolSize=0, sslContext=None)
def test_api_type_raise_no_permission(self): exc = vim.fault.NoPermission() exc.privilegeId = 'Fake privilege' mock_si = MagicMock() type(mock_si.content.about).apiType = PropertyMock(side_effect=exc) with self.assertRaises(excs.VMwareApiError) as excinfo: salt.utils.vmware.is_connection_to_a_vcenter(mock_si) self.assertEqual(excinfo.exception.strerror, 'Not enough permissions. Required privilege: ' 'Fake privilege')
def test_api_version_raises_no_permission(self): exc = vim.fault.NoPermission() exc.privilegeId = 'Fake privilege' mock_si = MagicMock(content=MagicMock(about=MagicMock())) type(mock_si.content.about).apiVersion = PropertyMock(side_effect=exc) with self.assertRaises(VMwareApiError) as excinfo: vsan.vsan_supported(mock_si) self.assertEqual(excinfo.exception.strerror, 'Not enough permissions. Required privilege: ' 'Fake privilege')
def setUp(self): self.mock_si = MagicMock() self.mock_licenses = [MagicMock(), MagicMock()] self.mock_lic_mgr = MagicMock() type(self.mock_lic_mgr).licenses = \ PropertyMock(return_value=self.mock_licenses) patches = (('salt.utils.vmware.get_license_manager', MagicMock(return_value=self.mock_lic_mgr)), ) for mod, mock in patches: patcher = patch(mod, mock) patcher.start() self.addCleanup(patcher.stop)
def test_local_properties_set(self): obj_mock = MagicMock() # obj.propSet propSet_prop = PropertyMock(return_value=[]) type(obj_mock).propSet = propSet_prop # obj.obj inner_obj_mock = MagicMock() obj_prop = PropertyMock(return_value=inner_obj_mock) type(obj_mock).obj = obj_prop get_content = MagicMock(return_value=[obj_mock]) with patch('salt.utils.vmware.get_content', get_content): ret = salt.utils.vmware.get_mors_with_properties( self.si, self.obj_type, self.prop_list, self.container_ref, self.traversal_spec, local_properties=True) get_content.assert_called_once_with( self.si, self.obj_type, property_list=self.prop_list, container_ref=self.container_ref, traversal_spec=self.traversal_spec, local_properties=True)
def setUp(self): self.mock_si = MagicMock() self.mock_stub = MagicMock() self.mock_prof_mgr = MagicMock() self.mock_content = MagicMock() self.mock_pbm_si = MagicMock(RetrieveContent=MagicMock( return_value=self.mock_content)) type(self.mock_content).profileManager = \ PropertyMock(return_value=self.mock_prof_mgr) patches = (('salt.utils.vmware.get_new_service_instance_stub', MagicMock(return_value=self.mock_stub)), ('salt.utils.pbm.pbm.ServiceInstance', MagicMock(return_value=self.mock_pbm_si))) for mod, mock in patches: patcher = patch(mod, mock) patcher.start() self.addCleanup(patcher.stop)
def setUp(self): self.mock_si = MagicMock() self.mock_ret = MagicMock() patches = (( "salt.utils.vsan.vsanapiutils.GetVsanVcMos", MagicMock( return_value={"vsan-disk-management-system": self.mock_ret}), ), ) for mod, mock in patches: patcher = patch(mod, mock) patcher.start() self.addCleanup(patcher.stop) type(vsan.sys).version_info = PropertyMock(return_value=(2, 7, 9)) self.mock_context = MagicMock() self.mock_create_default_context = MagicMock( return_value=self.mock_context) vsan.ssl.create_default_context = self.mock_create_default_context
def setUp(self): self.mock_si = MagicMock() self.mock_stub = MagicMock() self.mock_prof_mgr = MagicMock() self.mock_content = MagicMock() self.mock_pbm_si = MagicMock(RetrieveContent=MagicMock( return_value=self.mock_content)) type(self.mock_content).placementSolver = PropertyMock( return_value=self.mock_prof_mgr) patches = ( ( "salt.utils.vmware.get_new_service_instance_stub", MagicMock(return_value=self.mock_stub), ), ( "salt.utils.pbm.pbm.ServiceInstance", MagicMock(return_value=self.mock_pbm_si), ), ) for mod, mock in patches: patcher = patch(mod, mock) patcher.start() self.addCleanup(patcher.stop)
def runner_client(): client = salt.runner.RunnerClient({}) def fnord(): """ This is some docstring, OK? """ def baz(): """ This is another docstring, OK? """ functions = { "fnord": fnord, "baz": baz, } patch_rc = patch("salt.runner.RunnerClient", return_value=client) patch_functions = patch.object( type(client), "functions", PropertyMock(return_value=functions) ) with patch_rc, patch_functions: yield