From 2be6e2a49613c850b8961a12bfc2f73377764dfd Mon Sep 17 00:00:00 2001 From: liushuai Date: Mon, 26 Nov 2018 23:53:36 +0800 Subject: [PATCH] Fix raise error in create plan process Change-Id: Ied5885670b0a9e401865d47e5f1ba598403b1351 --- karbor/api/v1/plans.py | 2 +- karbor/tests/unit/api/v1/test_plans.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/karbor/api/v1/plans.py b/karbor/api/v1/plans.py index 16014ef9..bb2f59e0 100644 --- a/karbor/api/v1/plans.py +++ b/karbor/api/v1/plans.py @@ -403,7 +403,7 @@ class PlansController(wsgi.Controller): try: provider = self.protection_api.show_provider( context, plan["provider_id"]) - except exception: + except Exception: msg = _("The provider could not be found.") raise exc.HTTPBadRequest(explanation=msg) options_schema = provider.get( diff --git a/karbor/tests/unit/api/v1/test_plans.py b/karbor/tests/unit/api/v1/test_plans.py index 576fe7cd..0b5f5272 100644 --- a/karbor/tests/unit/api/v1/test_plans.py +++ b/karbor/tests/unit/api/v1/test_plans.py @@ -96,6 +96,16 @@ class PlanApiTest(base.TestCase): self.assertRaises(exc.HTTPBadRequest, self.controller.create, req, body=body) + @mock.patch( + 'karbor.services.protection.rpcapi.ProtectionAPI.show_provider') + def test_plan_create_InvalidProvider(self, mock_provider): + plan = self._plan_in_request_body() + body = {"plan": plan} + req = fakes.HTTPRequest.blank('/v1/plans') + mock_provider.side_effect = exception.NotFound() + self.assertRaises(exc.HTTPBadRequest, self.controller.create, + req, body=body) + @mock.patch( 'karbor.api.v1.plans.PlansController._plan_get') @mock.patch(