tests: Migrate mocked Request to HostMockRequest.

This migrates some mocked Request class and mocked request achieved
with namedtuple in test_decorators and test_mirror_users to use the
refactored HostMockRequest.

Since weakref cannot be used with namedtuple, this old way of mocking a
request object should be migrated to using HostRequestMock. Only after
this change we can extract client from the request object and store it
via ZulipRequestNotes.
This commit is contained in:
PIG208
2021-07-09 23:40:21 +08:00
committed by Tim Abbott
parent 8eb2c3ffdb
commit 26875cdf0b
3 changed files with 83 additions and 140 deletions

View File

@@ -5,10 +5,10 @@ from unittest import mock
from django.db import IntegrityError
from django.utils.timezone import now as timezone_now
from zerver.lib.actions import create_mirror_user_if_needed, get_client
from zerver.lib.actions import create_mirror_user_if_needed
from zerver.lib.create_user import create_user_profile
from zerver.lib.test_classes import ZulipTestCase
from zerver.lib.test_helpers import reset_emails_in_zulip_realm
from zerver.lib.test_helpers import HostRequestMock, reset_emails_in_zulip_realm
from zerver.models import UserProfile, get_realm, get_user
from zerver.views.message_send import InvalidMirrorInput, create_mirrored_message_users
@@ -25,15 +25,13 @@ class MirroredMessageUsersTest(ZulipTestCase):
create_mirrored_message_users(request, user, recipients)
def test_invalid_client(self) -> None:
client = get_client(name="banned_mirror") # Invalid!!!
user = self.example_user("hamlet")
sender = user
recipients: List[str] = []
Request = namedtuple("Request", ["POST", "client"])
request = Request(POST=dict(sender=sender.email, type="private"), client=client)
post_data = dict(sender=sender.email, type="private")
request = HostRequestMock(post_data=post_data, client_name="banned_mirror")
with self.assertRaises(InvalidMirrorInput):
create_mirrored_message_users(request, user, recipients)
@@ -46,12 +44,10 @@ class MirroredMessageUsersTest(ZulipTestCase):
user = self.mit_user("starnine")
sender = user
Request = namedtuple("Request", ["POST", "client"])
post_data = dict(sender=sender.email, type="private")
for client_name in ["zephyr_mirror", "irc_mirror", "jabber_mirror"]:
client = get_client(name=client_name)
request = Request(POST=dict(sender=sender.email, type="private"), client=client)
request = HostRequestMock(post_data=post_data, client_name=client_name)
with self.assertRaises(InvalidMirrorInput):
create_mirrored_message_users(request, user, recipients)
@@ -62,8 +58,6 @@ class MirroredMessageUsersTest(ZulipTestCase):
)
def test_zephyr_mirror_new_recipient(self, ignored: object) -> None:
"""Test mirror dummy user creation for PM recipients"""
client = get_client(name="zephyr_mirror")
user = self.mit_user("starnine")
sender = self.mit_user("sipbtest")
new_user_email = "bob_the_new_user@mit.edu"
@@ -72,8 +66,8 @@ class MirroredMessageUsersTest(ZulipTestCase):
recipients = [user.email, new_user_email]
# Now make the request.
Request = namedtuple("Request", ["POST", "client"])
request = Request(POST=dict(sender=sender.email, type="private"), client=client)
post_data = dict(sender=sender.email, type="private")
request = HostRequestMock(post_data=post_data, client_name="zephyr_mirror")
mirror_sender = create_mirrored_message_users(request, user, recipients)
@@ -93,16 +87,14 @@ class MirroredMessageUsersTest(ZulipTestCase):
)
def test_zephyr_mirror_new_sender(self, ignored: object) -> None:
"""Test mirror dummy user creation for sender when sending to stream"""
client = get_client(name="zephyr_mirror")
user = self.mit_user("starnine")
sender_email = "new_sender@mit.edu"
recipients = ["stream_name"]
# Now make the request.
Request = namedtuple("Request", ["POST", "client"])
request = Request(POST=dict(sender=sender_email, type="stream"), client=client)
post_data = dict(sender=sender_email, type="stream")
request = HostRequestMock(post_data=post_data, client_name="zephyr_mirror")
mirror_sender = create_mirrored_message_users(request, user, recipients)
@@ -112,7 +104,6 @@ class MirroredMessageUsersTest(ZulipTestCase):
def test_irc_mirror(self) -> None:
reset_emails_in_zulip_realm()
client = get_client(name="irc_mirror")
sender = self.example_user("hamlet")
@@ -123,8 +114,8 @@ class MirroredMessageUsersTest(ZulipTestCase):
]
# Now make the request.
Request = namedtuple("Request", ["POST", "client"])
request = Request(POST=dict(sender=sender.email, type="private"), client=client)
post_data = dict(sender=sender.email, type="private")
request = HostRequestMock(post_data=post_data, client_name="irc_mirror")
mirror_sender = create_mirrored_message_users(request, sender, recipients)
@@ -140,7 +131,6 @@ class MirroredMessageUsersTest(ZulipTestCase):
def test_jabber_mirror(self) -> None:
reset_emails_in_zulip_realm()
client = get_client(name="jabber_mirror")
sender = self.example_user("hamlet")
user = sender
@@ -152,8 +142,8 @@ class MirroredMessageUsersTest(ZulipTestCase):
]
# Now make the request.
Request = namedtuple("Request", ["POST", "client"])
request = Request(POST=dict(sender=sender.email, type="private"), client=client)
post_data = dict(sender=sender.email, type="private")
request = HostRequestMock(post_data=post_data, client_name="jabber_mirror")
mirror_sender = create_mirrored_message_users(request, user, recipients)