From 1170a17b5f4b01bd05a9e756694107f2dccb1bfa Mon Sep 17 00:00:00 2001 From: Sid Verma Date: Wed, 19 Aug 2020 17:32:43 +0530 Subject: [PATCH] BlockLimitReachedError should returns a 400 response instead of 500 --- .../content_libraries/tests/test_content_libraries.py | 6 ++---- openedx/core/djangoapps/content_libraries/views.py | 3 +++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/openedx/core/djangoapps/content_libraries/tests/test_content_libraries.py b/openedx/core/djangoapps/content_libraries/tests/test_content_libraries.py index 4cc695a1ad..2c02718a04 100644 --- a/openedx/core/djangoapps/content_libraries/tests/test_content_libraries.py +++ b/openedx/core/djangoapps/content_libraries/tests/test_content_libraries.py @@ -454,8 +454,6 @@ class ContentLibrariesTest(ContentLibrariesRestApiTest): lib_id = lib["id"] block_data = self._add_block_to_library(lib_id, "unit", "unit1") # Second block should throw error - with self.assertRaises(BlockLimitReachedError): - self._add_block_to_library(lib_id, "problem", "problem1") + self._add_block_to_library(lib_id, "problem", "problem1", expect_response=400) # Also check that limit applies to child blocks too - with self.assertRaises(BlockLimitReachedError): - self._add_block_to_library(lib_id, "html", "html1", parent_block=block_data["id"]) + self._add_block_to_library(lib_id, "html", "html1", parent_block=block_data['id'], expect_response=400) diff --git a/openedx/core/djangoapps/content_libraries/views.py b/openedx/core/djangoapps/content_libraries/views.py index 7a1a41e565..2ef6910aa3 100644 --- a/openedx/core/djangoapps/content_libraries/views.py +++ b/openedx/core/djangoapps/content_libraries/views.py @@ -58,6 +58,9 @@ def convert_exceptions(fn): except api.InvalidNameError as exc: log.exception(str(exc)) raise ValidationError(str(exc)) + except api.BlockLimitReachedError as exc: + log.exception(str(exc)) + raise ValidationError(str(exc)) return wrapped_fn