mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-03 09:51:11 -05:00
Replace how .load is called
https://marshmallow.readthedocs.io/en/stable/upgrading.html#schemas-are-always-strict `.load` doesn't return a `(data, errors)` tuple any more - only data is returned. A `ValidationError` is raised if validation fails. The code now relies on the `marshmallow_validation_error` error handler to handle errors instead of having to raise an `InvalidRequest`. This has no effect on the response that is returned (a test has been modified to check). Also added a new `password` field to the `UserSchema` so that we don't have to specially check for password errors in the `.create_user` endpoint - we can let marshmallow handle them.
This commit is contained in:
@@ -64,7 +64,7 @@ def test_user_update_schema_accepts_valid_attribute_pairs(user_attribute, user_v
|
||||
}
|
||||
from app.schemas import user_update_schema_load_json
|
||||
|
||||
data, errors = user_update_schema_load_json.load(update_dict)
|
||||
errors = user_update_schema_load_json.validate(update_dict)
|
||||
assert not errors
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ def test_user_update_schema_rejects_invalid_attribute_pairs(user_attribute, user
|
||||
}
|
||||
|
||||
with pytest.raises(ValidationError):
|
||||
data, errors = user_update_schema_load_json.load(update_dict)
|
||||
user_update_schema_load_json.load(update_dict)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('user_attribute', [
|
||||
@@ -96,7 +96,7 @@ def test_user_update_schema_rejects_disallowed_attribute_keys(user_attribute):
|
||||
from app.schemas import user_update_schema_load_json
|
||||
|
||||
with pytest.raises(ValidationError) as excinfo:
|
||||
data, errors = user_update_schema_load_json.load(update_dict)
|
||||
user_update_schema_load_json.load(update_dict)
|
||||
|
||||
assert excinfo.value.messages['_schema'][0] == 'Unknown field name {}'.format(user_attribute)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user