emoji: Fix 500 trying to remove nonexisting realm emoji.

This commit is contained in:
Tim Abbott
2017-01-16 23:48:07 -08:00
parent 19cb5013d3
commit 121b926962
2 changed files with 8 additions and 1 deletions

View File

@@ -107,3 +107,9 @@ class RealmEmojiTest(ZulipTestCase):
check_add_realm_emoji(realm, "my_emoji", "https://example.com/my_emoji") check_add_realm_emoji(realm, "my_emoji", "https://example.com/my_emoji")
result = self.client_delete("/json/realm/emoji/my_emoji") result = self.client_delete("/json/realm/emoji/my_emoji")
self.assert_json_error(result, 'Must be a realm administrator') self.assert_json_error(result, 'Must be a realm administrator')
def test_delete_exception(self):
# type: () -> None
self.login("iago@zulip.com")
result = self.client_delete("/json/realm/emoji/invalid_emoji")
self.assert_json_error(result, "Emoji 'invalid_emoji' does not exist")

View File

@@ -6,7 +6,7 @@ from django.utils.translation import ugettext as _
from typing import Text from typing import Text
from zerver.models import UserProfile from zerver.models import UserProfile
from zerver.lib.emoji import check_emoji_admin, check_valid_emoji_name from zerver.lib.emoji import check_emoji_admin, check_valid_emoji_name, check_valid_emoji
from zerver.lib.request import JsonableError, REQ, has_request_variables from zerver.lib.request import JsonableError, REQ, has_request_variables
from zerver.lib.response import json_success, json_error from zerver.lib.response import json_success, json_error
from zerver.lib.actions import check_add_realm_emoji, do_remove_realm_emoji from zerver.lib.actions import check_add_realm_emoji, do_remove_realm_emoji
@@ -32,5 +32,6 @@ def upload_emoji(request, user_profile, emoji_name=None, url=REQ()):
def delete_emoji(request, user_profile, emoji_name): def delete_emoji(request, user_profile, emoji_name):
# type: (HttpRequest, UserProfile, Text) -> HttpResponse # type: (HttpRequest, UserProfile, Text) -> HttpResponse
check_emoji_admin(user_profile) check_emoji_admin(user_profile)
check_valid_emoji(user_profile.realm, emoji_name)
do_remove_realm_emoji(user_profile.realm, emoji_name) do_remove_realm_emoji(user_profile.realm, emoji_name)
return json_success() return json_success()