def test_successful_create(self, quota_entry_set): ''' creating quota and testing idempotency ''' data = self.set_default_args() data.update({ 'file_limit': '3', 'disk_limit': '4', 'soft_file_limit': '3', 'soft_disk_limit': '4', }) # data['file_limit'] = '3' # data['disk_limit'] = '4' # data['threshold'] = '4' set_module_args(data) my_obj = my_module() if not self.onbox: my_obj.server = self.server with pytest.raises(AnsibleExitJson) as exc: my_obj.apply() assert exc.value.args[0]['changed'] quota_entry_set.assert_called_with() # to reset na_helper from remembering the previous 'changed' value set_module_args(self.set_default_args()) my_obj = my_module() if not self.onbox: my_obj.server = MockONTAPConnection('quotas') with pytest.raises(AnsibleExitJson) as exc: my_obj.apply() assert not exc.value.args[0]['changed']
def test_if_all_methods_catch_exception(self): module_args = {} module_args.update(self.set_default_args()) set_module_args(module_args) my_obj = my_module() if not self.onbox: my_obj.server = MockONTAPConnection('quota_fail') with pytest.raises(AnsibleFailJson) as exc: my_obj.get_quota_status() assert 'Error fetching quotas status info' in exc.value.args[0]['msg'] with pytest.raises(AnsibleFailJson) as exc: my_obj.get_quotas() assert 'Error fetching quotas info' in exc.value.args[0]['msg'] with pytest.raises(AnsibleFailJson) as exc: my_obj.quota_entry_set() assert 'Error adding/modifying quota entry' in exc.value.args[0]['msg'] with pytest.raises(AnsibleFailJson) as exc: my_obj.quota_entry_delete() assert 'Error deleting quota entry' in exc.value.args[0]['msg'] with pytest.raises(AnsibleFailJson) as exc: my_obj.quota_entry_modify(module_args) assert 'Error modifying quota entry' in exc.value.args[0]['msg'] with pytest.raises(AnsibleFailJson) as exc: my_obj.on_or_off_quota('quota-on') assert 'Error setting quota-on for ansible' in exc.value.args[0]['msg']
def test_successful_delete(self, quota_entry_delete): ''' deleting quota and testing idempotency ''' data = self.set_default_args() data['state'] = 'absent' set_module_args(data) my_obj = my_module() if not self.onbox: my_obj.server = MockONTAPConnection('quotas') with pytest.raises(AnsibleExitJson) as exc: my_obj.apply() assert exc.value.args[0]['changed'] quota_entry_delete.assert_called_with() # to reset na_helper from remembering the previous 'changed' value my_obj = my_module() if not self.onbox: my_obj.server = self.server with pytest.raises(AnsibleExitJson) as exc: my_obj.apply() assert not exc.value.args[0]['changed']
def test_quota_on_off(self): ''' quota set on or off ''' data = self.set_default_args() data['set_quota_status'] = 'false' set_module_args(data) my_obj = my_module() if not self.onbox: my_obj.server = MockONTAPConnection('quotas') with pytest.raises(AnsibleExitJson) as exc: my_obj.apply() assert not exc.value.args[0]['changed']
def test_successful_modify(self): ''' modifying quota and testing idempotency ''' data = self.set_default_args() data['file_limit'] = '3' set_module_args(data) my_obj = my_module() if not self.onbox: my_obj.server = MockONTAPConnection('quotas') with pytest.raises(AnsibleExitJson) as exc: my_obj.apply() assert exc.value.args[0]['changed']
def test_ensure_get_called_existing(self): ''' test get_quota for existing quota''' set_module_args(self.set_default_args()) my_obj = my_module() my_obj.server = MockONTAPConnection(kind='quotas') assert my_obj.get_quotas()
def test_ensure_get_called(self): ''' test get_quota for non-existent quota''' set_module_args(self.set_default_args()) my_obj = my_module() my_obj.server = self.server assert my_obj.get_quotas is not None
def test_module_fail_when_required_args_missing(self): ''' required arguments are reported as errors ''' with pytest.raises(AnsibleFailJson) as exc: set_module_args({}) my_module() print('Info: %s' % exc.value.args[0]['msg'])