zulip/zerver/tests
Sahil Batra ffb7744974 settings: Allow settings to be set to system groups only in production.
We use the already existing server level setting to only allow
settings to be set to system groups, not a named user defined
group as well, in production. But we allow to settings to be set
to any named or anonymous user group in tests and development server.

"can_mention_group" setting can be set to user defined groups
because some of the realms already do that in production.

The existing server level setting is also renamed to make it clear
that both user defined groups and anonymous groups are not allowed
if that setting is set to False.

This commit also changes the error message to be consistent for the
case when a setting cannot be set to user defined groups as per
server level and setting and when a particular setting cannot be set
to user defined groups due to the configuration of that particular
setting. For this we add a new class SystemGroupRequiredError in
exceptions.py so that we need not re-write the error message in
multiple places.
2024-07-12 09:51:49 -07:00
..
fixtures test_fixtures: Add 'message_link_test_cases' test fixture. 2024-06-17 10:42:32 -07:00
images thumbnail: Lock down which formats we parse. 2024-07-11 07:31:39 -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 realm-deactivation: Send email to owners as part of deactivation. 2024-06-26 16:48:18 -07:00
test_auth_backends.py realm-deactivation: Send email to owners as part of deactivation. 2024-06-26 16:48:18 -07: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 realm-deactivation: Send email to owners as part of deactivation. 2024-06-26 16:48:18 -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 portico: Update quotes on home page. 2024-07-07 22:44:04 -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 realm-deactivation: Send email to owners as part of deactivation. 2024-06-26 16:48:18 -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 email_mirror: Also strip "AW:" from subject. 2024-07-11 11:16:24 -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 settings: Remove private_message_policy setting. 2024-07-08 19:34:17 -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
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 settings: Remove private_message_policy setting. 2024-07-08 19:34:17 -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 upload: Pass down content-type of realm icon/logo to backend. 2024-07-11 07:31:39 -07:00
test_integrations.py refactor: Relocate screenshots scripts to new tools/screenshots dir. 2024-05-14 16:17:44 -07:00
test_integrations_dev_panel.py models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
test_internet.py
test_invite.py invites: Add option to receive notification on accepted invitations. 2024-07-05 17:14:45 -07:00
test_legacy_subject.py
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 refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -07:00
test_message_delete.py onboarding: Add 'OnboardingUserMessage' model. 2024-07-05 15:39:32 -07:00
test_message_dict.py refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -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_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_fetch.py upload: Pass bytes to create_attachment. 2024-07-07 14:40:07 -07:00
test_message_flags.py refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -07:00
test_message_move_stream.py move_stream: Trigger only move notification. 2024-07-07 11:38:14 -07:00
test_message_move_topic.py resolve_topic: Prevent incorrect notification during message move. 2024-07-07 11:38:14 -07:00
test_message_notification_emails.py refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -07:00
test_message_send.py exceptions: Update DM permission error string. 2024-07-10 18:43:50 -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 refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -07: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 refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -07:00
test_new_users.py refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -07:00
test_notification_data.py models: Extract zerver.models.scheduled_jobs. 2023-12-16 22:08:44 -08:00
test_onboarding.py
test_onboarding_steps.py onboarding_step: Don't show 'visibility_policy_banner' to new users. 2024-06-28 10:41:48 -07:00
test_openapi.py api_docs: Add test to check links of pages in the sidebar. 2024-07-01 16:42:11 -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
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 refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -07:00
test_queue.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
test_queue_worker.py invites: Remove invites worker, make confirmation object in-process. 2024-05-02 14:23:04 -07:00
test_rate_limiter.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
test_reactions.py refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -07:00
test_read_receipts.py refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -07:00
test_realm.py settings: Allow settings to be set to system groups only in production. 2024-07-12 09:51:49 -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_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
test_retention.py upload: Pass bytes to create_attachment. 2024-07-07 14:40:07 -07:00
test_rocketchat_importer.py refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -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
test_server_settings.py
test_service_bot_system.py refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -07:00
test_sessions.py ruff: Fix PLW0108 Lambda may be unnecessary. 2024-03-01 09:30:04 -08:00
test_settings.py user_settings: Add option to configure channel click behavior. 2024-07-08 13:56:13 -07:00
test_signup.py onboarding: Update initial direct message content. 2024-07-08 10:32:19 -07:00
test_slack_importer.py slack: Store the content-type of realm icons. 2024-07-11 07:31:39 -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 refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -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 test_subs: Use 'common_subscribe_to_streams' helper function. 2024-07-10 10:50:37 -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_timeout.py timeout: Rename to unsafe_timeout. 2024-04-18 11:50:38 -07:00
test_timestamp.py
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 upload: Stop requiring callers pass in the file size. 2024-07-07 14:40:07 -07:00
test_tutorial.py onboarding: Update Welcome Bot's responses to commands. 2024-07-09 13:08:02 -07:00
test_typed_endpoint.py python: Add missing TypeAlias annotations. 2024-04-01 16:19:56 -07:00
test_typed_endpoint_validators.py users: Migrate to typed_endpoint. 2024-06-06 16:50:56 -07:00
test_typing.py refactor: Rename `Huddle` Django model class to `DirectMessageGroup`. 2024-07-07 21:31:30 -07:00
test_upload.py thumbnail: Lock down which formats we parse. 2024-07-11 07:31:39 -07:00
test_upload_local.py upload: Stop requiring callers pass in the file size. 2024-07-07 14:40:07 -07:00
test_upload_s3.py upload: Pass down content-type of realm icon/logo to backend. 2024-07-11 07:31:39 -07: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 settings: Allow settings to be set to system groups only in production. 2024-07-12 09:51:49 -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 onboarding: Update initial direct message content. 2024-07-08 10:32:19 -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 zcommand: Rename night->dark and day->light in the color scheme backend. 2024-06-30 22:45:26 -07:00
test_zephyr.py models: Extract zerver.models.realms. 2023-12-16 22:08:44 -08:00
test_zulip_update_announcements.py refactor: Rename `huddle` to `direct_message_group` in non API. 2024-07-04 07:56:31 -07:00