def handle_error_400_auto_update_no_fork_allowed(error, request): """Return 400 JSON error for the internal "No Fork allowed" error. Assuming there was a post request with wrong values for 'root_versions'. """ msg = 'No fork allowed ' args = (resource_path(error.resource), error.event.isheet.__identifier__, error.event.isheet_field, resource_path(error.event.old_version), resource_path(error.event.new_version)) description = '- The auto update tried to create a fork for: {0} caused'\ ' by isheet: {1} field: {2} with old_reference: {3} and new'\ ' reference: {4}. Try another root_version.'.format(*args) dummy_node = named_object('root_versions') error_colander = colander.Invalid(dummy_node, msg + description) return handle_error_400_colander_invalid(error_colander, request)
def test_ensure_rate_is_unique_error(self, monkeypatch, request_, context, subject): from adhocracy_core.sheets.rate import RateSchema from adhocracy_core.sheets import rate from adhocracy_core.utils import named_object mock_find_catalog = Mock( return_value={'reference': DummyIndex(['dummy']), 'path': DummyIndex()}) monkeypatch.setattr(rate, 'find_catalog', mock_find_catalog) schema = RateSchema().bind(request=request_, context=context) object = _make_rateable() node = Mock() node.children = [named_object('object')] value = {'subject': subject, 'object': object, 'rate': '1'} with raises(colander.Invalid): schema._ensure_rate_is_unique(node, value, request_)