From 6ae233cf732be8016c2e0f4e0b6631b15df3f58b Mon Sep 17 00:00:00 2001
From: James Graham <J.Graham@software.ac.uk>
Date: Thu, 28 Feb 2019 14:25:25 +0000
Subject: [PATCH] Pass through upstream HttpErrors - fixes error trace when
 running tests

---
 api/views/datasources.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/api/views/datasources.py b/api/views/datasources.py
index 09557ee..1804a6d 100644
--- a/api/views/datasources.py
+++ b/api/views/datasources.py
@@ -8,7 +8,9 @@ import typing
 
 from django.db.models import ObjectDoesNotExist
 from django.http import HttpResponse, JsonResponse
+
 from rest_framework import decorators, request, response, viewsets
+from requests.exceptions import HTTPError
 
 from .. import permissions
 from datasources import models, serializers
@@ -134,6 +136,10 @@ class DataSourceApiViewset(viewsets.ReadOnlyModelViewSet):
                 }
                 return response.Response(data, status=400)
 
+            except HTTPError as e:
+                # Pass upstream errors through
+                return response.Response(e.response.text, status=e.response.status_code)
+
     def list(self, request, *args, **kwargs):
         """
         List the queryset after filtering by request query parameters for data source metadata.
-- 
GitLab