diff --git a/barbican/common/validators.py b/barbican/common/validators.py index f33be4d8c..4361b43f2 100644 --- a/barbican/common/validators.py +++ b/barbican/common/validators.py @@ -180,7 +180,7 @@ class NewSecretValidator(ValidatorBase): self.schema = { "type": "object", "properties": { - "name": {"type": "string", "maxLength": 255}, + "name": {"type": ["string", "null"], "maxLength": 255}, "algorithm": {"type": "string", "maxLength": 255}, "mode": {"type": "string", "maxLength": 255}, "bit_length": { @@ -242,6 +242,7 @@ class NewSecretValidator(ValidatorBase): payload, schema_name) json_data['payload'] = payload elif 'payload_content_type' in json_data: + # parent_schema would be populated if it comes from an order. self._assert_validity(parent_schema is not None, schema_name, u._("payload must be provided when " "payload_content_type is specified"), diff --git a/barbican/tests/common/test_validators.py b/barbican/tests/common/test_validators.py index e24c49d64..e7879921b 100644 --- a/barbican/tests/common/test_validators.py +++ b/barbican/tests/common/test_validators.py @@ -146,6 +146,10 @@ class WhenTestingSecretValidator(utils.BaseTestCase): self.secret_req['name'] = ' ' self.validator.validate(self.secret_req) + def test_should_validate_null_name(self): + self.secret_req['name'] = None + self.validator.validate(self.secret_req) + def test_should_validate_no_payload(self): del self.secret_req['payload'] del self.secret_req['payload_content_type']