diff --git a/mkt/site/tests/test_views.py b/mkt/site/tests/test_views.py index 67054de2c0b..0f852b5f12c 100644 --- a/mkt/site/tests/test_views.py +++ b/mkt/site/tests/test_views.py @@ -66,6 +66,11 @@ def test_404_consumer(self): password='password') self._test_404('/xxx') + def test_404_api(self): + res = self.client.get('/api/this-should-never-work/') + eq_(res.status_code, 404) + eq_(res.content, '') + class TestManifest(amo.tests.TestCase): diff --git a/mkt/site/views.py b/mkt/site/views.py index 5f3c16b1fa8..0fc28d9fd4e 100644 --- a/mkt/site/views.py +++ b/mkt/site/views.py @@ -5,7 +5,8 @@ from django.conf import settings from django.core.exceptions import PermissionDenied -from django.http import HttpResponse +from django.http import (HttpResponse, HttpResponseNotFound, + HttpResponseServerError) from django.template import RequestContext from django.views.decorators.cache import cache_page from django.views.decorators.csrf import csrf_exempt, requires_csrf_token @@ -21,7 +22,6 @@ from amo.decorators import post_required, no_login_required from amo.helpers import media from amo.urlresolvers import reverse -import api.views log = logging.getLogger('z.mkt.site') @@ -43,7 +43,7 @@ def handler403(request): def handler404(request): if request.path_info.startswith('/api/'): # Pass over to API handler404 view if API was targeted. - return api.views.handler404(request) + return HttpResponseNotFound() else: return jingo.render(request, 'site/404.html', status=404) @@ -51,7 +51,7 @@ def handler404(request): def handler500(request): if request.path_info.startswith('/api/'): # Pass over to API handler500 view if API was targeted. - return api.views.handler500(request) + return HttpResponseServerError() else: return jingo.render(request, 'site/500.html', status=500)