zulip/zerver/tests
Tim Abbott 800312c976 has_request_variables: Fix slow extraction of parameters.
A sloppy implementation of the main has_request_variables wrapper
function meant that it did two very inefficient things:

* To combine together the GET and POST parameters, it would make a
  copy of the request.GET QueryDict object, which combined with the
  fact that these objects are slow to access, consumed about 90us per
  argument.
* Doing this in a loop (one time per argument), rather than once,
  which resulted in us doing this 11 times for a `GET /events` query.

Fixing this to just make a dictionary and combine things with some
small loops saved about 1 millisecond from the total runtime of GET
/events (for comparison, the total actual work of that view function
is about 700ms).

We need to fix at least one test that used a bad mock HttpRequest
object that didn't have a .GET property.
2020-02-14 09:45:26 -08:00
..
fixtures markdown: Fix HTML escaping of &. 2020-02-13 17:50:59 -08:00
images emoji: Only resize custom emoji that need it. 2019-01-29 10:33:50 -08:00
__init__.py
test_alert_words.py zerver/tests: Remove unused imports. 2019-02-02 17:43:03 -08:00
test_archive.py
test_attachments.py tests: setUp overrides should call super().setUp(). 2019-10-19 17:27:01 -07:00
test_audit_log.py billing: Sync realm activation events for on-prem billing. 2019-10-08 17:18:30 -07:00
test_auth_backends.py registration: Add support for mobile and desktop flows. 2020-02-12 11:22:16 -08:00
test_bots.py users: Refactor get_members_backend endpoint to use get_raw_user_data. 2019-10-23 14:50:26 -07:00
test_bugdown.py bugdown: Rewrite List Preprocessor logic to properly parse fences. 2020-01-27 17:14:27 -08:00
test_cache.py cache: Validate keys before passing them to memcached. 2020-01-03 16:56:42 -08:00
test_camo.py camo: Add endpoint to handle camo requests. 2019-01-04 10:27:04 -08:00
test_compatibility.py cleanup: Delete leading newlines. 2019-08-06 23:29:11 -07:00
test_create_video_call.py tests: Set class name of video call test to TestVideoCall. 2020-01-25 22:54:59 -08:00
test_custom_profile_data.py tests: Count queries for /json/users. 2020-02-09 22:04:02 -08:00
test_decorators.py has_request_variables: Fix slow extraction of parameters. 2020-02-14 09:45:26 -08:00
test_digest.py models: Migration of Message.pub_date to date_sent, part 2. 2019-10-05 19:01:34 -07:00
test_docs.py auth: Add support for GitLab authentication. 2020-02-11 13:54:17 -08:00
test_email_change.py urls: Tighten many unintentionally broad URL patterns. 2019-08-26 20:51:49 -07:00
test_email_log.py
test_email_mirror.py email_mirror: Handle encoded attachment filenames. 2020-01-30 13:03:47 -08:00
test_email_notifications.py emails: Use the word email instead of message in do not reply sentence. 2020-01-31 12:29:58 -08:00
test_embedded_bot_system.py tests: setUp overrides should call super().setUp(). 2019-10-19 17:27:01 -07:00
test_event_queue.py notifications: Enable online push notifications by default. 2019-12-12 13:04:10 -08:00
test_events.py settings: Migrate to stream_post_policy structure. 2020-02-04 17:08:08 -08:00
test_external.py tests: setUp overrides should call super().setUp(). 2019-10-19 17:27:01 -07:00
test_gitter_importer.py tests: Move get_set to ZulipTestCase. 2019-05-21 14:10:29 -07:00
test_hipchat_importer.py
test_home.py home: Refactor logic for show_invites and show_add_streams. 2020-02-05 16:05:02 -08:00
test_hotspots.py tests: setUp overrides should call super().setUp(). 2019-10-19 17:27:01 -07:00
test_i18n.py tests: tearDown overrides should call super().tearDown(). 2019-10-18 13:36:59 -07:00
test_import_export.py import: Support importing realm icon and logo. 2020-02-03 14:09:05 -08:00
test_integrations_dev_panel.py request: Tighten type checking on REQ. 2019-11-13 12:35:55 -08:00
test_internet.py tests: Replace httpretty with responses. 2020-01-22 11:56:15 -08:00
test_legacy_subject.py
test_link_embed.py url_preview: Fix parsing of open graph tags. 2019-12-12 15:24:38 -08:00
test_logging_handlers.py tests: setUp overrides should call super().setUp(). 2019-10-19 17:27:01 -07:00
test_management_commands.py tests: setUp overrides should call super().setUp(). 2019-10-19 17:27:01 -07:00
test_mattermost_importer.py emoji_codes: Replace JS module with JSON module. 2020-02-12 10:09:12 -08:00
test_message_edit_notifications.py presence: Add realm_id to UserPresence. 2020-02-10 17:21:45 -08:00
test_messages.py dependencies: Upgrade to Django 2.2.10. 2020-02-13 16:27:26 -08:00
test_middleware.py slow queries: Use internal_send_stream_message(). 2020-02-11 12:20:54 -08:00
test_migrations.py test_migrations: Disable migrations test. 2019-05-12 22:06:17 -07:00
test_muting.py muting: Record DateTime when a Topic is muted. 2020-02-02 20:49:53 -08:00
test_narrow.py messages: Simplify API for use_first_unread_anchor. 2020-01-29 12:17:03 -08:00
test_new_users.py cross realm bots: Simplify notify_new_user. 2020-02-10 15:45:13 -08:00
test_onboarding.py
test_openapi.py dependencies: Upgrade to Django 2.2.10. 2020-02-13 16:27:26 -08:00
test_outgoing_webhook_interfaces.py tests: Improve outgoing webhook testing strategy. 2019-11-05 11:49:00 -08:00
test_outgoing_webhook_system.py tests: setUp overrides should call super().setUp(). 2019-10-19 17:27:01 -07:00
test_populate_db.py models: Migration of Message.pub_date to date_sent, part 2. 2019-10-05 19:01:34 -07:00
test_presence.py presence: Move get_status_dict_by_realm. 2020-02-06 17:16:22 -08:00
test_push_notifications.py test_classes: Clean up API_KEYS cache. 2020-01-16 13:07:26 -08:00
test_queue.py Upgrade pika to 1.1.*. 2019-10-29 17:01:12 -07:00
test_queue_worker.py slow queries: Use internal_send_stream_message(). 2020-02-11 12:20:54 -08:00
test_reactions.py api: Remove legacy emoji reactions endpoint. 2019-11-12 13:07:06 -08:00
test_realm.py install: Don't create internal realm in the installation process. 2020-02-12 12:00:10 -08:00
test_realm_domains.py zerver/tests: Remove unused imports. 2019-02-02 17:43:03 -08:00
test_realm_emoji.py get_realm: raise DoesNotExist instead of returning None. 2019-05-06 21:58:16 -07:00
test_realm_export.py billing: Change RealmAuditLog.event_type from str to int. 2019-10-06 15:55:56 -07:00
test_realm_filters.py linkifiers: Allow semicolons in target URLs. 2019-05-14 11:17:55 -07:00
test_redis_utils.py redis_utils: Require key_format argument in get_dict_from_redis. 2020-01-26 21:40:15 -08:00
test_report.py zerver/tests: Remove unused imports. 2019-02-02 17:43:03 -08:00
test_retention.py bugdown: Fix logic for extracting attachment path_id. 2019-12-12 20:30:26 -08:00
test_service_bot_system.py mypy: Upgrade from 0.720 to 0.730. 2019-11-13 12:38:45 -08:00
test_sessions.py sessions: Implement the concept of expirable session variables. 2020-02-12 11:09:55 -08:00
test_settings.py rate_limiter: Rename authenticate domain to authenticate_by_username. 2020-02-02 19:15:13 -08:00
test_signup.py registration: Add support for mobile and desktop flows. 2020-02-12 11:22:16 -08:00
test_slack_importer.py import: Support importing team icon from slack. 2020-02-03 14:09:05 -08:00
test_slack_message_conversion.py test_slack_message_conversion: Use subTest for fixtures test. 2019-09-13 11:54:14 -07:00
test_soft_deactivation.py soft-deactivation: Run catch-up when "auto" deactivate is run. 2019-03-14 11:53:15 -07:00
test_subdomains.py cleanup: Delete leading newlines. 2019-08-06 23:29:11 -07:00
test_submessage.py
test_subs.py settings: Migrate to stream_post_policy structure. 2020-02-04 17:08:08 -08:00
test_templates.py test_templates: Remove shallow template rendering code. 2020-02-11 18:00:15 -08:00
test_thumbnail.py CVE-2019-19775: Close open redirect in thumbnail view. 2019-12-12 17:29:20 -08:00
test_timestamp.py cleanup: Delete leading newlines. 2019-08-06 23:29:11 -07:00
test_tornado.py dependencies: Remove WebSockets system for sending messages. 2020-01-14 22:34:00 -08:00
test_transfer.py management: Add tooling for transfering local uploads to s3. 2019-02-14 14:31:46 -08:00
test_tutorial.py tests: setUp overrides should call super().setUp(). 2019-10-19 17:27:01 -07:00
test_type_debug.py cleanup: Delete leading newlines. 2019-08-06 23:29:11 -07:00
test_typing.py test_typing: Prepare for moving system bots to zulipinternal. 2019-07-20 14:55:21 -07:00
test_unread.py messages: Simplify API for use_first_unread_anchor. 2020-01-29 12:17:03 -08:00
test_upload.py requirements: Upgrade django-sendfile2 from 0.4.3 to 0.5.1. 2020-02-05 12:38:10 -08:00
test_urls.py dependencies: Upgrade to Django 2.2.10. 2020-02-13 16:27:26 -08:00
test_user_groups.py settings: Add setting for who can edit user groups. 2019-11-03 16:45:13 -08:00
test_user_status.py user status: Add "status_text" support in the backend. 2019-01-24 09:46:35 -08:00
test_users.py api: Add an api endpoint for GET /users/{id} 2020-02-07 10:36:31 -08:00
test_webhooks_common.py webhooks: Eliminate the usage of a headers.py file. 2019-06-26 10:35:14 -07:00
test_widgets.py widgets: Remove ALLOW_SUB_MESSAGES flag and enable widgets by default. 2019-01-29 09:34:14 -08:00
test_zcommand.py
test_zephyr.py cleanup: Delete leading newlines. 2019-08-06 23:29:11 -07:00