zulip/zerver/tests
Sahil Batra b44d30add7 events: Optimize computing can_create_streams and related fields.
Currently, for computing fields like can_create_public_streams
and can_create_private_steams fields, is_user_in_group is called
to check whether the user is part of the group which has the
permission. This means that there will be one DB query for each
field.

To optimize this, we now first fetch all the groups that the
user is member of, including the anonymous groups which are
used for settings, such that we can then just check whether
the user is part of the group which has the permission meaning
we would need only one query to compute all the fields.

This would be helpful when settings for other similar fields
will also be migrated to groups framework.
2024-06-24 10:00:08 -07:00
..
fixtures test_fixtures: Add 'message_link_test_cases' test fixture. 2024-06-17 10:42:32 -07:00
images emoji: Support animated PNGs. 2022-03-15 12:47:21 -07:00
__init__.py
test_alert_words.py alert_words: Migrate alert_words to use @typed_endpoint. 2023-09-08 08:20:17 -07:00
test_attachments.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
test_audit_log.py tests: Add a helper function to create anonymous groups. 2024-05-28 07:24:07 -07:00
test_auth_backends.py thumbnailing: Move resizing functions into zerver.lib.thumbnail. 2024-06-20 23:06:08 -04:00
test_bots.py users: Migrate to typed_endpoint. 2024-06-06 16:50:56 -07:00
test_cache.py models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
test_compatibility.py python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
test_create_video_call.py video_calls: Add default password to zoom meetings. 2024-04-12 08:49:08 -07:00
test_custom_profile_data.py custom_profile: Convert to typed_endpoint. 2024-06-19 18:29:28 -07:00
test_data_types.py
test_decorators.py do_deactivate_realm: Add deactivation_reason kwarg. 2024-05-19 23:07:28 -07:00
test_delete_unclaimed_attachments.py python: Mark regexes as raw strings. 2024-04-26 12:30:31 -07:00
test_digest.py onboarding: Replace channel messages in new organizations. 2024-05-09 14:05:35 -07:00
test_docs.py hello: Redesign landing page. 2024-06-02 21:45:37 -07:00
test_drafts.py i18n: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
test_email_change.py do_deactivate_realm: Add deactivation_reason kwarg. 2024-05-19 23:07:28 -07:00
test_email_log.py invites: Lock the realm when determining invitation counts. 2024-05-02 14:23:04 -07:00
test_email_mirror.py do_deactivate_realm: Add deactivation_reason kwarg. 2024-05-19 23:07:28 -07:00
test_email_notifications.py models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
test_embedded_bot_system.py models: Extract zerver.models.bots. 2023-12-16 22:08:44 -08:00
test_event_queue.py message_send: Update do_send_messages codepath to send event on commit. 2024-05-19 23:18:43 -07:00
test_event_system.py events: Optimize computing can_create_streams and related fields. 2024-06-24 10:00:08 -07:00
test_events.py realm: Remove create_private_stream_policy setting. 2024-06-20 15:48:14 -07:00
test_example.py docs: Update Django links to our current version. 2024-05-24 10:18:37 -07:00
test_external.py push_notifs: Rename PushDeviceToken.GCM to FCM. 2024-06-17 18:22:59 -07:00
test_github.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
test_has_request_variables.py test_helpers: Remove unnecessary HostRequestMock.body override. 2023-10-12 12:28:41 -07:00
test_health.py middleware: Send got_request_exception signal for JSON 500 errors. 2023-10-04 17:25:20 -07:00
test_home.py events: Optimize computing can_create_streams and related fields. 2024-06-24 10:00:08 -07:00
test_i18n.py invites: Lock the realm when determining invitation counts. 2024-05-02 14:23:04 -07:00
test_import_export.py presence: Handle PresenceSequence in the export/import system. 2024-06-02 22:08:28 -07:00
test_integrations_dev_panel.py models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
test_integrations.py refactor: Relocate screenshots scripts to new tools/screenshots dir. 2024-05-14 16:17:44 -07:00
test_internet.py ruff: Fix B017 assertRaises(Exception): should be considered evil. 2022-11-03 12:10:15 -07:00
test_invite.py realm: Use enums for accessing setting values. 2024-05-22 17:20:37 -07:00
test_legacy_subject.py tests: Consistently JSON-encode ‘to’ parameter 2022-09-13 11:05:37 -07:00
test_link_embed.py message_send: Update do_send_messages codepath to send event on commit. 2024-05-19 23:18:43 -07:00
test_management_commands.py models: Extract zerver.models.streams. 2023-12-16 22:08:44 -08:00
test_markdown.py streams-settings-overlay: Update hash for stream to channel rename. 2024-04-30 14:44:12 -07:00
test_mattermost_importer.py presence: Handle PresenceSequence in the export/import system. 2024-06-02 22:08:28 -07:00
test_message_delete.py realm: Use enums for accessing setting values. 2024-05-22 17:20:37 -07:00
test_message_dict.py message: Merge unnecessary cache_transformer step. 2024-02-14 12:27:03 -08:00
test_message_edit_notifications.py message_edit: Update do_update_message codepath to send event on commit. 2024-05-24 10:17:35 -07:00
test_message_edit.py tests: Add a helper function to create anonymous groups. 2024-05-28 07:24:07 -07:00
test_message_fetch.py narrow: Use NarrowParameter instead of dictionary. 2024-06-20 12:22:37 -07:00
test_message_flags.py streams: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
test_message_move_stream.py realm: Use enums for accessing setting values. 2024-05-22 17:20:37 -07:00
test_message_move_topic.py topic: Add resolve topic undo grace period. 2024-06-10 13:34:23 -07:00
test_message_notification_emails.py soft_reactivate: Soft reactivate if group mention has < 12 members. 2024-04-24 17:40:37 -07:00
test_message_send.py tests: Add a helper function to create anonymous groups. 2024-05-28 07:24:07 -07:00
test_message_topics.py streams: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
test_messages.py models: Extract zerver.models.recipients. 2023-12-16 22:08:44 -08:00
test_middleware.py models: Replace realm.uri with realm.url. 2024-05-08 11:12:43 -07:00
test_migrations.py CVE-2024-27286: Delete dangling UserMessage rows. 2024-03-19 18:22:24 -04:00
test_mirror_users.py models: Extract zerver.models.clients. 2023-12-16 22:08:44 -08:00
test_muted_users.py message_edit: Update do_update_message codepath to send event on commit. 2024-05-24 10:17:35 -07:00
test_new_users.py onboarding: Remove 'core team' private channel. 2024-05-09 14:05:35 -07:00
test_notification_data.py models: Extract zerver.models.scheduled_jobs. 2023-12-16 22:08:44 -08:00
test_onboarding_steps.py compose: Show a one-time banner for jump to sent message conversation. 2024-06-05 09:31:17 -07:00
test_onboarding.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_openapi.py api_docs: Document "/invites/{invite_id}/resend" endpoint. 2024-06-10 11:48:39 -07:00
test_outgoing_http.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
test_outgoing_webhook_interfaces.py message: Split MessageDict and friends into its own file. 2024-02-14 12:27:03 -08:00
test_outgoing_webhook_system.py message-send: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
test_populate_db.py populate_db: Import timedelta from its canonical module. 2023-03-05 14:46:28 -08:00
test_presence.py presence: Improve INSERT conflict handling in do_update_user_presence. 2024-06-16 11:57:47 -07:00
test_push_notifications.py test_push_notifs: Adjust .filter() in test_analytics_api. 2024-06-23 07:44:11 -07:00
test_queue_worker.py invites: Remove invites worker, make confirmation object in-process. 2024-05-02 14:23:04 -07:00
test_queue.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
test_rate_limiter.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
test_reactions.py message: Split MessageDict and friends into its own file. 2024-02-14 12:27:03 -08:00
test_read_receipts.py codespell: Fix typos caught by codespell. 2023-10-09 11:55:15 -07:00
test_realm_domains.py models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
test_realm_emoji.py thumbnailing: Move resizing functions into zerver.lib.thumbnail. 2024-06-20 23:06:08 -04:00
test_realm_export.py models: Replace realm.uri with realm.url. 2024-05-08 11:12:43 -07:00
test_realm_linkifiers.py requirements: Upgrade Python requirements. 2024-01-29 10:41:54 -08:00
test_realm_playgrounds.py models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
test_realm.py realm: Remove create_private_stream_policy setting. 2024-06-20 15:48:14 -07:00
test_recipient_parsing.py i18n: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
test_redis_utils.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
test_report.py zerver: Remove now-unused report/ endpoints. 2023-05-09 13:16:28 -07:00
test_retention.py retention: Add .restored_timestamp to ArchiveTransaction. 2024-05-09 10:54:44 -07:00
test_rocketchat_importer.py zulip_update: Send group DM for realm imported from other product. 2024-05-08 17:05:59 -07:00
test_scheduled_messages.py python: Mark regexes as raw strings. 2024-04-26 12:30:31 -07:00
test_scim.py scim: Add config option to disable initial streams for guests. 2024-04-11 12:28:26 -07:00
test_send_email.py docs: Document how to use SMTP without authentication. 2023-02-27 11:59:48 -08:00
test_server_settings.py settings: Make SHARED_SECRET mandatory. 2022-08-25 12:13:03 -07:00
test_service_bot_system.py storage: Migrate to typed_endpoint. 2024-06-14 11:24:36 -07:00
test_sessions.py ruff: Fix PLW0108 Lambda may be unnecessary. 2024-03-01 09:30:04 -08:00
test_settings.py settings: Add new web information density settings. 2024-03-27 12:58:32 -07:00
test_signup.py analytics: Remove active_users and active_users_log metrics. 2024-06-03 12:35:35 -07:00
test_slack_importer.py zulip_update: Send group DM for realm imported from other product. 2024-05-08 17:05:59 -07:00
test_slack_message_conversion.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
test_soft_deactivation.py mentions: Update backend tests to not use only "stream" wildcard. 2024-04-04 11:16:07 -07:00
test_subdomains.py models: Replace realm.uri with realm.url. 2024-05-08 11:12:43 -07:00
test_submessage.py message: Merge unnecessary cache_transformer step. 2024-02-14 12:27:03 -08:00
test_subs.py streams: Check permission to create channels based on group setting. 2024-06-20 15:48:14 -07:00
test_templates.py widgets: Rename confusing attribute name in tabbed_sections.py. 2023-08-31 11:55:28 -07:00
test_thumbnail.py test_helpers: Switch add/remove_ratelimit to a contextmanager. 2023-06-12 12:55:27 -07:00
test_timeout.py timeout: Rename to unsafe_timeout. 2024-04-18 11:50:38 -07:00
test_timestamp.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
test_timezone.py ruff: Fix UP036 Version block is outdated for minimum Python version. 2024-04-01 18:32:52 -07:00
test_tornado.py python: Consistently use from…import for urllib.parse. 2023-12-05 13:03:07 -08:00
test_transfer.py thumbnailing: Move resizing functions into zerver.lib.thumbnail. 2024-06-20 23:06:08 -04:00
test_tutorial.py help: Move 'channels-and-topics' to 'introduction-to-topics'. 2024-05-07 16:51:48 -07:00
test_typed_endpoint_validators.py users: Migrate to typed_endpoint. 2024-06-06 16:50:56 -07:00
test_typed_endpoint.py python: Add missing TypeAlias annotations. 2024-04-01 16:19:56 -07:00
test_typing.py typing: Migrate to typed_endpoint. 2024-06-14 10:58:35 -07:00
test_upload_local.py thumbnailing: Move resizing functions into zerver.lib.thumbnail. 2024-06-20 23:06:08 -04:00
test_upload_s3.py thumbnailing: Move resizing functions into zerver.lib.thumbnail. 2024-06-20 23:06:08 -04:00
test_upload.py thumbnailing: Move resizing functions into zerver.lib.thumbnail. 2024-06-20 23:06:08 -04:00
test_url_decoding.py url_decoding: Add 'is_same_server_message_link' function. 2024-06-17 10:42:32 -07:00
test_urls.py compose_validate: Remove autosubscribe feature. 2024-03-28 09:06:48 -07:00
test_user_groups.py user_groups: Add server level setting disallow anonymous groups for settings. 2024-06-03 09:45:26 -07:00
test_user_status.py api: Add "users/<int:user_id>/status" endpoint. 2024-05-22 18:07:22 -07:00
test_user_topics.py exceptions: Add IncompatibleParametersError as a JsonableError. 2024-04-29 16:58:47 -07:00
test_users.py analytics: Remove active_users and active_users_log metrics. 2024-06-03 12:35:35 -07:00
test_validators.py ruff: Fix E226 Missing whitespace around arithmetic operator. 2024-03-01 09:30:04 -08:00
test_webhooks_common.py webhooks: Rename stream_name to channel_name arg. 2024-05-04 19:01:51 -07:00
test_widgets.py todo_widget: Allow tasks to be added through /todo command. 2024-04-13 21:56:33 -07:00
test_zcommand.py tests: Refactor away result.json() calls with helpers. 2022-06-06 23:06:00 -07:00
test_zephyr.py models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
test_zulip_update_announcements.py remove_single_newlines: Fix regex to parse list syntax correctly. 2024-05-30 11:32:52 -07:00