def get_volume_mock_object(self, kind=None, job_error=None): """ Helper method to return an na_ontap_volume object :param kind: passes this param to MockONTAPConnection(). :param job_error: error message when getting job status. :return: na_ontap_volume object """ vol_obj = vol_module() vol_obj.ems_log_event = Mock(return_value=None) vol_obj.cluster = Mock() vol_obj.cluster.invoke_successfully = Mock() vol_obj.volume_style = None if kind is None: vol_obj.server = MockONTAPConnection() elif kind == 'volume': vol_obj.server = MockONTAPConnection(kind='volume', data=self.mock_vol) elif kind == 'job_info': vol_obj.server = MockONTAPConnection(kind='job_info', data=self.mock_vol, job_error=job_error) elif kind == 'error_modify': vol_obj.server = MockONTAPConnection(kind='error_modify', data=self.mock_vol) elif kind == 'failure_modify_async': vol_obj.server = MockONTAPConnection(kind='failure_modify_async', data=self.mock_vol) elif kind == 'success_modify_async': vol_obj.server = MockONTAPConnection(kind='success_modify_async', data=self.mock_vol) elif kind == 'zapi_error': vol_obj.server = MockONTAPConnection(kind='zapi_error', data=self.mock_vol) return vol_obj
def test_module_fail_when_required_args_missing(self): ''' required arguments are reported as errors ''' with pytest.raises(AnsibleFailJson) as exc: set_module_args({}) vol_module() print('Info: %s' % exc.value.args[0]['msg'])