mirror of
https://github.com/zulip/zulip.git
synced 2025-11-01 20:44:04 +00:00
message: Make zero invalid value for message_content_delete_limit_seconds.
We make zero invalid value for message_content_delete_limit_seconds and for handling the case of "Allow to delete message any time", the API-level value of message_content_delete_limit_seconds is "anytime" and "None" as the DB-level value. We also use these values for message retention setting, so it helps maintain consistency.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import datetime
|
||||
from operator import itemgetter
|
||||
from typing import Any, Dict, List, Optional, Tuple
|
||||
from typing import Any, Dict, List, Optional, Tuple, Union
|
||||
from unittest import mock
|
||||
|
||||
import orjson
|
||||
@@ -2142,14 +2142,16 @@ class DeleteMessageTest(ZulipTestCase):
|
||||
|
||||
def test_delete_message_by_user(self) -> None:
|
||||
def set_message_deleting_params(
|
||||
allow_message_deleting: bool, message_content_delete_limit_seconds: int
|
||||
allow_message_deleting: bool, message_content_delete_limit_seconds: Union[int, str]
|
||||
) -> None:
|
||||
self.login("iago")
|
||||
result = self.client_patch(
|
||||
"/json/realm",
|
||||
{
|
||||
"allow_message_deleting": orjson.dumps(allow_message_deleting).decode(),
|
||||
"message_content_delete_limit_seconds": message_content_delete_limit_seconds,
|
||||
"message_content_delete_limit_seconds": orjson.dumps(
|
||||
message_content_delete_limit_seconds
|
||||
).decode(),
|
||||
},
|
||||
)
|
||||
self.assert_json_success(result)
|
||||
@@ -2170,7 +2172,7 @@ class DeleteMessageTest(ZulipTestCase):
|
||||
return result
|
||||
|
||||
# Test if message deleting is not allowed(default).
|
||||
set_message_deleting_params(False, 0)
|
||||
set_message_deleting_params(False, "unlimited")
|
||||
hamlet = self.example_user("hamlet")
|
||||
self.login_user(hamlet)
|
||||
msg_id = self.send_stream_message(hamlet, "Scotland")
|
||||
@@ -2185,8 +2187,8 @@ class DeleteMessageTest(ZulipTestCase):
|
||||
self.assert_json_success(result)
|
||||
|
||||
# Test if message deleting is allowed.
|
||||
# Test if time limit is zero(no limit).
|
||||
set_message_deleting_params(True, 0)
|
||||
# Test if time limit is None(no limit).
|
||||
set_message_deleting_params(True, "unlimited")
|
||||
msg_id = self.send_stream_message(hamlet, "Scotland")
|
||||
message = Message.objects.get(id=msg_id)
|
||||
message.date_sent = message.date_sent - datetime.timedelta(seconds=600)
|
||||
|
||||
Reference in New Issue
Block a user