zulip/zerver/tests
Tim Abbott da8f4bc0e9 push notifications: Add support for removing GCM push notifications.
This uses the recently introduced active_mobile_push_notification
flag; messages that have had a mobile push notification sent will have
a removal push notification sent as soon as they are marked as read.

Note that this feature is behind a setting,
SEND_REMOVE_PUSH_NOTIFICATIONS, since the notification format is not
supported by the mobile apps yet, and we want to give a grace period
before we start sending notifications that appear as (null) to
clients.  But the tracking logic to maintain the set of message IDs
with an active push notification runs unconditionally.

This is designed with at-least-once semantics; so mobile clients need
to handle the possibility that they receive duplicat requests to
remove a push notification.

We reuse the existing missedmessage_mobile_notifications queue
processor for the work, to avoid materially impacting the latency of
marking messages as read.

Fixes #7459, though we'll need to open a follow-up issue for
using these data on iOS.
2018-08-10 13:58:39 -07:00
..
fixtures auth: Add function for generating test ldap_dir to backends.py. 2018-08-09 13:46:44 -07:00
images upload: Add test jpg image with no exif data. 2018-05-31 08:08:59 -07:00
__init__.py
test_alert_words.py alert words: Return the updated list when adding/removing words. 2018-07-13 01:01:00 +05:30
test_archive.py archives: Change the topic/<topic_name> code path to use topics prefix. 2018-07-14 10:39:35 +05:30
test_attachments.py lint: Prevent `self: Any` annotations. 2017-12-08 19:00:18 -08:00
test_audit_log.py bulk_remove_subscriptions: Pass client object in. 2018-08-01 16:48:31 -07:00
test_auth_backends.py auth: Add function for generating test ldap_dir to backends.py. 2018-08-09 13:46:44 -07:00
test_bots.py bots: Enforce bot creation policy on reactivating bots. 2018-07-27 10:31:38 -07:00
test_bugdown.py thumbnails: Rename size value 'original' to 'full'. 2018-07-30 13:00:23 -07:00
test_cache.py tests: Add 100% test coverage to zerver/apps.py. 2018-05-14 10:36:10 -07:00
test_compatibility.py zerver/tests: Use python 3 syntax for typing in most files. 2017-11-16 21:52:01 -08:00
test_custom_profile_data.py custom fields: Allow list of users in user type of custom fields. 2018-06-16 09:37:49 -07:00
test_decorators.py decorator: Fix error message for accessing deactivated accounts. 2018-08-09 15:58:31 -07:00
test_digest.py models: Rename Realm.show_digest_email field. 2018-08-01 11:05:58 -07:00
test_docs.py api docs: Merge docs for sending stream and private messages. 2018-07-26 10:24:01 -07:00
test_email_change.py registration: Use tokenized noreply address in email change. 2018-06-23 12:03:30 -07:00
test_email_log.py zerver/tests: Use python 3 syntax for typing. 2017-11-18 15:35:57 -08:00
test_email_mirror.py zerver/tests: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
test_embedded_bot_system.py mypy: test_embedded_bot_system.py: add asserts & remove from mypy.ini. 2018-06-19 10:48:38 -07:00
test_event_queue.py tests: Move clear_client_event_queues_for_testing to ZulipTestCase. 2018-08-10 13:58:39 -07:00
test_events.py tests: Move clear_client_event_queues_for_testing to ZulipTestCase. 2018-08-10 13:58:39 -07:00
test_external.py zerver/tests: Change use of typing.Text to str. 2018-05-12 15:22:39 -07:00
test_feedback.py Add basic test for FeedbackBot. 2018-03-04 13:31:33 -08:00
test_gitter_importer.py import: Fix rendered_content in imported messages. 2018-08-09 15:12:53 -07:00
test_home.py page_params: Include avatars and similar data in cross-realm bots. 2018-08-01 15:09:11 -07:00
test_hotspots.py hotspots: Add ALWAYS_SEND_ALL_HOTSPOTS in dev_settings. 2018-03-19 10:39:43 -07:00
test_i18n.py test_i18n: Stop using six.moves for SimpleCookie. 2018-05-09 20:45:45 -07:00
test_import_export.py import: Import BotStorageData and BotConfigData. 2018-07-23 08:21:00 -07:00
test_json_encoder_for_html.py zerver: Remove simplejson dependency. 2017-11-21 21:51:48 -08:00
test_link_embed.py mypy: test_link_embed.py: add assert & remove from mypy.ini. 2018-06-19 10:48:38 -07:00
test_logging_handlers.py mypy: Set local_partial_types = True. 2018-05-21 22:41:00 -07:00
test_management_commands.py management: Add library for getting a client object. 2018-08-01 16:40:15 -07:00
test_message_edit_notifications.py zerver/lib/notifications: Add stream email notifications. 2018-07-14 12:19:33 +05:30
test_messages.py actions.py: Set is_private flag in do_send_messages. 2018-08-09 16:08:04 -07:00
test_middleware.py errors: Use a setting to control the stream for slow-query logs. 2018-07-30 17:40:20 -07:00
test_migrations.py migration_tests: Document the migration test framework. 2018-05-21 09:59:55 -07:00
test_muting.py tests: Replace api_auth usages with auth methods in zerver/tests. 2017-12-18 09:24:09 -05:00
test_narrow.py narrow: Use is_private flag index for `is:private`. 2018-08-09 16:10:01 -07:00
test_new_users.py emails: Show HHMM timezone on new login emails. 2018-08-03 17:15:03 -07:00
test_notifications.py thumbnails: Rename data-original to data-src-fullsize. 2018-07-30 13:00:23 -07:00
test_onboarding.py create_realm_internal_bots: Refactor to extract main op as a function. 2018-05-23 11:53:22 +05:30
test_openapi.py api docs: Load the OpenAPI file only when needed. 2018-08-08 09:00:28 -07:00
test_outgoing_webhook_interfaces.py outgoing webhooks: Warn user that PMs are not supported in Slack-format webhook. 2018-08-09 17:44:26 -07:00
test_outgoing_webhook_system.py zerver/tests: Change use of typing.Text to str. 2018-05-12 15:22:39 -07:00
test_presence.py tornado: Split get_events_backend into two functions. 2018-07-30 12:28:31 -07:00
test_push_notifications.py push notifications: Add support for removing GCM push notifications. 2018-08-10 13:58:39 -07:00
test_queue.py requirements: Upgrade pyflakes to 2.0.0. 2018-05-24 11:31:36 -07:00
test_queue_worker.py notifications: Format missed_messages argument as a dict. 2018-07-14 11:34:04 +05:30
test_reactions.py reactions: Allow using emoji_name for removing reactions. 2018-07-11 19:41:43 +05:30
test_realm.py zerver/tests: Change use of typing.Text to str. 2018-05-12 15:22:39 -07:00
test_realm_domains.py models: Rename Realm.restricted_to_domain field. 2018-07-31 09:28:33 -07:00
test_realm_emoji.py emoji: Make uploading new realm emoji inaccessible for guest users. 2018-06-16 06:33:14 -07:00
test_realm_filters.py Realm filters: Allow `#`(hash) based URLs in filter patterns. 2018-08-08 11:06:33 -07:00
test_report.py tests: Refactor use of test and webhook data fixtures. 2018-04-19 21:50:29 -07:00
test_retention.py tests: Make retention tests less time-sensitive. 2018-08-09 06:13:40 -04:00
test_service_bot_system.py bots: Fix behavior for bots mentioned in PMs. 2018-06-03 22:29:15 -07:00
test_sessions.py zerver/tests: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
test_settings.py users: Get all API keys via wrapper method. 2018-08-08 16:35:17 -07:00
test_signup.py push notifications: Add support for removing GCM push notifications. 2018-08-10 13:58:39 -07:00
test_slack_importer.py import: Move 'build_attachment' to import_util. 2018-08-07 16:45:42 -07:00
test_slack_message_conversion.py import: Add slack import files in zerver/data_import directory. 2018-08-01 11:52:14 -07:00
test_soft_deactivation.py populate_db: Add new user of "guest" type. 2018-04-20 16:20:00 -07:00
test_subdomains.py zerver/tests: Use python 3 syntax for typing (part 4). 2017-11-21 22:01:19 -08:00
test_submessage.py submessages: Add submessage_id to submessage event. 2018-05-30 14:47:36 -07:00
test_subs.py default stream: Allows admins to remove any default stream. 2018-08-07 13:28:30 -07:00
test_templates.py billing: Update the charged amount when user changes plan in upgrade page. 2018-08-10 13:52:35 -07:00
test_thumbnail.py users: Get all API keys via wrapper method. 2018-08-08 16:35:17 -07:00
test_timestamp.py zerver/tests: Use python 3 syntax for typing. 2017-11-08 12:50:27 -08:00
test_tornado.py tests: Move clear_client_event_queues_for_testing to ZulipTestCase. 2018-08-10 13:58:39 -07:00
test_tutorial.py zerver/tests: Use python 3 syntax for typing. 2017-11-08 12:50:27 -08:00
test_type_debug.py mypy: Remove some now-unnecessary type: ignores. 2018-03-28 10:39:05 -07:00
test_typing.py tests: Replace api_auth usages with auth methods in zerver/tests. 2017-12-18 09:24:09 -05:00
test_unread.py push notifications: Add support for removing GCM push notifications. 2018-08-10 13:58:39 -07:00
test_upload.py users: Get all API keys via wrapper method. 2018-08-08 16:35:17 -07:00
test_urls.py django-2.0: Shift to resolvers from urlresolvers. 2018-01-30 10:53:54 -08:00
test_user_groups.py user_groups: Handle renaming to existing names. 2018-08-08 11:03:47 -07:00
test_users.py models: Rename Realm.restricted_to_domain field. 2018-07-31 09:28:33 -07:00
test_webhooks_common.py test_webhooks_common: Add logging for a test flake case. 2018-05-17 09:18:31 -07:00
test_widgets.py Support zform-based widget content in the server. 2018-05-24 09:30:22 -07:00
test_zcommand.py zcommand: Raise error when command doesn't begin with a slash. 2018-07-01 20:32:36 -04:00
test_zephyr.py users: Get all API keys via wrapper method. 2018-08-08 16:35:17 -07:00
tests.py