zulip/zerver/tests
Alex Vandiver 608c787c52 email_mirror: Create attachments as the message sender.
When the email mirror gateway is sending messages "as" a user (as
triggered by having access to the missed-message email address),
attachments were still created as the Email Gateway bot.  Since the
sender (the end-user) was not the owner of those attachments (the
gateway bot), nor were they referenced yet anywhere, this resulted in
the attachments being "orphaned" and not allowed to be accessed by
anyone -- despite the attachment links being embedded in the message.
This was accompanied by the error:

```
WARN [] User 12345 tried to share upload 123/3LkSA4OcoG6OpAknS2I0SFAQ/example.jpf in message 123456, but lacks permission
INFO [zerver.lib.email_mirror] Successfully processed email from user 12345 to example-stream
```

We solve this by creating attachment objects as the users the message
will be sent from.
2023-01-18 15:42:40 -08:00
..
fixtures Fix typos caught by typos. 2023-01-03 11:09:50 -08: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 Fix typos caught by typos. 2023-01-03 11:09:50 -08:00
test_auth_backends.py uploads: Split out S3 and local file backends into separate files. 2023-01-09 18:23:58 -05:00
test_bots.py ruff: Fix ISC003 Explicitly concatenated string. 2023-01-04 16:25:07 -08:00
test_cache.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
test_compatibility.py register: Handle "Pronouns" type fields for older mobile clients. 2022-11-04 14:31:18 -07: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 tests: Remove ignored `field_type` param in custom profile data test. 2022-11-08 11:08:14 -08:00
test_data_types.py
test_decorators.py decorator: Do not send HEAD response with non-empty body. 2023-01-06 13:32:47 -08:00
test_digest.py test_classes: Create a dedicate helper for query count check. 2022-10-17 11:32:52 -07:00
test_docs.py templates: Set robots noindex for attribution corporate template. 2023-01-17 15:00:39 -08:00
test_drafts.py test_draft: Avoid inference with type annotation. 2022-07-26 18:00:24 -07:00
test_email_change.py css: Fix spilling out of long email on email change confirmation. 2022-12-13 16:29:10 -08: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 email_mirror: Create attachments as the message sender. 2023-01-18 15:42:40 -08:00
test_email_notifications.py ruff: Fix ISC003 Explicitly concatenated string. 2023-01-04 16:25:07 -08:00
test_embedded_bot_system.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
test_event_queue.py MissedMessageHookTest: Add more tests. 2023-01-06 17:08:20 -08:00
test_event_system.py python: Clean up janky URL matching code with urlsplit. 2023-01-18 17:25:46 -05:00
test_events.py Fix typos caught by typos. 2023-01-03 11:09:50 -08:00
test_example.py test_classes: Create a dedicate helper for query count check. 2022-10-17 11:32:52 -07:00
test_external.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08: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_gitter_importer.py ruff: Fix C405 Unnecessary `list` literal (rewrite as a `set` literal). 2022-11-03 12:10:15 -07:00
test_home.py test_classes: Create a dedicate helper for query count check. 2022-10-17 11:32:52 -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 uploads: Add LOCAL_AVATARS_DIR / LOCAL_FILES_DIR computed settings. 2023-01-09 18:23:58 -05:00
test_integrations.py
test_integrations_dev_panel.py middleware: Pass unhandled API exceptions through to the test suite. 2022-06-23 19:23:08 -07:00
test_internet.py ruff: Fix B017 `assertRaises(Exception):` should be considered evil. 2022-11-03 12:10:15 -07:00
test_legacy_subject.py tests: Consistently JSON-encode ‘to’ parameter 2022-09-13 11:05:37 -07:00
test_link_embed.py ruff: Fix ISC003 Explicitly concatenated string. 2023-01-04 16:25:07 -08:00
test_logging_handlers.py Fix typos caught by typos. 2023-01-03 11:09:50 -08:00
test_management_commands.py realm_creation: Rework error pages. 2022-10-31 17:35:06 -07:00
test_markdown.py markdown: Update max inline preview from 10 to 24. 2023-01-18 14:58:00 -05:00
test_mattermost_importer.py tests: Verify emoji codes. 2021-12-06 13:22:47 -08:00
test_message_dict.py test_classes: Create a dedicate helper for query count check. 2022-10-17 11:32:52 -07:00
test_message_edit.py messages: Eliminate redundant realm fetch in has_message_access. 2023-01-10 15:27:55 -08: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_fetch.py uploads: Split out S3 and local file backends into separate files. 2023-01-09 18:23:58 -05:00
test_message_flags.py Fix typos caught by typos. 2023-01-03 11:09:50 -08:00
test_message_send.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
test_message_topics.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
test_messages.py message send: Ignore alert words for presence idle users. 2023-01-06 17:08:20 -08:00
test_middleware.py ruff: Fix ISC003 Explicitly concatenated string. 2023-01-04 16:25:07 -08:00
test_migrations.py models: Add denormalized .realm column to Message. 2022-10-07 10:09:38 -07:00
test_mirror_users.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
test_muting_topics.py stream_topic: Refactor user_ids_muting_topic. 2022-09-27 17:18:48 -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 ruff: Fix ISC003 Explicitly concatenated string. 2023-01-04 16:25:07 -08:00
test_notification_data.py user_groups: Track acting user for user group creation. 2022-12-13 14:58:58 -08:00
test_onboarding.py
test_openapi.py message_fetch: Add include_anchor parameter. 2022-11-16 21:13:44 -08:00
test_outgoing_http.py requirements: Upgrade Python requirements. 2022-06-01 16:01:54 -07:00
test_outgoing_webhook_interfaces.py
test_outgoing_webhook_system.py outgoing_webhook: Ignore the exception on failure if the stream is gone. 2022-11-04 14:46:17 -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 Fix typos caught by typos. 2023-01-03 11:09:50 -08:00
test_push_notifications.py ruff: Fix ISC001 Implicitly concatenated string literals on one line. 2023-01-04 16:25:07 -08:00
test_queue.py test_queue_error_json: Acknowledge the received message. 2022-01-21 13:38:13 -08:00
test_queue_worker.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -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: Consistently JSON-encode ‘to’ parameter 2022-09-13 11:05:37 -07:00
test_read_receipts.py message: Don't create historical UserMessage rows when marking as read. 2022-11-08 08:50:17 -08:00
test_realm.py message_edit: Add "Nobody" option for move_messages_between_streams_policy. 2022-12-13 23:11:50 -08:00
test_realm_domains.py realm_domains: Allow only owners to add, edit or delete domains. 2022-09-16 15:27:52 -07:00
test_realm_emoji.py uploads: Split out S3 and local file backends into separate files. 2023-01-09 18:23:58 -05:00
test_realm_export.py realm_export: Improve estimate of data export size. 2022-09-16 14:54:45 -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 rest: Restrict access to json views via basic auth. 2022-11-04 14:44:07 -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 uploads: Split out S3 and local file backends into separate files. 2023-01-09 18:23:58 -05:00
test_rocketchat_importer.py rocketchat: Import timezone-aware datetimes. 2022-12-27 10:34:30 -08:00
test_scim.py test_scim: Add test for missing or wrong authentication. 2022-11-05 15:13:46 -07:00
test_send_email.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
test_server_settings.py settings: Make SHARED_SECRET mandatory. 2022-08-25 12:13:03 -07:00
test_service_bot_system.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
test_sessions.py home: For web public realms, skip login for spectators. 2022-04-28 12:34:29 -07:00
test_settings.py ruff: Fix SIM118 Use `key in dict` instead of `key in dict.keys()`. 2023-01-04 16:25:07 -08:00
test_signup.py ruff: Fix ISC003 Explicitly concatenated string. 2023-01-04 16:25:07 -08:00
test_slack_importer.py python: Clean up janky URL matching code with urlsplit. 2023-01-18 17:25:46 -05:00
test_slack_message_conversion.py
test_soft_deactivation.py test_classes: Create a dedicate helper for query count check. 2022-10-17 11:32:52 -07:00
test_subdomains.py
test_submessage.py actions: Split out zerver.actions.submessage. 2022-04-14 17:14:30 -07:00
test_subs.py ruff: Fix ISC003 Explicitly concatenated string. 2023-01-04 16:25:07 -08:00
test_templates.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08: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 ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08: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 DTZ001 `datetime.datetime()` without `tzinfo` argument. 2023-01-04 16:25:07 -08:00
test_tornado.py test_tornado: Avoid deprecated AsyncHTTPTestCase. 2022-07-05 17:54:17 -07:00
test_transfer.py uploads: Split out S3 and local file backends into separate files. 2023-01-09 18:23:58 -05:00
test_tutorial.py recent-topics: Update hash for view to be "#recent". 2022-10-25 11:03:44 -07:00
test_typing.py test_classes: Create a dedicate helper for query count check. 2022-10-17 11:32:52 -07:00
test_upload.py uploads: Serve S3 uploads directly from nginx. 2023-01-09 18:23:58 -05: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: Track acting user for user group creation. 2022-12-13 14:58:58 -08:00
test_user_status.py user-status: Stop updating the UserStatus model for `away` updates. 2022-09-23 12:27:54 -07:00
test_users.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
test_webhooks_common.py ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
test_widgets.py tests: Consistently JSON-encode ‘to’ parameter 2022-09-13 11:05:37 -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