From aee46bb1e9fb94f5f2f0596ced1ee9aa55cd1dbc Mon Sep 17 00:00:00 2001 From: Steve Howell Date: Tue, 21 Aug 2018 16:10:00 +0000 Subject: [PATCH] tests: Test forging timestamps for mirrored messages. --- zerver/tests/test_messages.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/zerver/tests/test_messages.py b/zerver/tests/test_messages.py index 424cf0c734..3a0dc34429 100644 --- a/zerver/tests/test_messages.py +++ b/zerver/tests/test_messages.py @@ -84,7 +84,7 @@ from zerver.models import ( from zerver.lib.upload import create_attachment -from zerver.lib.timestamp import convert_to_UTC +from zerver.lib.timestamp import convert_to_UTC, datetime_to_timestamp from zerver.lib.timezone import get_timezone from zerver.views.messages import create_mirrored_message_users @@ -1639,8 +1639,14 @@ class MessagePOSTTest(ZulipTestCase): user.save() user = get_user(email, get_realm('zulip')) self.subscribe(user, "IRCland") + + # Simulate a mirrored message with a slightly old timestamp. + fake_pub_date = timezone_now() - datetime.timedelta(minutes=37) + fake_pub_time = datetime_to_timestamp(fake_pub_date) + result = self.api_post(email, "/api/v1/messages", {"type": "stream", "forged": "true", + "time": fake_pub_time, "sender": "irc-user@irc.zulip.com", "content": "Test message", "client": "irc_mirror", @@ -1648,6 +1654,9 @@ class MessagePOSTTest(ZulipTestCase): "to": "IRCLand"}) self.assert_json_success(result) + msg = self.get_last_message() + self.assertEqual(int(datetime_to_timestamp(msg.pub_date)), int(fake_pub_time)) + def test_unsubscribed_api_super_user(self) -> None: sender = self.example_user('cordelia') stream_name = 'private_stream'