Commit 9e20057d by John Eskew

Merge pull request #6478 from edx/jeskew/change_handled_exception_for_assets

Handle the correct exception upon asset not found.
parents 37d965d6 df5ba26a
......@@ -840,9 +840,16 @@ class MiscCourseTests(ContentStoreTestCase):
self.store.unpublish(self.chapter_loc, self.user.id)
def test_bad_contentstore_request(self):
resp = self.client.get_html('http://localhost:8001/c4x/CDX/123123/asset/&images_circuits_Lab7Solution2.png')
"""
Test that user get proper responses for urls with invalid url or
asset/course key
"""
resp = self.client.get_html('/c4x/CDX/123123/asset/&invalid.png')
self.assertEqual(resp.status_code, 400)
resp = self.client.get_html('/c4x/CDX/123123/asset/invalid.png')
self.assertEqual(resp.status_code, 404)
def test_delete_course(self):
"""
This test creates a course, makes a draft item, and deletes the course. This will also assert that the
......
......@@ -15,6 +15,7 @@ from xmodule.modulestore import InvalidLocationError
from opaque_keys import InvalidKeyError
from opaque_keys.edx.locator import AssetLocator
from cache_toolbox.core import get_cached_content, set_cached_content
from xmodule.modulestore.exceptions import ItemNotFoundError
from xmodule.exceptions import NotFoundError
# TODO: Soon as we have a reasonable way to serialize/deserialize AssetKeys, we need
......@@ -44,7 +45,7 @@ class StaticContentServer(object):
# nope, not in cache, let's fetch from DB
try:
content = AssetManager.find(loc, as_stream=True)
except NotFoundError:
except (ItemNotFoundError, NotFoundError):
response = HttpResponse()
response.status_code = 404
return response
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment