From 0796adbd87a026f917beee8002b1ca82f48ab3cb Mon Sep 17 00:00:00 2001 From: tstappae Date: Mon, 11 Jun 2018 13:32:42 +0200 Subject: [PATCH] Change catch type for workflow unregister Since _cls_registry is now a list, removing a non-existing element throws a ValueError instead of a KeyError. This did not result in the desired NotRegistered exception. Change-Id: I2ae7381ce65a0c8fa7deed2c08bfc51e1685f09e Closes-Bug: 1776187 --- horizon/test/unit/workflows/test_workflows.py | 5 +++++ horizon/workflows/base.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/horizon/test/unit/workflows/test_workflows.py b/horizon/test/unit/workflows/test_workflows.py index 8dd0c85bde..04b907b576 100644 --- a/horizon/test/unit/workflows/test_workflows.py +++ b/horizon/test/unit/workflows/test_workflows.py @@ -18,6 +18,7 @@ import mock import six +from horizon import base from horizon import exceptions from horizon.test import helpers as test from horizon import workflows @@ -335,6 +336,10 @@ class WorkflowsTests(test.TestCase): '', '']) + def test_workflow_unregister_unexisting_workflow(self): + with self.assertRaises(base.NotRegistered): + TestWorkflow.unregister(TestDisabledStep) + def test_workflow_render(self): TestWorkflow.register(TestStepThree) req = self.factory.get("/foo") diff --git a/horizon/workflows/base.py b/horizon/workflows/base.py index a27d73dc9e..1f814e1123 100644 --- a/horizon/workflows/base.py +++ b/horizon/workflows/base.py @@ -810,7 +810,7 @@ class Workflow(html.HTMLElement): """Unregisters a :class:`~horizon.workflows.Step` from the workflow.""" try: cls._cls_registry.remove(step_class) - except KeyError: + except ValueError: raise base.NotRegistered('%s is not registered' % cls) return cls._unregister(step_class)