diff --git a/zun/api/controllers/v1/containers.py b/zun/api/controllers/v1/containers.py index 036c25259..3d4e72acb 100644 --- a/zun/api/controllers/v1/containers.py +++ b/zun/api/controllers/v1/containers.py @@ -164,7 +164,7 @@ class ContainersController(rest.RestController): count = int(num) if name in ['unless-stopped', 'always']: if count != 0: - raise exception.ZunException(_LE("maximum retry " + raise exception.InvalidValue(_LE("maximum retry " "count not valid " "with restart policy " "of %s") % name) diff --git a/zun/tests/unit/api/controllers/v1/test_containers.py b/zun/tests/unit/api/controllers/v1/test_containers.py index 6f97a8aeb..fe7df1bec 100644 --- a/zun/tests/unit/api/controllers/v1/test_containers.py +++ b/zun/tests/unit/api/controllers/v1/test_containers.py @@ -402,7 +402,7 @@ class TestContainerController(api_base.FunctionalTest): '"restart_policy": {"Name": "always",' '"MaximumRetryCount": "1"}}') with self.assertRaisesRegexp( - AppError, "Bad response: 500 Internal Server Error"): + AppError, "maximum retry count not valid with"): self.app.post('/v1/containers/', params=params, content_type='application/json') diff --git a/zun/tests/unit/common/test_validations.py b/zun/tests/unit/common/test_validations.py index 4588f2002..146959ff6 100644 --- a/zun/tests/unit/common/test_validations.py +++ b/zun/tests/unit/common/test_validations.py @@ -142,3 +142,15 @@ class TestSchemaValidations(base.BaseTestCase): "Invalid input for field " "'MaximumRetryCount'"): self.schema_validator.validate(request_to_validate) + + def test_create_schema_restart_policy(self): + restart_policy = {'Name': 'no'} + request_to_validate = {'name': 'test1', 'image': 'nginx', + 'restart_policy': restart_policy} + self.schema_validator.validate(request_to_validate) + restart_policy = {'MaximumRetryCount': 5} + request_to_validate = {'name': 'test1', 'image': 'nginx', + 'restart_policy': restart_policy} + with self.assertRaisesRegexp(exception.SchemaValidationError, + "'Name' is a required property"): + self.schema_validator.validate(request_to_validate)