mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 13:33:24 +00:00
home: Include is_web_public_guest in page_params.
This commit is contained in:
@@ -182,6 +182,7 @@ def build_page_params_for_home_page_load(
|
|||||||
# Adding two_fa_enabled as condition saves us 3 queries when
|
# Adding two_fa_enabled as condition saves us 3 queries when
|
||||||
# 2FA is not enabled.
|
# 2FA is not enabled.
|
||||||
two_fa_enabled_user=two_fa_enabled and bool(default_device(user_profile)),
|
two_fa_enabled_user=two_fa_enabled and bool(default_device(user_profile)),
|
||||||
|
is_web_public_guest=user_profile is None,
|
||||||
)
|
)
|
||||||
|
|
||||||
undesired_register_ret_fields = [
|
undesired_register_ret_fields = [
|
||||||
|
|||||||
@@ -86,6 +86,7 @@ class HomeTest(ZulipTestCase):
|
|||||||
"is_admin",
|
"is_admin",
|
||||||
"is_guest",
|
"is_guest",
|
||||||
"is_owner",
|
"is_owner",
|
||||||
|
"is_web_public_guest",
|
||||||
"jitsi_server_url",
|
"jitsi_server_url",
|
||||||
"language_list",
|
"language_list",
|
||||||
"language_list_dbl_col",
|
"language_list_dbl_col",
|
||||||
@@ -217,6 +218,14 @@ class HomeTest(ZulipTestCase):
|
|||||||
"zulip_version",
|
"zulip_version",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
def check_rendered_logged_in_app(self, result: HttpResponse) -> None:
|
||||||
|
self.assertEqual(result.status_code, 200)
|
||||||
|
page_params = self._get_page_params(result)
|
||||||
|
# It is important to check `is_web_public_guest` to verify
|
||||||
|
# that we treated this request as a normal logged-in session,
|
||||||
|
# not as a web-public visitor.
|
||||||
|
self.assertEqual(page_params['is_web_public_guest'], False)
|
||||||
|
|
||||||
def test_home(self) -> None:
|
def test_home(self) -> None:
|
||||||
# Keep this list sorted!!!
|
# Keep this list sorted!!!
|
||||||
html_bits = [
|
html_bits = [
|
||||||
@@ -251,6 +260,7 @@ class HomeTest(ZulipTestCase):
|
|||||||
with queries_captured() as queries:
|
with queries_captured() as queries:
|
||||||
with patch('zerver.lib.cache.cache_set') as cache_mock:
|
with patch('zerver.lib.cache.cache_set') as cache_mock:
|
||||||
result = self._get_home_page(stream='Denmark')
|
result = self._get_home_page(stream='Denmark')
|
||||||
|
self.check_rendered_logged_in_app(result)
|
||||||
self.assertEqual(set(result["Cache-Control"].split(", ")),
|
self.assertEqual(set(result["Cache-Control"].split(", ")),
|
||||||
{"must-revalidate", "no-store", "no-cache"})
|
{"must-revalidate", "no-store", "no-cache"})
|
||||||
|
|
||||||
@@ -294,7 +304,7 @@ class HomeTest(ZulipTestCase):
|
|||||||
self.login('iago')
|
self.login('iago')
|
||||||
result = self._get_home_page()
|
result = self._get_home_page()
|
||||||
# Should be successful because otp device is not configured.
|
# Should be successful because otp device is not configured.
|
||||||
self.assertEqual(result.status_code, 200)
|
self.check_rendered_logged_in_app(result)
|
||||||
|
|
||||||
def test_home_under_2fa_with_otp_device(self) -> None:
|
def test_home_under_2fa_with_otp_device(self) -> None:
|
||||||
with self.settings(TWO_FACTOR_AUTHENTICATION_ENABLED=True):
|
with self.settings(TWO_FACTOR_AUTHENTICATION_ENABLED=True):
|
||||||
@@ -309,7 +319,7 @@ class HomeTest(ZulipTestCase):
|
|||||||
self.login_2fa(user_profile)
|
self.login_2fa(user_profile)
|
||||||
result = self._get_home_page()
|
result = self._get_home_page()
|
||||||
# Should be successful after calling 2fa login function.
|
# Should be successful after calling 2fa login function.
|
||||||
self.assertEqual(result.status_code, 200)
|
self.check_rendered_logged_in_app(result)
|
||||||
|
|
||||||
def test_num_queries_for_realm_admin(self) -> None:
|
def test_num_queries_for_realm_admin(self) -> None:
|
||||||
# Verify number of queries for Realm admin isn't much higher than for normal users.
|
# Verify number of queries for Realm admin isn't much higher than for normal users.
|
||||||
@@ -318,7 +328,7 @@ class HomeTest(ZulipTestCase):
|
|||||||
with queries_captured() as queries:
|
with queries_captured() as queries:
|
||||||
with patch('zerver.lib.cache.cache_set') as cache_mock:
|
with patch('zerver.lib.cache.cache_set') as cache_mock:
|
||||||
result = self._get_home_page()
|
result = self._get_home_page()
|
||||||
self.assertEqual(result.status_code, 200)
|
self.check_rendered_logged_in_app(result)
|
||||||
self.assert_length(cache_mock.call_args_list, 6)
|
self.assert_length(cache_mock.call_args_list, 6)
|
||||||
self.assert_length(queries, 39)
|
self.assert_length(queries, 39)
|
||||||
|
|
||||||
@@ -741,7 +751,7 @@ class HomeTest(ZulipTestCase):
|
|||||||
# billing admin, no customer object -> make sure it doesn't crash
|
# billing admin, no customer object -> make sure it doesn't crash
|
||||||
customer.delete()
|
customer.delete()
|
||||||
result = self._get_home_page()
|
result = self._get_home_page()
|
||||||
self.assertEqual(result.status_code, 200)
|
self.check_rendered_logged_in_app(result)
|
||||||
|
|
||||||
def test_show_plans(self) -> None:
|
def test_show_plans(self) -> None:
|
||||||
realm = get_realm("zulip")
|
realm = get_realm("zulip")
|
||||||
@@ -995,7 +1005,7 @@ class HomeTest(ZulipTestCase):
|
|||||||
user.save()
|
user.save()
|
||||||
self.login_user(user)
|
self.login_user(user)
|
||||||
result = self._get_home_page()
|
result = self._get_home_page()
|
||||||
self.assertEqual(result.status_code, 200)
|
self.check_rendered_logged_in_app(result)
|
||||||
with \
|
with \
|
||||||
patch('zerver.lib.events.request_event_queue', return_value=42), \
|
patch('zerver.lib.events.request_event_queue', return_value=42), \
|
||||||
patch('zerver.lib.events.get_user_events', return_value=[]):
|
patch('zerver.lib.events.get_user_events', return_value=[]):
|
||||||
@@ -1011,7 +1021,7 @@ class HomeTest(ZulipTestCase):
|
|||||||
user.save()
|
user.save()
|
||||||
self.login_user(user)
|
self.login_user(user)
|
||||||
result = self._get_home_page()
|
result = self._get_home_page()
|
||||||
self.assertEqual(result.status_code, 200)
|
self.check_rendered_logged_in_app(result)
|
||||||
|
|
||||||
page_params = self._get_page_params(result)
|
page_params = self._get_page_params(result)
|
||||||
self.assertEqual(page_params['default_language'], 'es')
|
self.assertEqual(page_params['default_language'], 'es')
|
||||||
|
|||||||
Reference in New Issue
Block a user