zulip/zerver/tests
Alex Vandiver fa6daee4e1 markdown: Fix use of pure_markdown for non-pure markdown rendering.
`render_markdown_path` renders Markdown, and also (since baff121115)
runs Jinja2 on the resulting HTML.

The `pure_markdown` flag was added in 0a99fa2fd6, and did two
things: retried the path directly in the filesystem if it wasn't found
by the Jinja2 resolver, and also skipped the subsequent Jinja2
templating step (regardless of where the content was found).  In this
context, the name `pure_markdown` made some sense.  The only two
callsites were the TOS and privacy policy renders, which might have
had user-supplied arbitrary paths, and we wished to handle absolute
paths in addition to ones inside `templates/`.

Unfortunately, the follow-up of 01bd55bbcb did not refactor the
logic -- it changed it, by making `pure_markdown` only do the former
of the two behaviors.  Passing `pure_markdown=True` after that commit
still caused it to always run Jinja2, but allowed it to look elsewhere
in the filesystem.

This set the stage for calls, such as the one introduced in
dedea23745, which passed both a context for Jinja2, as well as
`pure_markdown=True` implying that Jinja2 was not to be used.

Split the two previous behaviors of the `pure_markdown` flag, and use
pre-existing data to control them, rather than an explicit flag.  For
handling policy information which is stored at an absolute path
outside of the template root, we switch to using the template search
path if and only if the path is relative.  This also closes the
potential inconsistency based on CWD when `pure_markdown=True` was
passed and the path was relative, not absolute.

