From 645dd65d30b6e97a0a8e194aff2fe9d29fb77862 Mon Sep 17 00:00:00 2001 From: Marcello Stanisci Date: Fri, 7 Dec 2018 18:19:24 +0100 Subject: Fix #5499 (at the test case level); UI to be tested. --- talerbank/app/middleware.py | 15 +++++++++++---- talerbank/app/tests.py | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/talerbank/app/middleware.py b/talerbank/app/middleware.py index 88e3b1b..19f9e71 100644 --- a/talerbank/app/middleware.py +++ b/talerbank/app/middleware.py @@ -47,11 +47,18 @@ class ExceptionMiddleware: return self.get_response(request) def process_exception(self, request, exception): - if not self.excs.get(exception.__class__): + # See if we manage this exception. Return None if not. + exc_class = None + for e in self.excs: + if isinstance(exception, e): + exc_class = e + break + if not exc_class: return None - taler_ec = self.excs.get(exception.__class__) - # The way error codes compose matches definitions found - # at [1]. + + # Managed exception. Build response. + taler_ec = self.excs.get(exc_class) + # The way error codes compose matches definitions found in [1]. taler_ec += self.apis.get(request.path, 1000) render_to = self.render.get(request.path) if not render_to: diff --git a/talerbank/app/tests.py b/talerbank/app/tests.py index fc73a8c..61d2639 100644 --- a/talerbank/app/tests.py +++ b/talerbank/app/tests.py @@ -360,7 +360,7 @@ class AddIncomingTestCase(TestCase): follow=True, **{"HTTP_X_TALER_BANK_USERNAME": "user_user", "HTTP_X_TALER_BANK_PASSWORD": "user_password"}) - self.assertEqual(403, response.status_code) + self.assertEqual(404, response.status_code) class HistoryContext: def __init__(self, expected_resp, **kwargs): -- cgit v1.2.3