zulip/zerver/tests
Florian Pritz a276603766 rocketchat: Deduplicate and ignore huddle rooms with same users.
If there are more than 1 room with the same set of users, the import
will fail due to a unique constraint on the huddle_hash. Figuring out
why and which room is causing this database error is kinda difficult.

We deduplicate those cases here and simply merge the rooms together.
Note however, that the deduplication does not work as expected so we
simply ignore them all together for now and only raise an exception
along some logging output. At least this way, it is pretty clear what is
wrong and you do not have to wait to get a database error during the
actual import.

We also ignore empty huddle rooms since those are the duplicates that
caused problems for me and if they are empty, ignoring them is easier
than trying to get the merge to work.

Not sure where those channels come from since we discovered this with
production data.

Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-09-09 16:57:24 -07:00
..
fixtures docs: Correct more “webapp” to “web app”. 2022-09-08 20:23:28 -07:00
images emoji: Support animated PNGs. 2022-03-15 12:47:21 -07:00
__init__.py
test_alert_words.py tests: Refactor away result.json() calls with helpers. 2022-06-06 23:06:00 -07:00
test_attachments.py tests: Refactor away result.json() calls with helpers. 2022-06-06 23:06:00 -07:00
test_audit_log.py realm: Create RealmAuditLog entries when removing custom emoji. 2022-07-31 18:32:28 -07:00
test_auth_backends.py test_auth_backends: Fix SOCIAL_AUTH_GITHUB_TEAM_ID mock. 2022-09-08 20:23:28 -07:00
test_bots.py tests: Pass all arguments in do_change_stream_permission. 2022-08-09 17:05:38 -07:00
test_cache.py preview: Use cache only as a non-durable cache, not an IPC. 2022-04-15 14:48:12 -07:00
test_compatibility.py python: Reformat with Black 22 (stable). 2022-02-18 18:03:13 -08:00
test_create_video_call.py tests: Refactor away result.json() calls with helpers. 2022-06-06 23:06:00 -07:00
test_custom_profile_data.py populate_db: Fix data for "Favorite editor" custom field. 2022-07-15 16:51:24 -07:00
test_data_types.py data_types: Generalize StringDictType. 2020-09-25 11:43:19 -07:00
test_decorators.py rate_limit: Remove rate_limit_ip. 2022-08-17 12:05:38 -07:00
test_digest.py testing: 100% coverage for zerver/tests/test_digest.py. 2022-06-01 16:09:13 -07:00
test_docs.py tests: Update DocPageTest for HTML metatags for landing pages. 2022-09-06 14:57:06 -07:00
test_drafts.py test_draft: Avoid inference with type annotation. 2022-07-26 18:00:24 -07:00
test_email_change.py user-settings: Make default None for name, email and password changes. 2022-08-08 15:37:41 -07:00
test_email_log.py tests: Remove FORWARD_ADDRESS_CONFIG_FILE created in test. 2022-07-21 15:25:11 -07:00
test_email_mirror.py settings: Make SHARED_SECRET mandatory. 2022-08-25 12:13:03 -07:00
test_email_notifications.py tests: Rename missed message email tests in test_email_notifications.py. 2022-08-26 11:48:29 -07:00
test_embedded_bot_system.py tests: Ensure stream senders get a UserMessage row. 2021-12-10 09:40:04 -08:00
test_event_queue.py test_helpers: Remove default tornado_handler from HostRequestMock. 2022-06-25 08:42:23 -07:00
test_event_system.py settings: Send presence update event toggling presence_enabled. 2022-08-25 12:30:12 -07:00
test_events.py user_settings: Add user setting to control the user list style. 2022-09-09 16:30:54 -07:00
test_example.py email_backends: Fix concurrent backend testing for generate_emails. 2022-05-03 08:45:51 -07:00
test_external.py rate_limit: Move rate_limit_remote_server to zilencer.auth. 2022-08-17 12:05:38 -07:00
test_github.py downloads: Serve desktop downloads from desktop-download.zulip.com. 2021-08-28 23:08:45 -07:00
test_gitter_importer.py import: Fix timestamp check in long_term_idle_helper. 2022-08-29 15:18:00 -07:00
test_home.py docs: Correct more “webapp” to “web app”. 2022-09-08 20:23:28 -07:00
test_hotspots.py actions: Split out zerver.actions.create_user. 2022-04-14 17:14:35 -07:00
test_i18n.py tests: Replace HttpResponse with TestHttpResponse. 2022-06-08 11:25:03 -07:00
test_import_export.py import: Fix the import of authentication_methods BitField. 2022-08-29 11:10:18 -07:00
test_integrations_dev_panel.py middleware: Pass unhandled API exceptions through to the test suite. 2022-06-23 19:23:08 -07:00
test_integrations.py tests: Add a test for fixtures for non-webhook integrations. 2021-04-28 08:16:51 -07:00
test_internet.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_legacy_subject.py tests: Remove client parameter if test can use default User-Agent. 2022-02-24 12:57:18 -08:00
test_link_embed.py actions: Create a separate message_delete.py file. 2022-09-01 14:18:38 -07:00
test_logging_handlers.py typing: Remove ViewFuncT. 2022-08-22 15:46:16 -07:00
test_management_commands.py tests: Replace some testserver.com dummy domains with zulip.example.com. 2022-08-29 10:39:14 -07:00
test_markdown.py CVE-2022-36048: Rewrite only specific local links to relative. 2022-08-24 16:29:09 -07:00
test_mattermost_importer.py tests: Verify emoji codes. 2021-12-06 13:22:47 -08:00
test_message_dict.py typing: Add none-checks for Recipient objects. 2022-05-31 09:43:55 -07:00
test_message_edit_notifications.py push_notifications: Ensure notifications are on for the remove codepath. 2022-03-09 16:33:51 -08:00
test_message_edit.py actions: Create a separate message_delete.py file. 2022-09-01 14:18:38 -07:00
test_message_fetch.py search: Add test for pgroogna parts-of-URL search. 2022-08-15 17:14:17 -07:00
test_message_flags.py message_flags: Fix deadlocks when updating message flags. 2022-09-06 16:06:58 -07:00
test_message_send.py internal_prep_private_message: Remove redundant realm arg. 2022-09-06 15:03:17 -07:00
test_message_topics.py tests: Pass all arguments in do_change_stream_permission. 2022-08-09 17:05:38 -07:00
test_messages.py actions: Split out zerver.actions.message_send. 2022-04-14 17:14:34 -07:00
test_middleware.py request: Refactor remote_server into RequestNotes. 2022-07-28 09:38:40 -07:00
test_migrations.py tests: Mark test_migrations tests to be automatically skipped. 2022-03-07 15:33:29 -08:00
test_mirror_users.py actions: Split out zerver.actions.message_send. 2022-04-14 17:14:34 -07:00
test_muting_topics.py typing: Add none-checks for Recipient objects. 2022-05-31 09:43:55 -07:00
test_muting_users.py tests: Refactor away result.json() calls with helpers. 2022-06-06 23:06:00 -07:00
test_new_users.py requirements: Upgrade to Django 4.0. 2022-07-13 16:07:17 -07:00
test_notification_data.py notifications: Don't enqueue notifications for bots. 2022-01-03 09:55:06 -08:00
test_onboarding.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
test_openapi.py api: Document /users/me/alert_words API endpoint. 2022-08-16 13:37:52 -07:00
test_outgoing_http.py requirements: Upgrade Python requirements. 2022-06-01 16:01:54 -07:00
test_outgoing_webhook_interfaces.py outgoing webhooks: Fix inconsistencies with Slack's API. 2021-09-23 11:19:20 -07:00
test_outgoing_webhook_system.py testing: 100% code coverage for zerver/lib/outgoing_webhook.py. 2022-05-17 13:51:00 -07:00
test_populate_db.py populate_db: Add support for creating messages older than 5 days ago. 2022-04-25 16:16:15 -07:00
test_presence.py tests: Refactor away result.json() calls with helpers. 2022-06-06 23:06:00 -07:00
test_push_notifications.py actions: Create a separate message_delete.py file. 2022-09-01 14:18:38 -07:00
test_queue_worker.py invites: Use expiration time in minutes instead of days. 2022-04-20 13:31:37 -07:00
test_queue.py test_queue_error_json: Acknowledge the received message. 2022-01-21 13:38:13 -08:00
test_rate_limiter.py test_rate_limiter: Make test_add_remove_rule clean up its rules. 2022-08-10 16:30:39 -07:00
test_reactions.py tests: Pass all arguments in do_change_stream_permission. 2022-08-09 17:05:38 -07:00
test_read_receipts.py read_receipts: Add support for displaying read receipts. 2022-08-12 13:16:35 -07:00
test_realm_domains.py tests: Refactor away result.json() calls with helpers. 2022-06-06 23:06:00 -07:00
test_realm_emoji.py cache: Avoid flushing invalid cache for realm emoji. 2022-08-09 14:44:28 -07:00
test_realm_export.py tests: Refactor away result.json() calls with helpers. 2022-06-06 23:06:00 -07:00
test_realm_linkifiers.py tests: Refactor away result.json() calls with helpers. 2022-06-06 23:06:00 -07:00
test_realm_playgrounds.py actions: Split out zerver.actions.realm_playgrounds. 2022-04-14 17:14:30 -07:00
test_realm.py user_settings: Add user setting to control the user list style. 2022-09-09 16:30:54 -07:00
test_redis_utils.py typing: Fix missing attribtute of RedisUtilsTest. 2022-06-23 22:05:12 -07:00
test_report.py docs: Fix many spelling mistakes. 2022-02-07 18:51:06 -08:00
test_retention.py actions: Create a separate message_delete.py file. 2022-09-01 14:18:38 -07:00
test_rocketchat_importer.py rocketchat: Deduplicate and ignore huddle rooms with same users. 2022-09-09 16:57:24 -07:00
test_scim.py scim: Upgrade scim2-filter-parser to 0.4.0 to fix case-sensitivity. 2022-08-29 10:35:29 -07:00
test_send_email.py test_send_email: Fix the to_email argument to pass str. 2022-07-15 14:00:56 -07:00
test_server_settings.py settings: Make SHARED_SECRET mandatory. 2022-08-25 12:13:03 -07:00
test_service_bot_system.py typing: Tighten type annotations for patch_queue_publish. 2022-08-22 15:46:16 -07:00
test_sessions.py home: For web public realms, skip login for spectators. 2022-04-28 12:34:29 -07:00
test_settings.py user_settings: Add user setting to control the user list style. 2022-09-09 16:30:54 -07:00
test_signup.py tests: Replace some testserver.com dummy domains with zulip.example.com. 2022-08-29 10:39:14 -07:00
test_slack_importer.py import_realm: Validate emails of users being imported. 2022-08-29 10:39:14 -07:00
test_slack_message_conversion.py tests: Consistently use assert_length helper. 2021-05-19 11:55:56 -07:00
test_soft_deactivation.py actions: Split out zerver.actions.alert_words. 2022-04-14 17:14:31 -07:00
test_subdomains.py subdomains: Extend "static" to include resources hosted on S3. 2021-06-08 15:28:10 -07:00
test_submessage.py actions: Split out zerver.actions.submessage. 2022-04-14 17:14:30 -07:00
test_subs.py streams: Fix misleading comment in "test_subs". 2022-09-08 16:56:07 -07:00
test_templates.py markdown: Rewrite include plugin without markdown-include. 2022-06-26 17:36:31 -07:00
test_thumbnail.py typing: Access url via key "Location" instead of attribute "url". 2022-05-30 11:59:47 -07:00
test_timeout.py timeout: Add test coverage. 2022-04-07 17:26:01 -07:00
test_timestamp.py docs: Add missing space in “time zone”. 2022-02-24 14:05:12 -08:00
test_timezone.py requirements: Upgrade to Django 4.0. 2022-07-13 16:07:17 -07:00
test_tornado.py test_tornado: Avoid deprecated AsyncHTTPTestCase. 2022-07-05 17:54:17 -07:00
test_transfer.py mypy: Enable truthy-bool errors. 2022-06-23 19:22:12 -07:00
test_tutorial.py actions: Split out zerver.actions.message_send. 2022-04-14 17:14:34 -07:00
test_typing.py streams: Capitalize "ID" in invalid stream errors in API. 2022-05-27 17:06:03 -07:00
test_upload.py actions: Create a separate message_delete.py file. 2022-09-01 14:18:38 -07:00
test_urls.py tests: Move URL redirect tests for portico landing pages. 2022-09-06 14:57:06 -07:00
test_user_groups.py user_groups: Add EVERYONE_GROUP_NAME constant. 2022-08-11 04:38:36 -07:00
test_user_status.py user_status: Add UserInfoDict. 2022-07-22 16:31:18 -07:00
test_users.py logout_all_users: Add --rotate-api-keys option to the command. 2022-08-15 17:58:05 -07:00
test_webhooks_common.py django: Use HttpRequest.headers. 2022-05-13 20:42:20 -07:00
test_widgets.py tests: Replace HttpResponse with TestHttpResponse. 2022-06-08 11:25:03 -07:00
test_zcommand.py tests: Refactor away result.json() calls with helpers. 2022-06-06 23:06:00 -07:00
test_zephyr.py zephyr: Check PERSONAL_ZMIRROR_SERVER before updating cache. 2022-08-12 17:08:04 -07:00