Decide whether to run Jinja2 based on if a context is passed in at
all.  This restores the behavior in the initial 0a99fa2fd6 where a
call to `rendar_markdown_path` could be made to just render markdown,
and not some other unmentioned and unrelated templating language as
well.
2023-03-17 08:46:25 -07:00
..
fixtures import: Add the UTF-8 flag on file entries in zipfiles from Slack. 2023-01-31 16:07:48 -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 upload: Rename delete_message_image to use word "attachment". 2023-03-02 16:36:19 -08:00
test_audit_log.py models: Remove type prefixes from __str__ values. 2023-03-08 22:56:55 -08:00
test_auth_backends.py settings: Add backend code for using user email_address_visibility setting. 2023-02-10 17:35:49 -08:00
test_bots.py response: Implement ignored parameters with MutableJsonResponse class. 2023-03-06 10:33:13 -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 ruff: Fix RSE102 Unnecessary parentheses on raised exception. 2023-02-04 16:34:55 -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 settings: Add backend code for using user email_address_visibility setting. 2023-02-10 17:35:49 -08:00
test_data_types.py
test_decorators.py response: Implement ignored parameters with MutableJsonResponse class. 2023-03-06 10:33:13 -08:00
test_digest.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
test_docs.py portico: Add landing page about trying Zulip by visiting chat.zulip.org. 2023-03-14 13:21:09 -07:00
test_drafts.py test_draft: Avoid inference with type annotation. 2022-07-26 18:00:24 -07:00
test_email_change.py settings: Add backend code for using user email_address_visibility setting. 2023-02-10 17:35:49 -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 upload: Rename upload_message_file to use word "attachment". 2023-03-02 16:36:19 -08:00
test_email_notifications.py markdown: Fix use of pure_markdown for non-pure markdown rendering. 2023-03-17 08:46:25 -07: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 user_topics: Introduce visibility policy enum subclass in models.py. 2023-03-14 17:50:45 -07:00
test_event_system.py test_helpers: Rename reset_emails_in_zulip_realm. 2023-03-01 12:17:11 -08:00
test_events.py user_topics: Introduce visibility policy enum subclass in models.py. 2023-03-14 17:50:45 -07:00
test_example.py users: Always pass "delivery_email" field in user objects. 2023-02-10 17:35:49 -08:00
test_external.py zilencer: Switch a log message back from %r to %s. 2023-03-08 22:56:55 -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 sentry: Add frontend event monitoring. 2023-03-07 10:51:45 -08:00
test_hotspots.py actions: Split out zerver.actions.create_user. 2022-04-14 17:14:35 -07:00
test_i18n.py auth: Add @require_post to remote_user_jwt. 2023-02-03 15:23:35 -08:00
test_import_export.py user_topics: Introduce visibility policy enum subclass in models.py. 2023-03-14 17:50:45 -07:00
test_integrations.py
test_integrations_dev_panel.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
test_internet.py ruff: Fix B017 `assertRaises(Exception):` should be considered evil. 2022-11-03 12:10:15 -07:00
test_invite.py invites: Switch new LIMITED-plan heuristic to enforcing. 2023-03-16 11:41:49 -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 google_analytics: Track realm registration separately from user signup. 2023-03-08 11:34:36 -08:00
test_markdown.py models: Remove type prefixes from __str__ values. 2023-03-08 22:56:55 -08:00
test_mattermost_importer.py tests: Verify emoji codes. 2021-12-06 13:22:47 -08:00
test_message_dict.py models: Remove type prefixes from __str__ values. 2023-03-08 22:56:55 -08:00
test_message_edit.py UserTopic: Set visibility_policy or delete UserTopic row without error. 2023-03-16 10:55:54 -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_fetch.py settings: Add backend code for using user email_address_visibility setting. 2023-02-10 17:35:49 -08:00
test_message_flags.py user_topics: Introduce visibility policy enum subclass in models.py. 2023-03-14 17:50:45 -07:00
test_message_send.py models: Remove type prefixes from __str__ values. 2023-03-08 22:56:55 -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 help: Improve "Deactivate your account" help page. 2023-03-15 15:32:47 -07:00
test_migrations.py models: Add denormalized .realm column to Message. 2022-10-07 10:09:38 -07:00
test_mirror_users.py test_helpers: Rename reset_emails_in_zulip_realm. 2023-03-01 12:17:11 -08:00
test_muted_users.py mute user: Remove unnecessary check for double muting. 2023-02-20 21:04:13 -08:00
test_new_users.py create-user: Remove notifications sent to admin realm. 2023-03-13 12:28:26 -07:00
test_notification_data.py notifications: Fix missed message email notifications of welcome bot. 2023-01-24 11:16:21 -08:00
test_onboarding.py
test_openapi.py docs: Remove spaces before commas. 2023-02-22 17:17:25 -08: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 settings: Add backend code for using user email_address_visibility setting. 2023-02-10 17:35:49 -08:00
test_populate_db.py populate_db: Import timedelta from its canonical module. 2023-03-05 14:46:28 -08:00
test_presence.py models: Remove type prefixes from __str__ values. 2023-03-08 22:56:55 -08:00
test_push_notifications.py push-notifications: Update strings for private messages. 2023-02-24 11:47:26 -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 SIM105 Use `contextlib.suppress` instead of try-except-pass. 2023-01-23 11:18:36 -08:00
test_rate_limiter.py ruff: Fix RSE102 Unnecessary parentheses on raised exception. 2023-02-04 16:34:55 -08:00
test_reactions.py tests: Consistently JSON-encode ‘to’ parameter 2022-09-13 11:05:37 -07:00
test_read_receipts.py muted users: Make file naming consistent. 2023-02-10 15:39:57 -08:00
test_realm.py user_settings: Automate 'Include realm name in message email subject'. 2023-03-14 17:48:57 -07: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 models: Remove type prefixes from __str__ values. 2023-03-08 22:56:55 -08:00
test_realm_export.py realm_export: Add transaction.atomic to export_realm. 2023-01-26 10:49:19 -08: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 report: Use ZULIP_VERSION rather than shelling out to git every time. 2023-03-07 10:51:45 -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 data_import: Stop tar'ing up converted data. 2023-02-26 17:42:01 -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 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 ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
test_sessions.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
test_settings.py user_settings: Automate 'Include realm name in message email subject'. 2023-03-14 17:48:57 -07:00
test_signup.py tests: Split out test_invite from test_signup. 2023-03-16 11:41:49 -07:00
test_slack_importer.py data_import: Stop tar'ing up converted data. 2023-02-26 17:42:01 -08: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 subdomains: Extend tests for for same-host when STATIC_URL has domain. 2023-02-14 17:17:06 -05:00
test_submessage.py actions: Split out zerver.actions.submessage. 2022-04-14 17:14:30 -07:00
test_subs.py models: Remove type prefixes from __str__ values. 2023-03-08 22:56:55 -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 upload: Rename upload_message_file to use word "attachment". 2023-03-02 16:36:19 -08:00
test_tutorial.py private-messages: Update translated backend strings use "direct message". 2023-02-24 11:47:26 -08:00
test_typing.py private-messages: Update translated backend strings use "direct message". 2023-02-24 11:47:26 -08:00
test_upload.py models: Remove type prefixes from __str__ values. 2023-03-08 22:56:55 -08:00
test_upload_local.py delete_old_unclaimed_attachments: Add flag to clean up storage. 2023-03-02 16:36:19 -08:00
test_upload_s3.py delete_old_unclaimed_attachments: Add flag to clean up storage. 2023-03-02 16:36:19 -08:00
test_urls.py documentation: Move check for `api-doc-template.md`. 2023-02-02 17:23:31 -08:00
test_user_groups.py user groups: Make name and description optional in group update. 2023-02-26 16:22:24 -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_user_topics.py UserTopic: Set visibility_policy or delete UserTopic row without error. 2023-03-16 10:55:54 -07:00
test_users.py user_topics: Introduce visibility policy enum subclass in models.py. 2023-03-14 17:50:45 -07:00
test_webhooks_common.py black: Reformat with Black 23. 2023-02-02 10:40:13 -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