Eklavya Sharma
674f6999e1
Improve annotations of decorators.
2016-07-22 11:14:33 -07:00
Eklavya Sharma
4b7d94564a
zerver/views/streams.py: Annotate variables to help mypy.
2016-07-22 11:14:33 -07:00
Eklavya Sharma
07e36d87a2
Remove return where no return value is expected.
...
zerver.lib.notifications.send_future_email has return type None.
So replace `return send_future_email(...` by `send_future_email(...`.
2016-07-22 11:14:33 -07:00
Krit Karan
a61ef3bc0e
Reformat the content variable in ``do_refer_friend()``.
...
Fixes #1162 .
2016-07-22 10:36:35 -07:00
Eklavya Sharma
c59740385d
zerver/lib/str_utils.py: Replace ValueError by TypeError.
...
When a parameter of a wrong type is passed to a `force_*` method
in str_utils.py, raise a TypeError.
2016-07-21 23:14:00 +05:30
Umair Khan
dce48d58b6
Cache translations.
...
Fixes : #1158
2016-07-21 10:23:31 -07:00
hackerkid
b6620cfa57
Replace UserProfile with HttpRequest in logged_in_and_active.
2016-07-20 20:08:00 -07:00
Tim Abbott
c791037166
narrow: Document BuildNarrowFilterTest.
2016-07-20 14:18:40 -07:00
acrefoot
0dfb76fc5e
Change HTTP verb for create_user_backend to PUT ( #1326 )
2016-07-20 12:57:47 -07:00
Steve Howell
2484d870b4
Add test_build_narrow_filter().
2016-07-20 11:04:00 -07:00
Tim Abbott
19b860ceec
Rename local_settings.py symlink to prod_settings.py.
2016-07-19 20:59:59 -07:00
Tim Abbott
e876f12b83
settings: Extract settings.WELCOME_EMAIL_SENDER.
2016-07-19 15:28:41 -07:00
Tim Abbott
7725c62892
Use VERBOSE_SUPPORT_OFFERS in day1 emails.
2016-07-19 15:28:41 -07:00
Tim Abbott
3ea4cbb5c3
settings: Extract settings.VERBOSE_SUPPORT_OFFERS.
2016-07-19 15:28:41 -07:00
Tim Abbott
ff1faffecd
settings: Extract EMAIL_GATEWAY_EXTRA_PATTERN_HACK.
2016-07-19 15:28:41 -07:00
Tim Abbott
82f78621dd
settings: Extract CUSTOM_LOGO_URL.
2016-07-19 15:28:41 -07:00
Tim Abbott
de679a23c9
settings: Extract settings.REGISTER_LINK_DISABLED.
2016-07-19 15:28:41 -07:00
Tim Abbott
c25b077224
settings: Extract settings.SHOW_OSS_ANNOUNCEMENT.
2016-07-19 15:28:41 -07:00
Tim Abbott
fb386da552
settings: Extract settings.SAVE_FRONTEND_STACKTRACES.
2016-07-19 15:28:41 -07:00
Tim Abbott
522ccf8eb2
settings: Extract settings.STAGING_ERROR_NOTIFICATIONS.
2016-07-19 15:28:41 -07:00
Tim Abbott
1f4c9eefe4
settings: Extract settings.ZILENCER_ENABLED.
2016-07-19 15:28:41 -07:00
Tim Abbott
0aaa55fb8f
settings: Extract settings.SHARE_THE_LOVE.
2016-07-19 15:28:41 -07:00
Tim Abbott
afaac85dc6
Move get_sqlalchemy_connection to its own file.
2016-07-19 15:28:41 -07:00
Steve Howell
83679a7775
Test search queries and highlight_string().
...
This increases test coverage by exercising highlight_string().
It also gives deeper test coverage to NarrowBuilder.by_search(),
which had test coverage before, but only in terms of inspecting
the SQL that was generated. This test actually runs the SQL
under the hood.
This partly fixes #1006 .
2016-07-18 16:39:19 -07:00
Tim Abbott
50c3e42f0e
Fix test failure due to recent merge interaction.
...
599b15cb84
broke master because it had
previously only been tested before HomeTest was created.
2016-07-18 16:37:25 -07:00
Kartik Maji
599b15cb84
Allow fetching subscribers for streams the user has never subscribed to.
...
This allows the frontend to fetch data on the subscribers list (etc.)
for streams where the user has never been subscribed, making it
possible to implement UI showing details like subscribe counts on the
subscriptions page.
This is likely a performance regression for very large teams with
large numbers of streams; we'll want to do some testing to determine
the impact (and thus whether we should make this feature only fully
enabled for larger realms).
2016-07-18 16:24:19 -07:00
Taranjeet Singh
5462341cb4
zerver/views/webhooks/github.py: Fix lines with length greater than 120.
2016-07-18 15:10:41 -07:00
Taranjeet Singh
3031214718
zerver/views/messages.py: Fix line with length greater than 120.
2016-07-18 15:05:52 -07:00
Tim Abbott
3c591aa724
compilemessages: Don't try to include zh-CN and zh_CN in language options.
2016-07-18 15:02:43 -07:00
Tim Abbott
55a98a41d8
compilemessages: Improve error handling for unknown locale.
2016-07-18 15:02:43 -07:00
Taranjeet Singh
84660a5087
zerver/views/__init__.py: Fix lines with length greater than 120.
2016-07-18 14:51:06 -07:00
Taranjeet Singh
37ea785b8f
zerver/forms.py: Fix line with length greater than 120.
2016-07-18 14:42:39 -07:00
Taranjeet Singh
9f3f82d06d
zerver/lib/socket.py: Fix line with length greater than 120.
2016-07-18 14:42:39 -07:00
Taranjeet Singh
5499136bfd
zerver/views/webhooks/teamcity.py: Fix line with length greater than 120.
2016-07-18 14:42:39 -07:00
Taranjeet Singh
7199ee8f08
zerver/views/webhooks/taiga.py: Fix line with length greater than 120.
2016-07-18 14:42:39 -07:00
Taranjeet Singh
3e17011f9c
zerver/views/webhooks/pivotal.py: Fix line with length greater than 120.
2016-07-18 14:42:39 -07:00
Taranjeet Singh
c437659cd9
zerver/views/webhooks/pingdom.py: Fix line with length greater than 120.
...
zerver/views/webhooks/pingdom.py: Fix indetation for function args.
2016-07-18 14:42:39 -07:00
Taranjeet Singh
7ddb254d2e
zerver/views/webhooks/circleci.py: Fix line with length greater than 120.
...
zerver/views/webhooks/circleci.py: Fix indentation for function args.
2016-07-18 14:42:39 -07:00
Taranjeet Singh
1323685140
zerver/views/webhooks/beanstalk.py: Fix line with length greater than 120.
...
zerver/views/webhooks/beanstalk.py: Capture string in a temp variable.
2016-07-18 14:42:39 -07:00
Taranjeet Singh
569d14a826
zerver/views/webhooks/airbrake.py: Fix line with length greater than 120.
...
zerver/views/webhooks/airbrake.py: Fix Indentation.
zerver/views/webhooks/airbrake.py: Fix Indentation for args in function.
2016-07-18 14:42:39 -07:00
Taranjeet Singh
10afbc06f9
zerver/views/report.py: Fix line with length greater than 120.
...
zerver/views/report.py: Capture string in temporary variables.
2016-07-18 14:42:39 -07:00
Taranjeet Singh
24ba060421
Fix line with length greater than 120 in deliver_email.py.
2016-07-18 14:34:34 -07:00
Tim Abbott
014a13df7c
cache: Fix echoing of mkdir command to console.
2016-07-18 14:25:13 -07:00
Taranjeet Singh
ba3f9de9a9
zerver/lib/cache.py: Move remote_cache_prefix to var directory.
...
This commit ensures the var directory exists before its needed in both
development and production environments.
2016-07-18 14:13:02 -07:00
Steve Howell
8ac1398b0f
Use topic_name() in to_log_dict().
2016-07-18 14:10:11 -07:00
Steve Howell
e341fe0102
Use topic_name() in do_edit_message_assert_error().
2016-07-18 14:10:11 -07:00
Steve Howell
2bfa763c0b
Use topic_name() in update_message_backend().
2016-07-18 14:10:11 -07:00
Umair Khan
b546391f0b
Move locale to static/locale
2016-07-18 13:59:07 -07:00
Umair Khan
cdf2664030
`makemessages` command should not remove plurals.
2016-07-18 13:59:07 -07:00
Steve Howell
1a9a630526
Add zerver.tests.tests.HomeTest.test_home.
2016-07-18 12:22:14 -07:00
Steve Howell
5fcbd0a178
Remove muting logic in approximate_unread_count().
...
The muting logic in approximate_unread_count() was confusing
stream/subject and only using the first of many stream/subject
pairs, so it was rarely excluding rows from the count, and when
it did exclude rows, they were the wrong rows.
This fixes part of #1300 , but we may want to keep the issue open.
2016-07-18 11:21:51 -07:00
Eklavya Sharma
e10caf0b65
Gracefully give up when using email-mirror on python 3.
...
Running `./manage.py email-mirror` used to fail on python 3
because twisted.mail.imap4 is not python 3 compatible.
Display a message informing the user that email-mirror is not
available on python 3 instead of failing with a traceback.
Also add tools/test-management to py3-backend.
2016-07-18 09:57:28 -07:00
Steve Howell
6afa22f473
Add LogDictTest.test_to_log_dict().
2016-07-17 11:25:02 -07:00
Eklavya Sharma
da36947400
Change unbuffering strategy in runtornado.py.
...
runtornado unbuffers its output using
sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0).
This is not python 3 compatible since we can't specify
buffering on a text stream in python 3. So use the '-u'
option of python when calling runtornado.py to make output
unbuffered.
2016-07-17 10:31:15 -07:00
Eklavya Sharma
3ee15feeb8
Make twitter tests more readable.
2016-07-17 10:23:25 -07:00
Eklavya Sharma
c389d22b5f
Fix twitter mock data.
2016-07-17 10:23:25 -07:00
Eklavya Sharma
fb1d00fc6c
Upgrade python-twitter to latest version.
...
Fixes #1145 .
2016-07-17 10:23:25 -07:00
Eklavya Sharma
4130170da8
bugdown: Fix string handling.
...
Use unicode strings where needed and correctly encode/decode strings.
2016-07-17 10:23:25 -07:00
Eklavya Sharma
abe7faa2f9
bugdown: Annotate some variables.
2016-07-17 10:23:25 -07:00
Steve Howell
60bd20da61
Remove zerver/lib/query.py (dead code).
2016-07-16 14:51:15 -07:00
Rishi Gupta
09754c9861
Remove JsonableErrors from actions.do_update_message.
...
There were a bunch of authorization and well-formedness checks in
zerver.lib.actions.do_update_message that I moved to
zerver.views.messages.update_message_backend.
Reason: by convention, functions in actions.py complete their actions;
error checking should be done outside the file when possible.
Fixes : #1150 .
2016-07-15 13:55:49 -07:00
Rishi Gupta
d529a94e4d
Add realm setting to time-limit editing of message content.
...
This is controlled through the admin tab and a new field in the Realms table.
Notes:
* The admin tab setting takes a value in minutes, whereas the backend stores it
in seconds.
* This setting is unused when allow_message_editing is false.
* There is some generosity in how the limit is enforced. For instance, if the
user sees the hovering edit button, we ensure they have at least 5 seconds to
click it, and if the user gets to the message edit form, we ensure they have
at least 10 seconds to make the edit, by relaxing the limit.
* This commit also includes a countdown timer in the message edit form.
Resolves #903 .
2016-07-15 13:55:49 -07:00
Eklavya Sharma
29673411df
Make backend tests (hackishly) pass on python3.4.
...
Replace bot_owner=bot_owner by bot_owner_id=bot_owner.id while
creating a UserProfile object.
2016-07-15 11:13:33 -07:00
Eklavya Sharma
8c0d7311ac
zerver/decorator.py: Use BytesIO to read request.
...
Use BytesIO instead of StringIO to get a file-like object on the
request's body.
2016-07-15 11:13:33 -07:00
Umair Khan
8dabc97d9e
Add tests for frontend i18n regexes.
2016-07-15 14:48:09 +05:00
Umair Khan
a07a810a2e
Fix regex for capturing frontned strings.
...
Fixes : #1155
2016-07-15 14:48:05 +05:00
Steve Howell
9d7716f368
Add message.topic_name() helper function.
...
This little helper will facilitate adding a new Topic
table in the future.
2016-07-14 09:54:56 -07:00
Steve Howell
a5b9e3b893
Add test_patch_bot_avatar().
...
Fixes : #1002
2016-07-13 22:53:46 -07:00
Steve Howell
21fb7693d2
Add test_helpers.client_patch_multipart().
2016-07-13 22:53:40 -07:00
Steve Howell
538962f3ca
Add test_add_bot_with_username_in_use().
2016-07-13 22:53:40 -07:00
Steve Howell
468faf5724
Add test_add_bot_with_bad_username().
2016-07-13 22:53:40 -07:00
Steve Howell
de4cc80aa0
Add test_add_bot_with_too_many_files().
2016-07-13 22:53:40 -07:00
Steve Howell
e9ddf28b2c
Add test_add_bot_with_user_avatar().
2016-07-13 22:53:40 -07:00
Tomasz Kolek
f689fbfa4d
Replace old Trello integration with a webhook integration.
...
Fixes : #709 .
[With tweaks on the documentation by tabbott]
2016-07-13 21:00:27 -07:00
Steve Howell
701bb7a59f
Remove test_helpers.DummySession
2016-07-13 19:08:28 -07:00
Steve Howell
616e49e2e8
Remove test_helpers.DummyTornadoRequest
2016-07-13 19:08:28 -07:00
Steve Howell
0060ea7903
Remove test_helpers.DummyStream
2016-07-13 19:08:28 -07:00
Steve Howell
191ac80475
Remove callback logic from test_helpers.DummyHandler.
2016-07-13 19:08:28 -07:00
Eklavya Sharma
d7ea2b8a67
zerver/tests/test_upload.py: Use byte strings.
...
Some string literals are incorrectly marked as `str` strings.
Change them to byte strings.
2016-07-13 16:00:46 -07:00
Eklavya Sharma
a7d2dab28f
Fix non-deterministic output from Taiga integration.
...
Taiga's webhook integration would give output events in a random
order which caused test failures on python 3 (seems like python
3 is more prone to non-deterministic failures). Fix that by
sorting the outputs obtained from events before concatenating them.
2016-07-13 16:00:46 -07:00
Eklavya Sharma
5382aeb385
Render PagerDuty message using ujson.dumps.
...
Use ujson.dumps to render raw messages sent by the PagerDuty
integration instead of using pprint.pformat. pprint.pformat
gives different results on python 2 and 3.
2016-07-13 16:00:46 -07:00
Eklavya Sharma
4f633bcd0b
zerver/lib/notifications.py: Fix string encoding/decoding.
...
Correctly encode and decode strings in convert_html_to_markdown.
It wasn't possible to use universal_newlines=True since
Popen.communicate doesn't encode/decode strings correctly on
python 2.
2016-07-13 16:00:46 -07:00
Eklavya Sharma
e6502710b6
Change exception.message to str(exception).
...
The 'message' attribute in Exception has been deprecated.
It has been removed in python 3.
2016-07-13 16:00:46 -07:00
Eklavya Sharma
993558c680
Get mogrified SQL queries as text.
...
zerver.lib.test_helpers.queries_captured returns a byte string,
while we want the queries to be text. So decode the captured
queries.
2016-07-13 16:00:46 -07:00
Tim Abbott
c0a6672471
Update path to language_options.json in production.
...
The previous code didn't correctly transport language_options.json to
the production environment.
2016-07-13 12:30:45 -07:00
Umair Khan
395e053ce3
Revert "Revert "Extract reply from email.""
...
This reverts commit f1ba3ded42
.
2016-07-13 11:24:18 -07:00
Umair Khan
f15dfc69fb
Make code Python 3 compatible.
...
Make convert_html_to_markdown function Python 3 compatible.
2016-07-13 11:24:18 -07:00
Tim Abbott
34a251adb1
upload: Fix exception uploaded files with unknown content type.
...
It turns out our detected content_type can actually be None, which
meant calling force_text on it broke uploading some files.
2016-07-13 10:57:55 -07:00
Umair Khan
0aae0eab49
Switch to PyAPNS for sending push notifications.
...
Switch to [PyAPNS](https://github.com/djacobs/PyAPNs ).
Fixes #538 .
2016-07-13 10:55:07 -07:00
Umair Khan
636466ff8b
Fix unreliable tests for missed messages.
...
Generate random token using getrandints.
Resolves the proximal issue discussed in #1212 .
2016-07-13 10:51:21 -07:00
Steve Howell
c069c8f1e7
Add test_update_api_key_for_invalid_user().
2016-07-13 07:51:00 -07:00
Steve Howell
aea79517f5
Test bot_owner logic in /json/users
...
This fixes a small gap in our coverage for get_members_backend.
2016-07-12 23:01:56 -07:00
Steve Howell
108ce82571
Add test_api_with_insufficient_permissions().
2016-07-12 22:16:00 -07:00
Steve Howell
cee47e7f82
Add test_api_with_nonexistent_user().
2016-07-12 22:16:00 -07:00
Steve Howell
f43be3bd8f
Add test_updating_non_existent_user().
2016-07-12 22:16:00 -07:00
Tim Abbott
647cead0d1
slow queries: Include full log line in slow query log.
...
The extra data is useful, and I think this won't make the lines annoying long.
2016-07-12 19:12:49 -07:00
Tim Abbott
305189956b
update_message_flags: Log number of messages updated.
2016-07-12 19:12:49 -07:00
Eklavya Sharma
e28b038f1d
Use assert_in_response by fixing line-wrapping in templates.
2016-07-12 17:52:47 -07:00
Steve Howell
3923f94a2b
Remove unused code path in avatar() endpoint.
2016-07-12 17:37:02 -07:00
Steve Howell
3995a5d8eb
Add test coverage for /avatar/<email>
2016-07-12 17:37:02 -07:00
Tomasz Kolek
d0066c37ff
Add bitbucket2 integration.
...
Bitbucket changed the format of their API. The old format is still
useful for BitBucket enterprise, but for the main cloud verison of
Bitbucket, we need a new BitBucket integration supporting the new API.
2016-07-12 17:34:34 -07:00
Eklavya Sharma
c98c3d5f8d
Re-enable some backend tests on python 3.
2016-07-12 14:06:29 -07:00
Eklavya Sharma
d740a87d04
zerver/tests: Use unicode strings.
...
* Use unicode strings for strings containing non-ASCII characters.
* Decode response content when text output is expected.
2016-07-12 14:06:29 -07:00
Eklavya Sharma
161c27d0e9
Add methods to AuthedTestCase to test response content.
...
Add methods assert_equals_response and assert_in_response to
AuthedTestCase. These methods make it convenient to check if
a string equals the contents of an HttpResponse's body or if a
string is a substring of the contents of an HttpResponse's body.
2016-07-12 14:06:29 -07:00
Eklavya Sharma
2080ff6c2a
Decode response.content everywhere except in tests.
...
response.content is binary data, but code usually assumes it to
be text. Fix this by decoding response.content where required.
Don't do this in tests yet.
2016-07-12 14:06:29 -07:00
Steve Howell
45d1eefc52
Add test_create_user_backend().
...
This tests provides full line coverage on the
create_user_backend view.
2016-07-12 12:29:24 -07:00
Eklavya Sharma
73a3c9fa47
On python 3, skip expected failures in backend tests.
2016-07-12 09:27:55 -07:00
Eklavya Sharma
4868cd9969
zerver/lib/test_helpers.py: Add skip_py3 decorator.
2016-07-12 09:27:55 -07:00
Eklavya Sharma
0a9c600c8b
Show skipped tests in test runner.
2016-07-12 09:27:55 -07:00
Eklavya Sharma
958335bdb3
Change all default values in models to unicode.
2016-07-11 21:30:32 -07:00
Tomasz Kolek
d7c7279523
Add is_status_message method to Message model.
2016-07-11 12:09:06 -07:00
Tim Abbott
e21bc11cfd
Extract attachment_url_to_path_id.
2016-07-10 18:07:37 -07:00
Tim Abbott
48ae178d0b
Refactor attachment_url_re to be a common value in upload.py.
2016-07-10 18:04:58 -07:00
rahuldeve
c5756e4fa4
Update attachment tracking on message update.
2016-07-10 18:01:59 -07:00
Tim Abbott
3647973069
update_message_backend: Reorganize validation checks.
...
The new organization more clearly does the permission check first.
2016-07-10 18:01:59 -07:00
Tim Abbott
05632b68e1
edit: Add validation for setting empty content.
2016-07-10 18:01:59 -07:00
Tim Abbott
0d418d5695
Add some message editing tests for invalid input.
2016-07-10 18:01:59 -07:00
Tim Abbott
211a166abc
message edit: Move new topic non-empty check to view.
2016-07-10 18:01:59 -07:00
Eklavya Sharma
0900ca5353
Replace assertItemsEqual by assertEqual.
...
This is needed because assertItemsEqual doesn't exist in python 3.
2016-07-10 17:33:11 -07:00
Rishi Gupta
43c2f35776
Add realm setting to disable message editing.
...
This is controlled through the admin tab and a new field in the Realms
table. This mirrors the behavior of the old hardcoded setting
feature_flags.disable_message_editing. Partially resolves #903 .
2016-07-10 11:57:24 -07:00
Rishi Gupta
07e7230ae1
models.py: Add post_save to Message.
...
Flushes message from cache after a message.save(). Needed for tests
where we directly manipulate Message objects in the database.
2016-07-10 11:42:18 -07:00
Eklavya Sharma
f1ba3ded42
Revert "Extract reply from email."
...
This reverts commit f1f48f305e
.
The use of sklearn unfortunately caused a substantial slowdown to the
Zulip provisioning process, which didn't seem worth it for a
relatively minor feature.
2016-07-10 11:30:30 -07:00
Eklavya Sharma
9161ddaee0
zerver/middleware.py: Handle binary data in errors.
...
In write_log_line, error_content can be binary_type and
error_content_iter can be a Sequence of binary_type. Handle
this this in a python 3 compatible way. Also change annotations
to reflect this fact.
2016-07-10 11:30:13 -07:00
Steve Howell
c671881713
decorators: Extract is_local_addr().
2016-07-09 17:58:48 -07:00
Steve Howell
8e528569a7
Clean up rate_limit() for deployments that opt out.
...
If settings.RATE_LIMITING is False, short circuit rate
limiting earlier in rate_limit(). This change particularly
avoids inspect request.user and possibly spamming the error
log for sites that don't care about rate limiting.
2016-07-09 17:58:20 -07:00
Eklavya Sharma
801bcdd956
zerver/tests/tests.py: Fix non-deterministic failure.
...
Replace occurences of list(d.keys()) by sorted(d.keys()).
2016-07-09 17:54:54 -07:00
Eklavya Sharma
1f3ce7cf38
zerver/worker/queue_processors.py: Open file in binary.
...
Open a file in binary mode instead of text mode.
2016-07-09 17:54:54 -07:00
Eklavya Sharma
2f2e543a0e
zerver/tests/tests.py: Replace assertItemsEqual.
...
Replace assertItemsEqual(a, b) by assertEqual(sorted(a), sorted(b))
because assertItemsEqual has been removed in python 3.
2016-07-09 17:54:54 -07:00
Steve Howell
89105e41d7
Added TestInternalNotifyView.
2016-07-09 07:47:12 -07:00
Steve Howell
ce14a3551d
Added test_get_client_name().
2016-07-09 07:37:13 -07:00
Steve Howell
69f18c26fc
Improve test_api_key_only_webhook_view().
...
This test now covers all lines of api_key_only_webhook_view(),
including the error logic and rate limiting logic.
2016-07-09 07:37:13 -07:00
Steve Howell
3d095beb63
Extracted client_is_exempt_from_rate_limiting().
2016-07-09 07:37:13 -07:00
Steve Howell
49543b9ec4
Added RateLimitTestCase tests.
2016-07-09 07:37:13 -07:00
Steve Howell
c680c6a981
Removed unused to_non_negative_float() function.
2016-07-09 07:37:13 -07:00
Umair Khan
b7ec66fc96
Remove templates, styles and js through storage.
2016-07-09 07:33:35 -07:00
Umair Khan
043ae8ad65
Upgrade to Django-Pipeline==1.6.8.
2016-07-09 07:09:55 -07:00
Umair Khan
2d243c0703
get_all_templates should not return __init__.py.
2016-07-09 07:09:55 -07:00
Tim Abbott
1e2d38e790
Move stringify_message_dict into to_dict_uncached.
2016-07-08 17:58:56 -07:00
Tim Abbott
72e948d19a
Remove now-unused message_cache_key message cache.
...
Originally this cache was used to transmit data from Django to Tornado
(and also for general message caching purposes), but now nothing
actually reads from this cache, so we can eliminate it.
2016-07-08 17:58:56 -07:00
Tim Abbott
8d5ec14b31
cache_helpers: Fill to_dict cache instead of old message cache.
...
Apparently, the message cache we were filling was completely useless
and unused, and furthermore, the cache we were filling as part of
restarting the server was also totally useless, since it didn't have
the messages users would be requesting.
2016-07-08 17:58:56 -07:00
Taranjeet
a8a4caf2c0
zerver: Fix lines with length greater than 120.
2016-07-08 11:41:43 -07:00
Umair Khan
f1f48f305e
Extract reply from email.
2016-07-08 10:58:25 -07:00
Umair Khan
75bd3541ea
Add tests for new email policy.
...
- Update test_extra_context_in_missed_stream_messages
- Add test_extra_context_in_personal_missed_stream_messages
- Add test_extra_context_in_huddle_missed_stream_messages
2016-07-08 10:58:25 -07:00
Umair Khan
8538ba8ea8
Remove do_send_missedmessage_events function.
2016-07-08 10:58:25 -07:00
Umair Khan
06355105f5
Missed message emails should come from user email.
...
Fixes #448
FIxes #612
2016-07-08 10:58:25 -07:00
Eklavya Sharma
3e9349df4f
zerver/decorator.py: Use force_bytes instead of encode.
...
The value type of request.META is str, not text type.
So use force_bytes on the data instead of encode('utf-8').
2016-07-08 01:24:30 +05:30
Eklavya Sharma
4cf7641ab1
zerver/tests/test_i18n.py: Ignore due to incomplete stubs.
...
In python 3, http.cookies has incomplete stubs.
2016-07-07 12:42:51 -07:00
Eklavya Sharma
6c3f1bb967
beanstalk.py: Encode and decode strings correctly.
2016-07-07 12:42:51 -07:00
Eklavya Sharma
26b8e7357a
zerver/views/messages.py: Operate on bytes in highlight_string.
2016-07-07 12:42:51 -07:00
Eklavya Sharma
83640ed0cd
runtornado.py: Ignore due to incorrect stubs.
2016-07-07 10:09:35 -07:00
Eklavya Sharma
6fd8906358
rename_stream.py: Fix broken code.
...
* get_realm returns None if no matching realm is present, but
create_stream.py assumed it raises Realm.DoesNotExist.
* encoded/decode strings properly.
2016-07-07 10:08:29 -07:00
Eklavya Sharma
c679c180f5
enqueue_file.py: Add type hint for mypy.
2016-07-07 10:07:51 -07:00
Eklavya Sharma
896c18a57b
email-mirror.py: Make it pass on mypy in python 3.
...
* Replace filter by list comprehension.
* Add '# type: ignore' to statements which use attributes from
modeule `posix`, since stubs for posix are missing on python 3.
2016-07-07 10:07:28 -07:00
Eklavya Sharma
17cb6e00bd
create_stream.py: Fix broken code.
...
* get_realm returns None if no matching realm is present, but
create_stream.py assumed it raises Realm.DoesNotExist.
* encoded/decode strings properly.
2016-07-07 10:06:39 -07:00
Eklavya Sharma
7956fcbf0d
zerver/lib/str_utils.py: Allow specifying encoding.
2016-07-07 10:06:22 -07:00
Eklavya Sharma
63d55bdd86
zerver/views/__init__.py: decode b64encoded ccache.
...
Convert b64encoded ccache to `str` before passing to
subprocess.check_call.
2016-07-07 10:02:08 -07:00
Eklavya Sharma
628e45defc
zerver/lib/actions.py: Use text_type in truncate_ functions.
...
The functions truncate_content, truncate_body and truncate_topic
are only meant to be used on text strings. So change its
parameter types from AnyStr to text_type.
2016-07-07 10:02:08 -07:00
Eklavya Sharma
976858f536
tornado_ioloop_logging.py: Ignore because of missing stub.
...
There is no stub for select.epoll on python 3. So ignore the
statement which uses it.
2016-07-07 10:02:08 -07:00
Eklavya Sharma
9d2a539aaa
zerver/lib/notifications.py: Add hints for mypy.
...
Add type hints for mypy using isinstance in assert and if.
2016-07-07 10:02:08 -07:00
Tim Abbott
98db1d996f
email_mirror: Fix some indentation issues.
2016-07-07 10:02:08 -07:00
Eklavya Sharma
5e81a4d93f
zerver/lib/email_mirror.py: Improve annotation in python 3.
...
Add asserts and if statements to help mypy.
2016-07-07 10:01:30 -07:00
Eklavya Sharma
4f221c21a0
zerver/lib/email_mirror.py: Improve subject extraction.
...
Improve subject extraction in process_message.
2016-07-07 09:55:23 -07:00
Eklavya Sharma
06a7a6caee
zerver/lib/debug.py: Remove from mypy's exclude_py3.
...
traceback.print_stack doesn't have a stub yet. So ignore the
statement which uses it.
2016-07-07 09:52:24 -07:00
Eklavya Sharma
6bb266d262
bugdown's __init__.py: Add python 3 compatibility.
...
* Use Response.text instead of Response.content.
* Make unescaping work on python 3.
2016-07-07 09:52:24 -07:00
Eklavya Sharma
05046d9288
bugdown's codehilite.py: Fix annotations in python 3 mode.
...
Many stubs in xml.etree.ElementTree use Union[str, bytes] as
return type. Mypy wants us to correctly handle each case. This
is correct, but not useful for us since we know that we'll always
get str. So force the return value to text_type, to supress mypy
errors.
2016-07-07 09:52:24 -07:00
Eklavya Sharma
610f19c791
zerver/lib/camo.py: Type ignore statement with hex encode.
2016-07-07 09:52:24 -07:00
Eklavya Sharma
6a63870136
zerver/decorator.py: Correctly encode/decode strings.
2016-07-07 09:52:24 -07:00
Eklavya Sharma
4e698ab1f6
Remove zerver/lib/parallel.py from mypy's exclude_py3.
2016-07-07 09:52:24 -07:00
Eklavya Sharma
ce6ddd574a
zerver/lib/test_helpers.py: Replace os.path.walk by os.walk.
...
os.path.walk has been removed in python 3.
2016-07-06 11:49:55 -07:00
Eklavya Sharma
6505cbf2bf
zerver/lib/timeout.py: Replace isAlive by is_alive.
...
In threading.Thread, isAlive has been removed in python 3.
We should use is_alive instead.
2016-07-06 11:49:48 -07:00
Eklavya Sharma
d8de54abe5
zerver/migrations: Squash an AlterField from 0002 into 0001.
...
Squash the AlterField on UserProfile.groups in 0002 into the
AddField in 0001. This is done to avoid a probable bug in Django,
where running migrations in python 3 sometimes led to a KeyError.
2016-07-06 11:40:12 -07:00
Umair Khan
47fb293f8a
i18n: Add English locale to language list if missing.
...
The English locale data is only present if the user has run `manage.py
makemigrations` on the system.
2016-07-06 11:34:28 -07:00
Eklavya Sharma
2d4dcd1698
Replace bytes by strings in zerver migrations 2, 13, 18.
2016-07-04 12:08:37 -07:00
Eklavya Sharma
6553e16b89
Replace bytes by strings in zerver/migrations/0001.
2016-07-04 12:08:37 -07:00
Umair Khan
035fceb814
Add dynamically loaded language dropdown.
2016-07-04 11:56:02 -07:00
Conrad Dean
bbf7a9c801
Annotate zerver/lib/event_queue.py.
2016-07-04 03:01:33 +05:30
Conrad Dean
9812e676f0
Annotate zerver/lib/queue.py.
2016-07-04 03:01:32 +05:30
Eklavya Sharma
192663edcf
zerver/lib/narrow.py: Fix annotations.
2016-07-04 03:01:32 +05:30
Eklavya Sharma
95b6e668a7
zerver/lib/actions.py: Fix annotations.
...
Change queue_ids from text_type to str.
2016-07-04 03:01:32 +05:30
Eklavya Sharma
9772a512cb
Use abstract types in annotations.
2016-07-04 03:01:32 +05:30
Eklavya Sharma
fdf4d67cde
zerver/tornado.py: Convert queue_id to str.
2016-07-04 02:58:57 +05:30
Eklavya Sharma
de19b24f74
zerver/lib/handlers.py: Fix an annotation.
2016-07-04 02:20:25 +05:30
Eklavya Sharma
4761cc27dd
zerver/middleware.py: Fix annotations.
...
* Use abstract types where relevant.
* Fix string types.
* Fix annotation of args and kwargs.
2016-07-04 02:14:42 +05:30
Eklavya Sharma
6d8ba90db9
zerver/models.py: Modify imports for mypy in py3 mode.
...
Change 'from zerver.lib import bugdown' to
'import zerver.lib.bugdown as bugdown' to make zerver/models.py
pass mypy check in python 3 mode.
2016-07-02 10:38:48 -07:00
Eklavya Sharma
b902c1ae45
bugdown: Replace raw unicode literal with non-raw.
...
Raw unicode literals are disallowed in python 3.
2016-07-02 10:38:48 -07:00
Kartik Maji
f8bb7503e6
Add ability to pin streams to top of the streams sidebar list.
...
Based on work by Lauren Long, with some tweaks by tabbott.
2016-06-30 22:26:09 -07:00
Kartik Maji
a32167d921
test_events: Sort subscribers list.
...
The subscribers list is appended to in `peer_add` events with not
regard for preserving the ordering, and ordering isn't really
important here, so it seems best to just sort it in these checks.
2016-06-30 16:52:51 -07:00
Vishnu Ks
1cbd39b768
Unique link generator for realm creation.
2016-06-30 15:52:41 -07:00
Alex Wilson
8c62cff1b7
bugdown: Clean up paths to emojis.
2016-06-30 15:48:02 -07:00
Alex Wilson
b040839c76
Add unicode emoji to frontend markdown parser.
...
Fixes 2nd half of #1011 .
2016-06-30 15:48:02 -07:00
Alex Wilson
5ec29101eb
Add unicode emoji support to bugdown.
...
Fixes half of #1011 .
2016-06-30 15:48:02 -07:00
Tim Abbott
0397855fdd
test_hooks: Use send_json_payload for private message tests.
2016-06-30 15:12:03 -07:00
Rishi Gupta
17b6d136d5
Add Semaphore webhook integration.
2016-06-29 16:36:19 -07:00
Eklavya Sharma
def8cd8e78
Annotate zerver/lib/timeout.py.
2016-06-29 10:41:01 -07:00
Eklavya Sharma
21f789eb05
zerver/lib/session_user.py: Replace Dict by Mapping.
2016-06-29 10:36:50 -07:00
Eklavya Sharma
b76dc9bf4e
zerver/lib/upload.py: Fix string types.
2016-06-29 20:43:28 +05:30
Tim Abbott
abc2c03b0f
Fix missing 'current_url' value in registration flow.
...
This fixes some tracebacks I got while testing the Zulip htpasswd SSO
functionality.
I think that this stopped working as a result of the Jinja2 migration.
2016-06-28 23:05:38 -07:00
Tim Abbott
56e7a2f6f3
Annotate zerver.migrations.
2016-06-28 16:38:33 -07:00
Eklavya Sharma
2cba2caa7f
zerver/lib/test_helpers.py: Fix string annotations.
2016-06-29 01:54:17 +05:30
Eklavya Sharma
d9eb711e5e
zerver/tests/test_helpers.py: Use text_type for api_keys.
...
Also encode/decode strings appropriately when using api_keys to generate
basic auth header.
Also fix clashing annotations in zerver/tests/test_external.py.
2016-06-29 01:50:38 +05:30
Eklavya Sharma
eb3bde40a0
zerver/lib/test_helpers.py: Improve type annotations.
2016-06-29 01:35:34 +05:30
Eklavya Sharma
97760702a8
zerver/lib/actions.py: Use Sequence as parameter type.
2016-06-29 01:11:41 +05:30
Eklavya Sharma
dca9256f3c
zerver/lib/socket.py: Improve annotations.
...
* Add Optional where required.
* Set type of req_redis_key as `(text_type) -> text_type` for consistency.
Almost all our cache keys and redis keys use this signature.
2016-06-29 00:45:13 +05:30
Eklavya Sharma
b305af05b3
Fix string annotations in custom cursors.
2016-06-28 15:58:57 +05:30
Eklavya Sharma
1a00b08a11
zerver/lib/db.py: Use a type alias to shorten annotations.
2016-06-28 15:57:43 +05:30
acrefoot
acd7ff7aff
Fix typo in Recipient comment.
2016-06-27 18:34:02 -07:00
acrefoot
a36e5d4987
Add get_auth_backends endpoint to API.
...
We would like to know which kind of authentication backends the server
supports.
This is information you can get from /login, but not in a way easily
parseable by API apps (e.g. the Zulip mobile apps).
2016-06-27 18:30:34 -07:00
Tim Abbott
e72f41cdec
Remove old prototype data import/export tool.
...
This prototype from Dropbox Hack Week turned out to be too inefficient
to be used for realms with any significant amount of history, so we're
removing it.
It will be replaced by https://github.com/zulip/zulip/pull/673 .
2016-06-27 13:47:08 -07:00
Tim Abbott
b2a24e0306
Revert "Add authorization check before serving files."
...
This reverts commit e985b57259
.
This commit will break production when we next do a release, because
we haven't done a migration to create Attachment objects for
previously uploaded files.
2016-06-27 12:09:56 -07:00
Tim Abbott
f7e87bc1f0
test_helpers: Require that login calls actually succeed.
...
This caught several bugs where test code wasn't doing what it's author
intended.
2016-06-27 11:51:04 -07:00
Tim Abbott
4cac7bbb32
test_helpers: Refactor login test helpers.
...
We now have a separate login helper for the case where the return
value is desired.
2016-06-27 11:50:43 -07:00
Tim Abbott
a05c03d3b5
test_messages: Fix trying to login as a bot user.
...
Due to a recent refactoring, the first user in the subscribers list is
now a bot.
2016-06-27 11:48:39 -07:00
Tim Abbott
370b38696a
test_messages: Fix broken huddle messages test.
...
The second login call was failing because the user didn't exist.
2016-06-27 11:48:36 -07:00
rahuldeve
e985b57259
Add authorization check before serving files.
2016-06-27 11:24:35 -07:00
rahuldeve
674def30ee
Add support for serving files using API authentication.
...
Also remove 'get_uploaded_file' view function and the corresponding
old '/user_upload/' url pattern.
2016-06-27 11:00:41 -07:00
rahuldeve
2bf15603f3
Modify rest_dispatch to support method specific flags.
...
[simplified substantially by tabbott]
2016-06-27 10:53:15 -07:00
rahuldeve
823bf15c6e
Add API route for uploading files.
2016-06-27 10:30:58 -07:00
Tim Abbott
79570f99c2
json_upload_file: Remove unnecessary has_request_variables.
2016-06-27 10:29:30 -07:00
Tim Abbott
8272fb4a94
zerver.views.upload: Move upload functions later in file.
2016-06-27 10:28:09 -07:00
Eklavya Sharma
f20699b615
zerver/lib/statistics.py: Fix annotations.
...
Add type annotation to a variable.
Use abstract base container types where suitable.
Add missing imports from typing.
2016-06-27 18:03:29 +05:30
Eklavya Sharma
3917b822e5
zerver/lib/bulk_create.py: Type annotate variables.
2016-06-27 17:52:37 +05:30
Eklavya Sharma
d7a83ed019
zerver/views/__init__.py: Type annotate a variable.
2016-06-27 17:52:37 +05:30
Eklavya Sharma
63a5323259
zerver/views/streams.py: Type annotate variables.
2016-06-27 17:52:22 +05:30
Eklavya Sharma
9aa6fd988a
zerver/lib/actions.py: Type annotate variables.
2016-06-27 17:52:07 +05:30
Eklavya Sharma
7ca1e658b5
zerver/lib/cache.py: Change some TypeVars to Any.
...
Change ItemT and CompressedItemT to Any.
See https://github.com/python/mypy/issues/1721 .
2016-06-27 16:50:50 +05:30
rahuldeve
a3745178e5
Use django.utils.autoreload to restart queue workers at code change.
...
Fixes #621 , #1045 .
2016-06-26 20:12:11 -07:00
dhanus
1169329a71
Annotate zerver/views/webhooks/github.py.
2016-06-26 08:13:49 -07:00
Eklavya Sharma
85cb3e6103
zerver/views/webhooks/github.py: Make exception string str.
...
Passing a unicode string to Exception can sometimes fail.
Convert it to str to prevent that.
2016-06-26 08:13:49 -07:00
Eklavya Sharma
a32f83b182
zerver/views/webhooks/github.py: Fix string literals.
...
Change some string literals to unicode.
2016-06-26 08:13:49 -07:00
Eklavya Sharma
fa4adf0c62
zerver/views/webhooks/bitbucket.py: Fix an annotation.
2016-06-26 08:13:49 -07:00
Eklavya Sharma
36c2214d94
zerver/views/webhooks/bitbucket.py: Fix string literals.
...
Convert some strings literals to unicode.
2016-06-26 08:13:49 -07:00
Max
9b6205d0ed
Annotate zerver/decorator.py.
2016-06-26 08:13:49 -07:00
Max
daab2ca475
zerver/tornadoviews.py: Improve an annotation.
...
Use django.core.handlers.base.BaseHandler instead of Any.
2016-06-26 19:05:54 +05:30
Tim Abbott
ce7c7d3510
Wrap youtube_re.
2016-06-25 10:52:03 -07:00
Tim Abbott
c25c8d8c98
forms: Wrap some very long lines.
2016-06-25 10:52:03 -07:00
Vishnu Ks
7d654a26c8
Casper test for realm creation.
2016-06-25 10:50:12 -07:00
Vishnu Ks
20adcbc64b
Make send_registration_completion_email return the Confirmation object.
2016-06-24 17:47:56 -07:00
Vishnu Ks
8350b89798
Add support for custom error message in realm-creation-failed template.
2016-06-24 17:47:56 -07:00
Tim Abbott
6d71c25a0f
accounts_register: Stop using _ as dummy variable.
...
This conflicts with internationalization.
2016-06-24 17:47:31 -07:00
acrefoot
e4ed9195dc
Remove rest_dispatch hack and optimize imports.
...
For a long time, rest_dispatch has had this hack where we have to
create a copy of it in each views file using it, in order to directly
access the globals list in that file. This removes that hack, instead
making rest_dispatch just use Django's import_string to access the
target method to use.
[tweaked and reorganized from acrefoot's original branch in various
ways by tabbott]
2016-06-24 16:11:03 -07:00
acrefoot
5d21fb0681
Remove unused imports from tornadoviews.py.
2016-06-24 14:53:13 -07:00
acrefoot
be484b25c6
Add comments on how rest_dispatch authenticates.
2016-06-24 14:52:22 -07:00
Tomasz Kolek
e6861636c8
Fix editing messages by adding or removing leading /me.
...
Previously, this did not correctly rerender the message to be (or not
to be) rendered as a /me style message.
Fixes : #835 .
2016-06-24 11:18:29 -07:00
rahuldeve
8cecb37743
Modify Attachment model to track file access permissions.
2016-06-23 17:46:16 -07:00
Vishnu Ks
574a304b12
Mention invite emails are printed in console in dev.
...
This is part 2 of #1046 .
2016-06-23 17:07:11 -07:00
Umair Khan
33e6b471e2
Fix spelling of mesage_count_by_recipient_subject.
2016-06-22 09:02:35 -07:00
Tim Abbott
250781e843
Fix HTTP Basic Auth popups caused by auth failures.
...
If a user's session cookie expired, the next REST API request their
browser did would go into the json_unauthorized code path. This
returned a response with a WWW-Authenticate tag for HTTP Basic Auth
(since that's what the REST API uses), even for /json requests which
should only be authenticated using session auth.
We fix this by explicitly passing the desired WWW-Authenticate state.
Fixes : #800 .
2016-06-21 16:18:36 -07:00
Tim Abbott
45beac7d6c
test_decorators: Add test for /json/fetch_api_key.
2016-06-21 16:14:22 -07:00
Tim Abbott
f39c9161fe
Fix fetching user API keys via settings page when using LDAP backend.
...
Previously, json_fetch_api_key was hardcoding a check using Zulip's
built-in password functionality, rather than using authenticate().
2016-06-21 14:58:25 -07:00
Tomasz Kolek
7aa45ffa45
Increase send_message_backend coverage.
2016-06-21 14:33:21 -07:00
Tim Abbott
50f723f50b
Split test_narrow.py out of test_messages.py.
2016-06-21 12:25:08 -07:00
Tomasz Kolek
e3e03e2946
Add NarrowBuilder test cases.
...
Refactor existing add_term test cases.
2016-06-21 11:53:31 -07:00
Tomasz Kolek
f8c368c07f
Add default-bot during populate_db.
2016-06-21 11:47:38 -07:00
Tomasz Kolek
9ae68ade8b
Add is_webhook option to authentication decorats.
...
Modified:
authenticated_rest_api_view
authenticated_api_view and validate_api_key.
2016-06-21 11:47:38 -07:00
Tim Abbott
80d92c1651
Add comment documenting confusing list_to_streams code.
2016-06-21 11:45:35 -07:00
krtkmj
9dadab6eac
Replace placeholder variables x with more meaningful ones.
2016-06-20 19:36:07 -07:00
medullaskyline
e2eb4e0b7e
Annotate zerver/lib/email_mirror.py.
...
[With some fixes from @sharmaeklavya2].
2016-06-20 15:58:40 -07:00
Eklavya Sharma
a2668a2853
zerver/lib/notifications.py: Fix an annotation.
2016-06-21 02:20:36 +05:30
Umair Khan
134b165b1a
Fix frontend translation string bug.
...
The translation string which contain \n are not captured
within {{#tr}}{{/tr}} blocks. Fix is to escape the slash.
2016-06-20 11:31:28 -07:00
Vishnu Ks
ff66ce780a
Mention emails are printed in run-dev.py console.
...
Fixes : #1046
2016-06-20 11:07:20 -07:00
Eklavya Sharma
aceee3da11
zerver/lib/rate_limiter.py: Annotate rate_limiter.rules.
...
After annotating rate_limiter.rules, mypy complained that rules does
not support cmp. So use key to customize sort instead of cmp.
Python docs also recommend using key over cmp.
2016-06-18 16:41:41 -07:00
Eklavya Sharma
13f62da4ce
zerver/lib/rate_limiter.py: Fix annotations.
2016-06-18 16:41:40 -07:00
Eklavya Sharma
6097f6eed5
zerver/lib/initial_password.py: Encode return value.
...
zerver.lib.initial_password.initial_password is supposed to return an
Optional[text_type], but it returns an Optional[binary_type] instead.
Encode the return value to make sure it returns an Optional[text_type].
2016-06-18 16:41:40 -07:00
Eklavya Sharma
018041625c
zerver/lib/html_diff.py: Fix annotations.
2016-06-18 16:41:40 -07:00
Eklavya Sharma
68823767e2
zerver/lib/digest.py: Fix annotations.
2016-06-18 16:41:40 -07:00
Eklavya Sharma
64ccb390ff
Annotate zerver/lib/create_user.py.
2016-06-18 16:41:40 -07:00
Vishnu Ks
ad1c3894d9
Add interface for creating new realms.
...
This is controlled by settings.OPEN_REALM_CREATION; if that setting is
off, this feature doesn't do anything.
2016-06-17 16:15:28 -07:00
Vishnu Ks
8213ca135a
Move default_stream list to settings.
2016-06-17 16:01:38 -07:00
kunall17
007eee6061
Add route to fetch emails for mobile passwordless login.
...
[Tweaked by tabbott to rename API to explicitly support not just
Android]
2016-06-17 11:03:19 -07:00
kunall17
7ea0eaed1c
Add passwordless login for mobile app development.
...
[Tweaked by tabbott to rename API to explicitly support not just
Android].
2016-06-17 10:58:33 -07:00
Vishnu Ks
01c9bb2d5e
Make name_changes_disabled() work with no argument.
2016-06-16 17:13:59 -07:00
Tomasz Kolek
76cbe89613
Add IFTTT integration.
2016-06-16 15:30:45 -07:00
Eklavya Sharma
598fb1ff28
zerver/lib/bugdown/fenced_code.py: Add BaseHandler.
...
Add a class 'BaseHandler' and make it a base class of OuterHandler,
QuoteHandler and CodeHandler. This will help annotate some functions
and improve type checking.
2016-06-16 15:21:17 -07:00
Eklavya Sharma
142bcadb68
Annotate zerver/lib/bugdown/fenced_code.py.
2016-06-16 15:21:17 -07:00
Eklavya Sharma
9b72b7b37e
Annotate zerver/lib/bugdown/codehilite.py.
...
Also change some string literals to unicode.
2016-06-16 15:21:17 -07:00
Eklavya Sharma
744007f33f
zerver/lib/bugdown/__init__.py: Fix string types.
...
Change important string constants from str to text_type.
Replace str by text_type in annotations where relevant.
2016-06-16 15:21:17 -07:00
Eklavya Sharma
04f44b12ad
zerver/lib/bugdown/testing_mocks.py: Fix types.
...
Also fix clashing annotations in zerver/lib/bugdown/__init__.py.
2016-06-16 15:21:17 -07:00
Eklavya Sharma
7db0765a18
zerver/lib/bugdown/fenced_code.py: Fix types.
...
Change some important string literals from str to unicode.
Annotate format_code and codehilite_conf in FencedBlockProcessor.
2016-06-16 15:21:17 -07:00
Eklavya Sharma
48c5b299b6
zerver/lib/bugdown/codehilite.py: Add type annotation.
...
Mypy incorrectly infers a dict's type as `Dict[str, List[object]]`.
Change that to `Dict[str, List[Any]]`.
2016-06-16 15:21:17 -07:00
Eklavya Sharma
a485d63975
zerver/lib/bugdown/__init__.py: Fix non-string annotations.
2016-06-16 15:21:17 -07:00
Tim Abbott
eafb91719c
get_tweet_id: Fix return type to by None.
2016-06-16 15:21:01 -07:00
Tim Abbott
33df0b29d3
Annotate zerver/tests/test_hooks.py.
2016-06-16 14:07:34 -07:00
Tim Abbott
49ae0052b2
send_json_payload: payload arg can be text_type.
2016-06-16 14:07:34 -07:00
Tim Abbott
df9f89fe2c
test_helpers: Change send_json_payload to use text_type.
2016-06-16 14:07:34 -07:00
Tim Abbott
b14eacd552
test_helpers: Change fixture_data to text_type.
2016-06-16 14:07:34 -07:00
Tim Abbott
5b05644c95
Run mypy on zerver/tests/test_hooks.py.
2016-06-16 14:07:34 -07:00
Tim Abbott
6723525fd3
Annotate zerver/tests/tests.py.
2016-06-16 14:07:34 -07:00
Tim Abbott
45883386ce
AlertWordTests: Cleanup confusing message variable reuse.
2016-06-16 13:55:58 -07:00
John Hergenroeder
16a19226f6
Add linter check for redundant REQ whence argument.
2016-06-16 13:53:39 -07:00
Eklavya Sharma
98553e8caa
zerver/lib/push_notifications.py: Fix strings.
...
Use appropriate string encode/decode operations and fix annotations.
2016-06-15 15:25:28 -07:00
Eklavya Sharma
78565a96c9
zerver/lib/notifications.py: Fix string annotations.
2016-06-15 15:25:28 -07:00
Tim Abbott
10dd9addb7
Fix ChangeSettingsTest caching issue causing test failures.
2016-06-15 14:57:58 -07:00
Tim Abbott
06079042d4
ChangeSettingsTest: Move login to test helper method.
2016-06-15 14:28:24 -07:00
Tim Abbott
8f67b7e498
Simplify check_for_toggle_param.
2016-06-15 14:23:51 -07:00
Ashish Kumar
0a98d9edcf
Add test_enter_sends_setting.
2016-06-15 14:23:51 -07:00
Ashish Kumar
8a55098ca7
Add test_time_setting.
2016-06-15 14:23:51 -07:00
Ashish Kumar
345df3538f
Add test_toggling_left_side_userlist.
2016-06-15 14:23:51 -07:00
Ashish Kumar
24767302c4
Update test_ui_settings to use new abstraction.
2016-06-15 14:23:51 -07:00
Ashish Kumar
006e528e18
Update test_notify_settings to use new abstraction.
2016-06-15 14:23:51 -07:00
Ashish Kumar
5ae06e8c33
Added test helper function: check_for_toggle_param
2016-06-15 14:18:55 -07:00
Tim Abbott
f88e5b7438
Add missing no-op migration for realm_emoji.
...
Because of how Django's migration system works, changing the error
message attached to a model field's validator results in an extra
migration.
2016-06-15 09:26:01 -07:00
Umair Khan
a976ccefbf
[third] Urlencode name of the uploaded file.
...
Update jquery-filedrop to send urlencoded filenames.
As discussed in https://github.com/zulip/zulip/pull/1023 , this fix is
already in jquery-filedrop upstream.
Fixes #981 .
2016-06-14 15:32:41 -07:00
Tomasz Kolek
4e51a86ea4
Add updownio integration.
2016-06-14 12:14:07 -07:00
Tomasz Kolek
14d69348d3
Add Airbrake integration.
2016-06-13 20:36:40 -07:00
Eklavya Sharma
72ed1f4187
Fix python 3 pyflakes error.
...
Change raw unicode literal to non-raw. A raw unicode literal is a
syntax error in python 3. This error was detected by pyflakes.
2016-06-13 19:44:56 -07:00
Tim Abbott
2219ef7bef
bugdown: Rename upload_re to upload_title_re for clarity.
2016-06-13 19:44:56 -07:00
Tim Abbott
6c78036811
Add tests for upload title functionality.
2016-06-13 19:44:56 -07:00
Tim Abbott
5b1cfbc977
bugdown: Fix extraction of titles for uploaded files.
...
The previous code was associated with a previous version of the upload
URL naming scheme, and thus never triggered in practice.
2016-06-13 19:44:51 -07:00
Umair Khan
c8d139b2b1
Fix emoji urls interaction with i18n.
...
When accessing emojis with relative urls we should start the urls with
a slash so that language code doesn't become part of these urls.
Fixes #1014 .
2016-06-13 09:10:11 -07:00
Umair Khan
6fcfed8d9e
Update regexes to capture translation strings.
...
Strings are captured from:
- i18n.t
- compose_error
- placeholder
2016-06-13 09:03:56 -07:00
Eklavya Sharma
7ec9cb7e93
Annotate model fields: Attachment.
...
Also fix clashing annotations.
2016-06-13 20:01:03 +05:30
Eklavya Sharma
86978cb2a3
Annotate model fields: Stream.
2016-06-13 20:01:03 +05:30
Eklavya Sharma
6f5ed6e7c9
Fix annotations clashing with Stream model fields.
2016-06-13 20:01:02 +05:30
Eklavya Sharma
1ec7e124c7
Annotate model fields: Message.
2016-06-13 20:01:02 +05:30
Eklavya Sharma
5a5934a76f
Fix annotations clashing with Message model fields.
2016-06-13 20:01:02 +05:30
Eklavya Sharma
f27cff57c3
Annotate model fields: UserProfile.
2016-06-13 20:01:02 +05:30
Eklavya Sharma
71e613424b
Fix annotations clashing with UserProfile's model fields.
2016-06-13 20:01:01 +05:30
Eklavya Sharma
9d7a2fdf9d
zerver/views/streams.py: Fix annotations.
...
Mainly fix `str` to `text_type` and use abstract containers.
2016-06-13 20:01:01 +05:30
Eklavya Sharma
9f39c9276f
Annotate model fields: DefaultStream, Referral, ScheduledJob.
2016-06-13 19:37:07 +05:30
Eklavya Sharma
4f890cca2a
Annotate model fields: UserActivity, UserActivityInterval, UserPresence.
2016-06-13 19:37:07 +05:30
Eklavya Sharma
7290f9cb83
Annotate model fields: Subscription and Huddle.
2016-06-13 19:37:07 +05:30
Eklavya Sharma
ddaaa98b25
Annotate model fields: UserMessage.
2016-06-13 19:30:58 +05:30
Eklavya Sharma
acd1767398
Annotate model fields: Recipient and Client.
2016-06-13 19:30:57 +05:30
Eklavya Sharma
c0004a5874
Annotate model fields: PushDeviceToken and MitUser.
2016-06-13 19:30:57 +05:30
Eklavya Sharma
04740fb620
Annotate model fields: PreregistrationUser.
2016-06-13 19:30:56 +05:30
Eklavya Sharma
d666e00833
Annotate model fields: RealmEmoji and RealmFilter.
2016-06-13 19:30:56 +05:30
Eklavya Sharma
6c7dd07ec2
Annotate model fields: Realm and RealmAlias.
2016-06-13 19:30:56 +05:30
Eklavya Sharma
d169cc5376
zerver/lib/bulk_create.py: Fix string annotations.
...
Change string type from `str` to `text_type` where required.
Also fix clashing annotations.
2016-06-13 10:08:14 +05:30
Eklavya Sharma
c654c4032d
zerver/models.py: Annotate get_display_recipient.
...
get_display_recipient's annotation clashes with other wrong annotations.
Fix those wrong annotations.
Since get_display_recipient returns a Union, use isinstance checks and
casts to make mypy checks succeed.
2016-06-12 23:34:57 +05:30
Eklavya Sharma
ed61c4c581
Improve model string representation.
...
Define __str__, __repr__ and __unicode__ correctly on models.
This will help in python 3 compatibility.
2016-06-12 09:55:12 -07:00
Eklavya Sharma
17b9422546
zerver/models.py: Fix regex strings.
...
Some regex strings were not declared as raw, even though they used
a lot of backslashes.
2016-06-12 09:31:19 -07:00
Eklavya Sharma
81759d56be
zerver/models.py: Fix string annotations in UserPresence.
2016-06-12 09:30:53 -07:00
Eklavya Sharma
e11bec28c2
zerver/models.py: Fix annotations (str -> text_type).
...
Change str to text_type where appropriate in annotations related to
Attachment, PreregistrationUser and Huddle.
2016-06-12 09:30:53 -07:00
Eklavya Sharma
d76bea8f25
zerver/models.py: Identify functions returning QuerySets.
...
Identify functions which return QuerySets and give them a return type
`Sequence` with appropriate parameter. Typing them as QuerySet will
not be useful since generic stubs for QuerySets are not available and
not knowing the type of QuerySets is hardly useful for type checking.
2016-06-12 09:30:53 -07:00
Eklavya Sharma
39060aa221
zerver/models.py: Fix annotations related to Message.
2016-06-12 09:30:53 -07:00
Eklavya Sharma
2841aa642d
Fix annotations related to make_safe_digest and hashes.
2016-06-12 09:30:53 -07:00
Eklavya Sharma
9020177418
zerver/models.py: Add annotations related to Stream and Client.
2016-06-12 09:30:53 -07:00
Eklavya Sharma
10f2ec043d
Fix zerver.lib.utils.generate_random_token.
...
generate_random_token used to return a value of type six.binary_type
and its return type was annotated as `str`. This commit fixes that
by making it return a value of type `six.text_type` and updating
the annotation accordingly.
Also fix clashing annnotations.
2016-06-12 09:30:53 -07:00
Eklavya Sharma
56d5785c2e
zerver/models.py: Change some constants to unicode literals.
...
Change choices of UserProfile.avatar_sources and UserProfile.tutorial_status
from str literals to unicode literals. This is done because these fields
are CharFields, which are of type `six.text_type`. So the set of values
which they can take should also be of the type `six.text_type`.
Also fix clashing annotations.
2016-06-12 09:30:53 -07:00
Eklavya Sharma
0cc7a6583c
zerver/models.py: Fix last_reminder_tzaware annotation.
...
Fix annotated return type of UserProfile.last_reminder_tzaware from
`str` to `Optional[datetime.datetime]`.
2016-06-12 09:30:33 -07:00
Eklavya Sharma
8acc51218e
Fix realm emoji and realm filter annotations.
...
Change `str` to `text_type` in annotations in zerver/models.py
related to realm emoji and realm filters.
Also fix clashing annotations in zerver/lib/bugdown/__init__.py.
2016-06-12 09:25:42 -07:00
Eklavya Sharma
e68d99eb2e
zerver/models.py: Make cache_keys text_type.
2016-06-12 09:25:32 -07:00
Babak
ad895eb690
Annotate zerver/views/report.py.
2016-06-11 18:42:37 -07:00
Vishnu Ks
77ec6217eb
Add validation for private message recipients.
...
The function will reject messages where recipients aren't either a
member of the realm or a member of cross_realm_user_emails.
Fixes : #930 .
2016-06-11 11:24:45 -07:00
Tim Abbott
f44b227b85
Refactor getting cross-realm users into a function.
2016-06-11 11:22:22 -07:00
Eklavya Sharma
f82b28e835
zerver/lib/cache.py: Fix get_cache_backend's annotation.
2016-06-11 09:12:58 -07:00
Eklavya Sharma
0b2d1c30e9
zerver/lib/cache.py: Replace Any with appropriate models.
...
Due to a cyclic dependency issue, functions having models as parameters
were annotated as Any.
That issue is fixed by importing models inside an `if False:` block,
so that mypy sees them but they are not imported at runtime.
2016-06-11 09:12:58 -07:00
Eklavya Sharma
ff4e95d941
Improve generic_bulk_cached_fetch annotation using TypeVars.
2016-06-11 09:12:42 -07:00
Eklavya Sharma
d27a0e162a
zerver/lib/cache.py: update_user_profile_caches return type is None.
...
In update_user_profile_caches, the return type in annotation was
marked as Any. Change that to None because, nothing is being returned
in that function.
2016-06-11 09:11:52 -07:00
Eklavya Sharma
53084fe03c
Use text_type as type of cache keys and update users.
...
This changes the type annotations for the cache keys in Zulip to be
consistently text_type, and updates the annotations for values that
are used as cache keys across the codebase.
2016-06-11 09:10:34 -07:00
Eklavya Sharma
d3b80d94a2
Use appropriate string types and correctly encode/decode them.
2016-06-11 17:34:23 +05:30
Eklavya Sharma
f18493f922
Add documentation about zerver/lib/str_utils.py.
2016-06-11 17:31:56 +05:30
Eklavya Sharma
6d29da8cee
Add zerver/lib/str_utils.py.
...
str_utils.py has functions for converting strings from one type to
another. It also has a TypeVar called NonBinaryStr, which is like AnyStr
except that it doesn't allow bytes.
2016-06-11 16:17:47 +05:30
Vishnu Ks
b926826ea1
Remove default_stream addition and deletion from update_stream_backend.
...
Default stream addition/removal is done via the /default_stream REST
endpoints.
2016-06-10 16:59:15 -07:00
Tim Abbott
7c80456321
Fix and re-enable test_file_upload_authed.
...
Now that we have a working S3 mock and an effective way to toggle the
upload backend that Zulip is using, we can re-enable this important
end-to-end test of the Zulip S3 upload backend.
2016-06-09 23:07:24 -07:00
rahuldeve
fa13582ffb
Serve uploaded files through get_uploaded_file in development.
...
Previously, uploaded files were served:
* With S3UploadBackend, via get_uploaded_file (redirects to S3)
* With LocalUploadBackend in production, via nginx directly
* With LocalUploadBackend in development, via Django's static file server
This changes that last case to use get_uploaded_file in development,
which is a key step towards being able to do proper access control
authorization.
Does not affect production.
2016-06-09 22:58:25 -07:00
Tim Abbott
719e5487b9
upload: Use classes to define S3/Local upload backends.
...
This has no functional changes; we just replace the old hacky
assignment of functions with assignment of the upload backend to a
variable.
I'm not totally happy with this, because we end up having to copy the
type annotations of the three methods 4 times each, but this should
make it a lot easier to test the (non-default-in-tests) S3 backend
using end-to-end tests, which would have caught
13bac1cc2a
.
I expect we'll iterate on the interface over time; ideally, I'd like
all the code that checks LOCAL_UPLOADS_DIR to be inside upload.py, and
primarily in these classes.
2016-06-09 22:45:03 -07:00
Tim Abbott
13bac1cc2a
Fix serving files uploaded to S3.
...
This was broken by the refactoring to realm_id_str in:
a261a6bbac
.
2016-06-09 21:55:50 -07:00
rahuldeve
3e3462da0d
Refactor zerver.lib.upload.upload_message_image_through_web_client.
...
upload_message_image_through_web_client -> upload_message_image_from_request
2016-06-09 21:09:12 -07:00
medullaskyline
39eaf02b40
Annotate zerver.views.webhooks.taiga.
2016-06-09 17:08:55 -07:00
Eklavya Sharma
286d23734a
zerver/lib/cache.py: Remove unneeded return statements.
2016-06-09 16:57:11 -07:00
Vishnu Ks
f9f31b79d0
Make default_streams web controllable.
...
Fixes : #665
2016-06-09 15:24:32 -07:00
rahuldeve
ed83bb7f54
Refactor zerver.views.upload.
2016-06-08 09:49:14 -07:00
rahuldeve
23ff717bee
Fix annotations: zerver.lib.upload.
2016-06-08 09:49:14 -07:00
Tim Abbott
e14732a12c
Remove unused test_beankstalk_message function.
2016-06-07 21:27:29 -07:00
Tomasz Kolek
2ac9c792f3
test_hooks: Use an incoming webhook bot for webhook tests.
2016-06-07 21:27:04 -07:00
Tomasz Kolek
999093b227
Add new is_incoming_webhook bot type.
...
This type of bot is only able to send messages via webhook endpoints.
2016-06-07 21:23:35 -07:00
Hyunchel Kim
b0702c62fc
Annotate zerver.views.messages partially.
2016-06-07 21:09:30 -07:00
Nathan Florea
6bcb6c3192
Removed some unused imports.
2016-06-07 18:13:58 -07:00
Nathan Florea
f11eee8b41
Remove redundant file open.
...
Calling open() with mode 'w' or 'a' will create a file if it doesn't exist,
while mode 'r' will cause an exception. This can be easily tested with:
python -c 'open("test.tmp", "w")'
ls test.tmp
2016-06-07 18:10:44 -07:00
Conrad Dean
fe2c352ac0
ClientDescriptor: Pass inline sets, not lists, to do_gc_event_queues.
...
This allows us to more precisely type do_gc_event_queues.
2016-06-07 13:28:45 -07:00
Conrad Dean
d77c70220c
send_event: Remove useless return value and annotate.
...
Detected by mypy.
[tweaked by tabbott to pass mypy check and remove annotations]
2016-06-07 13:27:40 -07:00
Conrad Dean
a4704ba8b2
event_queue: Fix deque values type annotation.
...
Event IDs in here are ints, as shown by the prune operation.
2016-06-07 13:05:46 -07:00
Umair Khan
5becd53414
Add tests for json_error and JsonableError.
2016-06-07 12:41:59 +05:00
Tim Abbott
bc2961d3ac
Refactor file upload routes to their own file.
2016-06-06 16:09:05 -07:00
Vishnu Ks
f3a8962612
Replace make_dict() with stream.to_dict().
2016-06-06 14:46:12 -07:00
Evan Palmer
8afeb7d8ce
Annotate webhooks/transifex.py, webhooks/yo.py.
2016-06-05 17:01:53 -07:00
Daw-Ran Liou
7f0709b65c
Annotate zerver.views.webhooks.freshdesk
...
Change the comments into docstrings.
Modified the return type of parse_freshdesk_event to always return a
list of str.
2016-06-05 15:56:27 -07:00
Dalek-Sec
c457f551ea
Annotate zerver/views/webhooks/crashlytics.py
2016-06-05 15:54:13 -07:00
medullaskyline
7e30de04ca
Annotate zerver.views.webhooks.pingdom.
2016-06-05 15:52:53 -07:00
medullaskyline
4c1da236ad
Annotate zerver.views.webhooks.pagerduty.
2016-06-05 15:47:33 -07:00
Daw-Ran Liou
4428287846
Annotate zerver.views.webhooks.stash.
2016-06-05 15:42:25 -07:00
Hyunchel Kim
b79cad0404
Annotate zerver.views.webhooks.teamcity
2016-06-05 15:11:45 -07:00
Daw-Ran Liou
26d067fc97
Annotate zerver.views.webhooks.pivotal.
2016-06-05 14:57:53 -07:00
medullaskyline
2369d48a9b
Annotate zerver.views.webhooks.newrelic.
2016-06-05 14:52:20 -07:00
Evan Palmer
4bf81b58b4
Annotate zerver/views/webhooks/zendesk.py.
2016-06-05 14:50:52 -07:00
Hyunchel Kim
de34dd1187
Annotate travis webhoook function.
2016-06-05 14:46:26 -07:00
medullaskyline
158914aa98
Annotate zerver.views.webhooks.jira.
2016-06-05 14:36:39 -07:00
Hyunchel Kim
bc87685ea6
bitbucket: Correct return type in annotation.
2016-06-05 14:33:31 -07:00
Daw-Ran Liou
70f44c00b0
check_send_message: Replace args/kwargs with explicit args.
...
This lets us actually type-checks the various views that are using
check_send_message.
2016-06-05 14:30:38 -07:00
Max
86fb6467e7
Add annotations to avatar.py, db.py, logging_util.py, unminify.py.
...
Also, fixed a a small type annotation in users.py because email must
be a string because emails don't support UTF-8 at this time (according
a comment in gravatar_hash in avatar.py).
2016-06-05 12:38:20 -07:00
medullaskyline
2855c285b4
Annotate zerver.forms.
2016-06-05 12:02:19 -07:00
Daw-Ran Liou
90a2dead46
Annotate zerver/views/webhooks/deskdotcom.py.
2016-06-05 11:53:44 -07:00
Deborah Hanus
a261a6bbac
Annotate zerver/views/__init__.py.
...
Also fix typing errors in a few related files.
[with tweaks from tabbott]
2016-06-05 11:34:19 -07:00
Daw-Ran Liou
c9bb93b0d2
Annotate zerver/views/webhooks/beanstalk.py.
2016-06-05 10:54:23 -07:00
Tim Abbott
15b2dd085e
Annotate zerver.lib.test_runner.
2016-06-04 23:23:31 -07:00
Tim Abbott
1ca7c3378b
Annotate zerver.lib.testing_mocks.
...
Also fix some annotations in bugdown to match.
2016-06-04 22:54:49 -07:00
Tim Abbott
157a3efb78
Annotate zerver.exceptions, zerver.filters, zerver.logging_handlers.
2016-06-04 22:51:18 -07:00
Conrad Dean
33dee43179
Annotate zerver/lib/socket.py.
...
Currently this uses a Union type for connection_id; we need to figure
out what actually sets that and what its type is and fix that later
(see https://github.com/zulip/zulip/issues/896 ).
2016-06-04 22:36:03 -07:00
Dalek-Sec
2bcf313a85
Added MyPy types to zerver/views/webhooks/codeship.py
2016-06-04 22:03:41 -07:00
medullaskyline
47c3ec1283
Annotate zerver.lib.upload.
2016-06-04 19:13:03 -07:00
Umair Khan
1bfe566c8d
[i18n] Make Json error messages translatable.
2016-06-04 18:48:36 -07:00
medullaskyline
c5f0d5b40a
Annotate zerver.middleware.
2016-06-04 18:32:06 -07:00
Tim Abbott
9c5f15e89b
models: Fix use of non-lazy ugettext at import time.
...
Was introduced in 03debdf82f
.
2016-06-04 17:46:03 -07:00
Daw-Ran Liou
0265968ea2
Annotate zerver/views/user_settings.
2016-06-04 17:41:59 -07:00
Reid Barton
cf93c8bce0
Annotate zerver/views/webhooks/bitbucket.py.
2016-06-04 17:02:59 -07:00
Daw-Ran Liou
8bbd93011d
Annotate zerver/views/users.py.
2016-06-04 17:00:53 -07:00
medullaskyline
fcdcccb5df
Annotate zerver.lib.digest.
2016-06-04 16:20:18 -07:00
Tim Abbott
d9d0515d3b
Add mypy bug number for check_redis type: ignore.
2016-06-04 16:11:18 -07:00
medullaskyline
7c2c7fb31c
Annotate zerver/lib/bulk_create.py.
2016-06-04 15:51:05 -07:00
Tomasz Kolek
8411b2e574
Add Crashlytics integration.
2016-06-04 15:18:42 -07:00
Tomasz Kolek
093e5a96d4
Add Transifex integration.
...
Fixes : #810 .
2016-06-04 14:52:57 -07:00
Max
04e2745136
Annotate debug.py, initial_password.py, narrow.py, response.py.
...
Also, fixed up the annotations for tornadoviews to better align with
how narrows was defined as `Iterable[Sequence[str]]` rather than
`List[Tuple[str, str]]`.
2016-06-04 12:56:36 -07:00
medullaskyline
7b2db95d02
Annotate zerver/lib/ccache.py.
2016-06-04 12:19:34 -07:00
Tim Abbott
6fba0879a4
Annotate much of the rest of zerver/tests.
2016-06-04 11:53:20 -07:00
Tim Abbott
27e9d3f06b
Annotate test_external and test_signup.
2016-06-04 11:53:20 -07:00
Tim Abbott
966375d74c
Annotate test_events, test_realm_emoji, test_uploads.
2016-06-04 11:53:20 -07:00
Tim Abbott
f1d58e767b
Annotate zerver/tests/test_subs.py.
...
This required a number of unique-related changes to test_helpers.
2016-06-04 11:53:10 -07:00
Tim Abbott
6f69053911
Annotate most of the rest of bugdown.
2016-06-04 11:35:29 -07:00
Max
c8dc033c3c
Annotate camo.py, mandrill_client.py, query.py, session_user.py
2016-06-04 11:28:42 -07:00
Tim Abbott
a1a27b1789
Annotate most Zulip management commands.
2016-06-04 10:12:06 -07:00
Tim Abbott
c2bea0fa08
zulip_finish: Remove useless return statement.
2016-06-04 10:06:31 -07:00
Tim Abbott
ac3989c114
models: Add most missing type annotations.
2016-06-04 00:03:54 -07:00
David Adamec
9e8ea93d3d
Add annotations for zerver/lib/validator.
2016-06-03 23:53:49 -07:00
David Adamec
4f3c85a20c
Add type annotations to zerver/lib/rest.
2016-06-03 23:48:46 -07:00
Conrad Dean
e7f0698884
Annotate zerver/lib/notifications.py.
2016-06-03 23:45:29 -07:00
Tim Abbott
7fd2956f29
clear_followup_emails_queue: Rename confusing local variable.
2016-06-03 23:45:29 -07:00
medullaskyline
cb84f72f2d
Annotate zerver/lib/html_diff.py.
2016-06-03 23:21:26 -07:00
Tim Abbott
2ec0114079
test_bugdown: Add tests for mentions.
2016-06-03 23:18:39 -07:00
Tim Abbott
cfff4f1d49
test_bugdown: Add a bugdown test for alert_words functionality.
2016-06-03 23:18:39 -07:00
Tim Abbott
8c757292cf
test_bugdown: Add test for nonmatching realm filters.
2016-06-03 23:18:39 -07:00
Tim Abbott
3a0eb01dda
test_messages: Fix huddle test failing when not on Internet.
2016-06-03 23:18:39 -07:00
Tim Abbott
e89730dc8f
subject_links: Remove useless RealmFilter.DoesNotExist case.
2016-06-03 23:18:39 -07:00
Tim Abbott
68fba3579d
test_bugdown: Add testing of subject_links feature.
2016-06-03 23:18:39 -07:00
gregmccoy
d77e8df3fa
Add tests for zerver/views/realm_emoji.py.
2016-06-03 23:12:53 -07:00
Tim Abbott
03debdf82f
Fix malformed error message when creating invalid Realm Emoji.
...
Thanks to Greg McCoy for his help finding this bug.
2016-06-03 23:12:36 -07:00
David Adamec
8ad20e9775
mypy type annotations for zerver/lib/utils
2016-06-03 22:58:15 -07:00
Tim Abbott
1552b9308b
Fix apnsclient import to match version 0.1.8 used in production.
...
Apparently, apnsclient moved Connection to a different module between
0.1.8 and 0.2.1.
2016-06-03 19:28:36 -07:00
Max
0f4673ae3b
Add type annotation to mention.py, redis_utils.py, timestamp.py, user_agent.py
...
Some functions in models.py had input typed as int when they needed to be typed as datetime.datetime
2016-06-03 19:00:16 -07:00
Max
1148f6ff8a
Rename timestamp kwarg in to_presence_dict to dt
...
It is not a timestamp, it is a datetime object. This is better ducktyping
2016-06-03 19:00:16 -07:00
Tim Abbott
654bd663aa
bugdown: Add annotations for a few more functions.
...
This resolves the issue with Typeshed #244 by making `upload_re` start
with `ur`.
2016-06-03 18:11:53 -07:00
Tim Abbott
f97b025a33
push_notifications: Fix incorrect Connection import.
2016-06-03 18:11:53 -07:00
medullaskyline
303bd21068
Annotate zserver.lib.push_notifications.
2016-06-03 17:45:54 -07:00
Oren Leaffer
2916fb30cb
bugdown: add some type annotations.
...
Had to add some "type: ignore" because the pattern used in match
doesn't affect the type returned. A fix for this issue has been pushed
to typeshed - https://github.com/python/typeshed/pull/244
2016-06-03 17:03:52 -07:00
medullaskyline
2213a9f41f
Annotate zerver/lib/cache_helpers.py
2016-06-03 16:34:30 -07:00
Conrad Dean
7f61a5e862
Add type annotations to zerver.lib.test_helpers.
2016-06-03 12:17:26 -07:00
Max
a6e60419c4
Add types to confirmation/views.py and zerver/tornadoviews.py
2016-06-03 11:26:30 -07:00
Vishnu Ks
4fd569f910
Change add_default_stream method from PATCH to PUT.
...
This is more consistent with our other routes.
2016-06-03 09:52:51 -07:00
Nathan Florea
04c71fadc6
More removal of mutable default arguments.
...
I've left a few that clearly aren't being passed and aren't being mutated, but
I think I've gotten the rest of them.
2016-06-03 09:17:04 -07:00
Nathan Florea
5fe9076631
Remove some mutable default arguments.
...
These ones don't fix any bugs, because the mutable arg is never passed
outside of the callable or mutated. But it's good practice to not use
them in case those invariants are changed in the future.
2016-06-03 09:16:56 -07:00
Ashish Kumar
9b990e3bd0
Type annotation of zerver/views/alert_words.
...
[Tweaked by tabbott to annotate the REQ variables the new way]
2016-06-03 08:07:58 -07:00
Ashish Kumar
31bf6b8259
Type annotation of zerver/models.py
...
[Substantially revised by tabbott]
This probably still has some bugs in it, but having mostly complete
annotations for models.py will help a lot for the annotations folks
are adding to other files.
2016-06-02 23:28:34 -07:00
Tim Abbott
37015fd7c5
Run mypy on zerver/lib/test_auth_backends.py.
2016-06-02 23:01:15 -07:00
Tim Abbott
8cef9675c8
Run mypy on zerver/lib/test_events.py.
2016-06-02 23:00:04 -07:00
Tim Abbott
e6d2b0cdbc
Run mypy on zerver/lib/test_unread.py.
2016-06-02 22:59:00 -07:00
Tim Abbott
f3b07ee9aa
Run mypy on zerver/lib/test_subs.py.
2016-06-02 22:57:07 -07:00
Oren Leaffer
c2ce5119c6
Annotate zerver.views.tutorial.
2016-06-02 18:49:27 -07:00
Rachel Kelly
df36216914
Change instances of 'coworkers' to 'users'.
...
In order to genericize use of Zulip outside companies,
all instances of coworkers have been changed to users.
NOTABLE EXCEPTION: When the Zulip instance is domain-
locked, the reference to coworkers remains. The reason
for this is twofold: first, the majority of Zulip instances
which require a particular domain will be locked to a
company, and second, the template variable for the domain
necessary should be added to the alert so it is clear
to the user what the domain needs to be for access.
Fixes : #861 .
2016-06-02 16:05:27 -07:00
Pei-Wei Wu
8d2733ae8c
Add mypy type annotations to zerver/views/streams.py.
2016-06-02 15:44:43 -07:00
Ashley Dunn
7826aa7e7f
Type annotation of zerver/views/realm_emoji.
2016-06-02 14:01:28 -07:00
Ashish Kumar
cad342aff6
Correct annotation of generic_bulk_cached_fetch in zerver/lib/cache.py.
...
Previously, object_ids was tagged as an int, but it is called from
models.py with a string, so we make it an Any.
2016-06-01 14:00:49 -07:00
Umair Khan
08fbd57245
[i18n] Make error messages translatable.
...
Make all strings passing through `json_error` and `JsonableError`
translatable.
Fixes #727
2016-05-31 07:40:42 -07:00
Tim Abbott
ab2d325a08
Update production default streams to be less engineering-centric.
2016-05-31 07:38:25 -07:00
Vishnu Ks
100d885f23
Change default announcement stream to announce.
...
Fixes #788 .
2016-05-31 07:38:07 -07:00
Tim Abbott
960144a49e
Desupport using uninstantiated REQ with has_request_variables.
...
This makes life difficult for doing static type annotations, and
didn't make the code look that much better anyway.
2016-05-31 07:31:15 -07:00
Tim Abbott
41336f3782
lint-all: Check for use of '== None'.
2016-05-31 07:02:04 -07:00
Umair Khan
9a57176ad6
Do shallow testing of backend templates.
...
Just render the templates without the actual workflow to see if they
don't return a 500 error; this lets us catch various classes of
template bugs automatically.
Fixes #784 .
2016-05-31 05:42:17 -07:00
Umair Khan
c884559ec6
Show templates rendered report.
...
Add two options to the `test-backend` script:
1. verbose
If given the `test-backend` script will give detailed output.
2. no-shallow
Default value is False. If given the `test-backend` script will
fail if it finds a template which is shallow tested.
2016-05-31 16:46:11 +05:00
Tomasz Kolek
8e144a1f57
Add zip and absoulte_import to pass py3k test.
2016-05-30 22:28:05 +02:00
Tim Abbott
baec0f12cf
Add a proper annotation for REQ in streams.py.
2016-05-30 11:41:16 -07:00
Reid Barton
8c6afac7cd
Add a stub file for request.py.
...
This stub file allows us to annotate view functions using the actual
types present in the bodies of the functions, rather than everything
having the type REQ.
2016-05-30 11:28:53 -07:00
Tim Abbott
572c69f3c2
Move REQ and friends to their own module.
2016-05-30 11:24:17 -07:00
Eklavya Sharma
48e7e1a2a1
zerver/lib/actions.py: Rename stream_name to stream.
...
In function bulk_add_subscriptions, some variables were named
`stream_name` but their type is Stream, not a string. Rename
those variables to `stream`.
2016-05-30 09:52:59 -07:00
Eklavya Sharma
94e4b39112
Replace python2.7 by python everywhere.
2016-05-29 05:03:08 -07:00
Eklavya Sharma
149938d468
Change shebangs from python2.7 to python.
2016-05-29 05:03:08 -07:00
Eklavya Sharma
1bb6a0db4c
Annotate zerver/lib/actions.py.
2016-05-29 04:26:17 -07:00
Eklavya Sharma
2308107805
zerver/lib/actions.py: Use unicode literals.
...
Convert some strings literals to unicode strings by prefixing with `u`.
2016-05-29 04:26:17 -07:00
Eklavya Sharma
b74f603682
zerver/lib/actions.py: Rename variables and add/edit comments.
2016-05-29 04:26:17 -07:00
Eklavya Sharma
efab224bd1
zerver/lib/actions.py: Remove unneeded `return {}` statements.
2016-05-29 04:26:17 -07:00
Eklavya Sharma
a2b48f05e5
zerver/lib/actions.py: Fix return values.
2016-05-29 04:26:17 -07:00
Eklavya Sharma
1ea6171179
Fix an annotation in zerver/lib/cache.py.
...
This is done to make annotations in zerver/lib/actions.py work correctly.
2016-05-25 15:11:48 -07:00
Eklavya Sharma
30892b2f99
Make makemessages.py pass mypy check.
2016-05-25 15:04:39 -07:00
Eklavya Sharma
1c04560def
Re-enable pyflakes in linter and remove python 3 pyflakes errors.
2016-05-25 19:25:13 +05:30
Eklavya Sharma
459c6640bf
Fix type annotations in zerver/lib/alert_words.py.
2016-05-24 14:12:11 -07:00
Eklavya Sharma
95d059bfb3
Fix typo in zerver/lib/actions.py.
2016-05-24 14:12:11 -07:00
Eklavya Sharma
508a080e08
do_change_bot_type: Add update_fields to user_profile.save().
2016-05-24 13:21:44 -07:00
Umair Khan
82b5d9304b
[third] Integrate i18next with Handlebars
2016-05-19 22:58:25 -07:00
Tomasz Kolek
8c18b8947f
Add bot_type field to UserProfile.
...
This is intended to support creating different types of bots with
potentially limited permissions.
2016-05-19 22:37:37 -07:00
Umair Khan
f9bbc5d6ff
Enable i18n support in URL configuration.
...
This supports i18n using all of the following:
- I18N urls
- Session
- Cookie
- HTTP header
2016-05-19 08:33:30 -07:00
Tim Abbott
b01196db86
to_log_dict: Add sender_id to logged fields.
2016-05-18 23:02:43 -07:00
Aristeidis Fkiaras
3ee210d9e8
Add setting to only allow admins create new streams.
...
Fixes : #691 .
Thanks to Preston Hansen for work on this feature!
2016-05-18 18:53:13 -07:00
Tim Abbott
e781136132
Fix subscribing to existing streams when can_create_streams=False.
...
Previously, a user with can_create_streams=False would be incorrectly
unable to subscribe to streams, whether the streams previously existed
or not.
2016-05-18 18:47:24 -07:00
Tomasz Kolek
c4254497b2
Add WebhookTestCase abstract class for writing webhook tests.
...
This cuts a ton of code duplication and semi-duplication between the
webhook tests, and thus should make it a lot easier to write new ones.
2016-05-18 14:37:31 -07:00
Eklavya Sharma
98afe000ee
Make zerver/lib/statistics.py pass mypy check.
2016-05-18 17:10:18 +05:30
Eklavya Sharma
0dcd8b387d
Make zerver/lib/bugdown/fenced_code.py pass mypy check.
2016-05-18 17:10:17 +05:30
Eklavya Sharma
46757f07bf
Make zerver/lib/actions.py pass mypy check.
2016-05-18 17:10:17 +05:30
Eklavya Sharma
16067b7013
Make zerver/views/webhooks/jira.py pass mypy check.
2016-05-18 17:10:17 +05:30
Tim Abbott
c3985520e5
webhooks: Remove unnecessary get_client imports.
2016-05-13 12:25:12 -07:00
Tomasz Kolek
db7ea8b484
Move getting client to api_key_only_webhook_view.
...
This decreases the amount of convention developers need to understand
in order to write a new webhook integration.
2016-05-13 12:22:38 -07:00
Umair Khan
dfc58b0ed0
Upgrade digest email templates to Jinja2.
...
Fixes : #780
2016-05-13 01:01:28 +05:00
Tomasz Kolek
eeeb4d0c92
Add CircleCI integration.
...
Fixes : #617 .
2016-05-11 21:17:37 -07:00
Tim Abbott
2409ac9b2f
cache: Add type annotations to active_*_dict_fields.
2016-05-10 11:48:03 -07:00
Tim Abbott
f2aee961e1
test_auth_backends: Fix unused variables.
2016-05-10 11:46:39 -07:00
Tim Abbott
92bec8cfea
Merge Zulip 1.3.12 security release.
2016-05-10 11:32:26 -07:00
Tim Abbott
9b65464b6b
logout_all_users: Add option to logout deactivated users.
2016-05-10 09:50:57 -07:00
Tim Abbott
393159bbd8
queue: Disable RabbitMQ heartbeat in BlockingConnection.
...
Fixes #741 .
2016-05-10 09:50:57 -07:00
Tim Abbott
d82e44ecd0
queue: Refactor Pika credentials code to be a bit cleaner.
2016-05-10 09:50:57 -07:00
Tim Abbott
620debc5fd
Change PrincipalError to return status code 403 by default.
2016-05-10 09:50:57 -07:00
Tim Abbott
85c64c9f93
zulip_login_required: Add checks for active users and realms.
...
Like the recent change blocking JSON endpoints for deactivated users
and users in deactivated realms, this change is a hardening
improvement. Those users should be unable to get an active session
anyway, but if somehow one is leaked, this means they won't be able to
access any user data.
2016-05-10 09:50:57 -07:00
Tim Abbott
be216506a9
Improve api_fetch_api_key error messages.
...
Previously, api_fetch_api_key would not give clear error messages if
password auth was disabled or the user's realm had been deactivated;
additionally, the account disabled error stopped triggering when we
moved the active account check into the auth decorators.
2016-05-10 09:50:57 -07:00
Tim Abbott
52ddd500f0
Add tests for authentication backends.
2016-05-10 09:50:57 -07:00
Tim Abbott
38c82083de
Add test suite for deactivated users.
2016-05-10 09:50:57 -07:00
Tim Abbott
df7466e893
Add test suite for deactivate realms.
2016-05-10 09:50:57 -07:00
Tim Abbott
76814f37a3
decorators: Block access to JSON endpoints for deactivated users.
...
While in theory users should be unable to get a valid session in order
to access these endpoints in the first place, this provides an extra
layer of hardering to prevent a deactivated user with a session from
accessing data via the old-style JSON API.
2016-05-10 09:50:57 -07:00
Tim Abbott
b28b3cd65c
CVE-2016-4427: Fix access by deactivated realms/users.
...
The security model for deactivated users (and users in deactivated
realms) being unable to access the service is intended to work via two
mechanisms:
* All active user sessions are deleted, and all login code paths
(where a user could get a new session) check whether the user (or
realm) is inactive before authorizing the request, preventing the
user from accessing the website and AJAX endpoints.
* All API code paths (which don't require a session) check whether the
user (and realm) are active.
However, this security model was not implemented correctly. In
particular, the check for whether a user has an active account in the
login process was done inside the login form's validators, which meant
that authentication mechanisms that did not use the login form
(e.g. Google and REMOTE_USER auth) could succeed in granting a session
even with an inactive account. The Zulip homepage would still fail to
load because the code for / includes an API call to Tornado authorized
by the user's token that would fail, but this mechanism could allow an
inactive user to access realm data or users to access data in a
deactivated realm.
This fixes the issue by adding explicit checks for inactive users and
inactive realms in all authentication backends (even those that were
already protected by the login form validator).
Mirror dummy users are already inactive, so we can remove the explicit
code around mirror dummy users.
The following commits add a complete set of tests for Zulip's inactive
user and realm security model.
2016-05-10 09:50:48 -07:00
Tim Abbott
b31ac1eca9
Fix users in deactivated realms sending webhook messages.
...
In a deactivated realm, webhooks would still successfully send
messages, since there was no check for whether the realm was active in
api_key_only_webhook_view.
2016-05-10 09:50:48 -07:00
Tim Abbott
9da73b22d3
assert_json_error_contains: Support passing a status code.
...
Previously this test helper function hardcoded 400.
2016-05-10 09:50:48 -07:00
Tim Abbott
3cde06ea33
Add support for setting HTTP status codes in JsonableError.
2016-05-10 09:50:48 -07:00
Tim Abbott
b4ccca300b
Add tests for whether API keys appear in initial state data.
2016-05-10 09:50:47 -07:00
Tim Abbott
07fc47f953
CVE-2016-4426: Fix non-admin users having access to all bot API keys.
...
Long ago, there was work on an experimental integration model where
every user in a realm would have administrative control over all bots,
with the goal of simplifying the process of setting up communally
administered bots for smaller teams. While that new model was never
fully implemented (and thus never setup as an option), an error in
that original implementation meant that the data on all bots in a
realm, including their API keys, was sent to the browsers of users via
the `realm_bots` variable in `page_params`. The data wasn't displayed
in the UI for non-admin users, but was available via e.g. the
javascript console.
This commit updates this behavior to only send sensitive bot data like
API keys to the owner of the bot (and realm admins).
We may in the future implement a model simplifying communally
administered integrations, but if we do that, those bots should be
limited in their capabilities (e.g. only able to send webhook
messages).
This bug has been present since Zulip was released as open source.
2016-05-10 09:50:02 -07:00
Tim Abbott
b869be9301
style: Use 'not in' consistently rather than `not foo in`.
2016-05-09 17:00:10 -07:00
Tim Abbott
43f167849b
queue: Disable RabbitMQ heartbeat in BlockingConnection.
...
Fixes #741 .
2016-05-09 10:23:28 -07:00
Tim Abbott
0c42fc2f8f
queue: Refactor Pika credentials code to be a bit cleaner.
2016-05-09 10:23:28 -07:00
Tim Abbott
0161d2fddd
Cleanup guardian-based complexity in get_realm_user_dicts.
...
The old code for this lookup was unnecessarily complicated because we
were working around Guardian, where the `is_realm_admin` check was
extremely expensive.
2016-05-09 10:12:35 -07:00
Tim Abbott
2a2cbd60c3
cache: Fix fragile active_bot_dicts_in_realm caching model.
...
The issue here is similar to that in the previous commit.
2016-05-09 10:12:35 -07:00
Tim Abbott
fbc7e977ac
cache: Fix fragile active_user_dicts_in_realm caching model.
...
Previously we relied on having two matching list of fields for the
get_active_user_dicts_in_realm, one in the actual code and the other
in the caching system. By unifying these lists to have a single
source, we eliminate a class of caching bugs we might otherwise
regularly introduce.
2016-05-09 10:12:35 -07:00
Tim Abbott
f02571202a
EventsRegisterTest: display full error diffs.
2016-05-09 10:12:35 -07:00
Umair Khan
5359e6b0d4
Convert Zulip to use Jinja2 templates.
...
This results in a substantial performance improvement for all of
Zulip's backend templates.
Changes in templates:
- Change `block.super` to `super()`.
- Remove `load` tag because Jinja2 doesn't support it.
- Use `minified_js()|safe` instead of `{% minified_js %}`.
- Use `compressed_css()|safe` instead of `{% compressed_css %}`.
- `forloop.first` -> `loop.first`.
- Use `{{ csrf_input }}` instead of `{% csrf_token %}`.
- Use `{# ... #}` instead of `{% comment %}`.
- Use `url()` instead of `{% url %}`.
- Use `_()` instead of `{% trans %}` because in Jinja `trans` is a block tag.
- Use `{% trans %}` instead of `{% blocktrans %}`.
- Use `{% raw %}` instead of `{% verbatim %}`.
Changes in tools:
- Check for `trans` block in `check-templates` instead of `blocktrans`
Changes in backend:
- Create custom `render_to_response` function which takes `request` objects
instead of `RequestContext` object. There are two reasons to do this:
1. `RequestContext` is not compatible with Jinja2
2. `RequestContext` in `render_to_response` is deprecated.
- Add Jinja2 related support files in zproject/jinja2 directory. It
includes a custom backend and a template renderer, compressors for js
and css and Jinja2 environment handler.
- Enable `slugify` and `pluralize` filters in Jinja2 environment.
Fixes #620 .
2016-05-09 09:55:18 -07:00
Preston Hansen
635828069f
Add feature to mark all in stream/topic as read with mouse.
...
Fixes #736 .
2016-05-08 09:02:46 -07:00
Tim Abbott
6139e8948a
travis: User REQ framework for extracting JSON payload.
2016-05-07 11:54:14 -07:00
Tim Abbott
678adc2048
webhooks: Use REQ more consistently in stream name parsing.
...
To avoid the potential for introducing regressions here, we carefully
pass a default to REQ or not based on how the existing webhook's
parsing code worked. In the longer term, we'll want to make the
behavior consistent.
2016-05-07 11:54:14 -07:00
Tomasz Kolek
c2de38239e
Add payload validation to has_request_variables and REQ tasks.
...
[with tweaks by tabbott]
2016-05-07 11:54:09 -07:00
Tim Abbott
c1a680e2a9
rate_limiter: Fix misplaced type annotation and cleanup code.
...
You don't put type annotations on return values.
2016-05-06 13:38:12 -07:00
Tim Abbott
4219a6779f
socket: Initialize client_id to None by default.
...
This fixes an exception where client_id was never set in an error code
path. It shouldn't be needed, but I think this makes the code clearer
and this will help in debugging the actual problem.
Related to #753 .
2016-05-05 14:49:26 -07:00
Tim Abbott
191201bd10
Fix unnecessary whitespace between % and (.
2016-05-04 14:22:52 -07:00
Tim Abbott
54022ac204
Fix unnecessary whitespace between , and ).
2016-05-04 14:16:53 -07:00
Tim Abbott
ae6037668a
test_runner: Add debugging tips for missing test modules.
2016-05-03 12:33:47 -07:00
Tim Abbott
bab267f332
test_runner: Improve error handling when importing test files.
...
The error message for a test file that doesn't import properly was
previously pretty difficult to understand and it wasn't clear how to
debug the issue.
2016-05-03 12:17:10 -07:00
rahuldeve
899bfb97ee
Add tests for managing uploads in S3.
2016-05-02 22:14:47 -07:00
rahuldeve
01fb6c77a2
Add test for managing files in Local Storage.
2016-05-02 22:14:47 -07:00
rahuldeve
dde832b158
Add Attachment model to keep track of uploads.
...
This commit adds the capability to keep track and remove uploaded
files. Unclaimed attachments are files that have been uploaded to the
server but are not referred in any messages. A management command to
remove old unclaimed files after a week is also included.
Tests for getting the file referred in messages are also included.
2016-05-02 22:14:47 -07:00
Tim Abbott
762a3188ee
Fix missing whitespace after # in comments.
2016-05-02 22:10:47 -07:00
Tim Abbott
d9e4968d6f
Increase maximum URL length for RealmEmoji to 1000.
...
The default of 200 was shorter than the Camo URLs use by Zulip.
2016-05-02 19:02:56 -07:00
Tim Abbott
5bd94c15c7
Use camo to avoid mixed content warnings when displaying emoji.
2016-05-02 17:21:31 -07:00
Tim Abbott
65207477c4
bugdown: Annotate emoji handleMatch function.
2016-05-02 17:01:09 -07:00
Tim Abbott
f06c8c7cc2
Update *.readthedocs.org => *.readthedocs.io.
...
ReadTheDocs has moved their hosting of user project websites to the
new readthedocs.io domain.
2016-04-29 16:00:08 -07:00
Tim Abbott
4644967afc
dropbox preview: Remove preview_fail.png error condition.
...
Since we don't have a stable way to get the Dropbox preview failure
image (and it was sorta a weird setup anyway), it seems best to just
remove the condition.
2016-04-29 15:40:52 -07:00
Tim Abbott
4be3c4afd6
Use mocks so we can re-enable Dropbox integration tests.
2016-04-29 15:27:43 -07:00
Ashish Kumar
31408d639e
Type annotation of zerver/lib/cache.py.
2016-04-29 14:43:48 -07:00
Ashish Kumar
48be2e33f8
Delete old route for /json/get_public_streams.
2016-04-29 12:57:57 -07:00
Ashish Kumar
b5ab4d45f9
Replace /json/get_public_streams with REST style route.
2016-04-29 12:57:57 -07:00
Tim Abbott
af4203b41b
Stop using initial password for newly activated users.
...
Previously we needed to use a specified password when activating a
formerly mirror dummy user, in order for that user to be able to
(re)set their password and login. Now that we have our own password
reset form, this is no longer required.
2016-04-28 14:28:09 -07:00
Tim Abbott
89d9060aab
Add logging for failures in password reset form.
...
This may be useful for monitoring abuse issues.
2016-04-28 14:28:09 -07:00
Tim Abbott
a0430c02ce
Allow users who haven't set a password to set one.
...
Previously, if a user had only authenticated via Google auth, they
would be unable to reset their password in order to set one (which is
needed to setup the mobile apps, for example).
2016-04-28 14:27:43 -07:00
Antek Grzanka
646ea3214a
Add Taiga integration.
2016-04-28 13:44:53 -07:00
Tim Abbott
755695d3c0
bugdown: Add type: ignore for fenced_code import.
...
This is a workaround to allow us to type-check files that depend on
this. Ideally in the future we'll fix the type errors in
fenced_code.py.
2016-04-28 12:50:47 -07:00
Tim Abbott
7a81524c97
event_queue: Fix import from wrong file.
2016-04-28 12:46:21 -07:00
Tim Abbott
3e5ad69ffc
Extract camo encoding to a library.
2016-04-27 22:23:40 -07:00
Tim Abbott
aebe7334a4
style: Fix missing :s between dict keys and values.
2016-04-27 22:23:40 -07:00
Tim Abbott
02ab03ec7a
MITNameTest: Mock network access from Hesiod lookups.
...
The purpose of these tests is to check the logic, not that DNS is
working on the relevant machine.
2016-04-27 22:23:40 -07:00
Tim Abbott
c9359bd75a
test_hooks: Fix missing assert_json_success checks.
...
Several recently merged webhooks were incorrectly not checking that
the actual webhook result didn't return an error. While they would
usually still fail in most cases when checking whether the message
came back correctly, this hid the root cause errors and thus made it
much harder to debug.
2016-04-27 13:25:21 -07:00
Tim Abbott
e6cfd917a5
Fix settings.RATE_LIMITING=False for webhooks.
...
We were incorrectly applying the rate limiting rules to webhooks even
if rate limiting was disabled (as in the test suite), causing test
failures when the total number of webhook tests in Zulip got too high.
2016-04-27 13:17:28 -07:00
Vladislav Manchev
f5e6176aea
Add custom realm emoji UI to administration page.
2016-04-26 13:15:54 -07:00
Tomasz Kolek
12fc4f047c
test_helpers: Create get_last_message helper.
2016-04-26 09:54:02 -07:00
Tomasz Kolek
5fbda3a9c1
Add codeship integration.
2016-04-26 09:54:01 -07:00
David Payne
8c62a27769
Add teamcity webhook integration.
...
This integration relies on the Teamcity "tcWebHooks" plugin which is
available at
https://netwolfuk.wordpress.com/category/teamcity/tcplugins/tcwebhooks/
It posts build fail and success notifications to a stream specified in
the webhook URL.
It uses the name of the build configuration as the topic.
For personal builds, it tries to map the Teamcity username to a Zulip
username, and sends a private message to that person.
2016-04-26 09:45:26 -07:00
Tomasz Kolek
c74483e69e
github_webhook: change double quotes to single quotes for consistency.
2016-04-21 17:04:25 -07:00
Tomasz Kolek
09e40b27c2
github_webhook: throw an exception on unhandled events types.
2016-04-21 17:03:58 -07:00
Tomasz Kolek
fafc9cb742
github_webhook: remove redundant parenthesis.
2016-04-21 17:02:49 -07:00
Tomasz Kolek
43b0cfaebc
github_webhook: Use more one-line pythonic assignments.
2016-04-21 17:00:47 -07:00
Tomasz Kolek
decb686255
github_webhook: factor out is_test_repository function.
2016-04-21 16:57:19 -07:00
Tomasz Kolek
e1079d8475
github_webhook: extract the constants to the top of the file.
2016-04-21 16:56:44 -07:00
Tim Abbott
ae047f8551
Fix slightly ugly login page URL of /login?next=/.
2016-04-21 14:59:39 -07:00
Tim Abbott
8a278cbe3a
Switch to using a Zulip version of @login_required.
...
Currently the code is the unmodified Django upstream implementation;
this commit is preparation for modifying it.
2016-04-21 14:59:39 -07:00
Tim Abbott
d9dba5d2c2
deactivate_realm: Improve error handling for unknown realm.
2016-04-21 09:02:00 -07:00
Tim Abbott
c2237c60c0
deactivate_realm: Fix help string.
2016-04-21 09:02:00 -07:00
Tim Abbott
d890011442
Add a script to reactivated deactivated realms.
2016-04-21 09:02:00 -07:00
Tim Abbott
79297898f1
Remove obsolete AppleDeviceToken model.
2016-04-20 21:51:52 -07:00
Tim Abbott
49799440a4
Replace use of django-guardian with fields on UserProfile.
...
As documented in https://github.com/zulip/zulip/issues/441 , Guardian
has quite poor performance, and in fact almost 50% of the time spent
running the Zulip backend test suite on my laptop was inside Guardian.
As part of this migration, we also clean up the old API_SUPER_USERS
variable used to mark EMAIL_GATEWAY_BOT as an API super user; now that
permission is managed entirely via the database.
When rebasing past this commit, developers will need to do a
`manage.py migrate` in order to apply the migration changes before the
server will run again.
We can't yet remove Guardian from INSTALLED_APPS, requirements.txt,
etc. in this release, because otherwise the reverse migration won't
work.
Fixes #441 .
2016-04-20 21:51:52 -07:00
Tim Abbott
28d1a3105c
models: Add a __repr__ for Client.
2016-04-20 15:26:51 -07:00
Tim Abbott
552caf661a
Caching: Fix 'update_fields' not being present in .delete()
2016-04-20 15:12:53 -07:00
Tim Abbott
a72385246e
Fix missing whitespace after '=' in python/js code.
2016-04-20 11:36:14 -07:00
David Payne
ece96ef3fe
Jira's "issue created" message should @-notify the assignee.
2016-04-20 10:54:30 -07:00
Tomasz Kolek
82f1cdb085
Add send_webhook_fixture_message command.
...
This tool simplifies the process of producing nice screenshots for
documenting webhook integrations.
Fixes #658 .
2016-04-20 10:45:27 -07:00
Eklavya Sharma
c7a93cba22
Add tests for checking image validity in SetAvatarTest.
2016-04-20 12:27:23 +05:30
Eklavya Sharma
af7c3de5f5
Add SetAvatarTest to test_upload.py.
...
Test multiple file uploads for /json/set_avatar.
Test no file upload for /json/set_avatar.
Add test images for SetAvatarTest.
2016-04-20 12:23:22 +05:30
Eklavya Sharma
126273b1e7
Add a test for local file uploads.
2016-04-20 12:00:13 +05:30
Eklavya Sharma
4e18d856e3
Prevent 500 error when user uploads invalid avatar.
...
When uploaded avatar image is not a valid image file, PIL raises
IOError. Catch the IOError raised by PIL and raise JsonableError.
This will return a response with status code 400.
2016-04-20 12:00:13 +05:30
Eklavya Sharma
2d60a1d0f3
Move upload-related tests to test_upload.py.
...
Move S3Test, FileUploadTest and SanitizeNameTests from
test_external.py to test_upload.py.
2016-04-19 16:48:30 -07:00
Tim Abbott
78febc3abb
Fix missing newlines at end of .txt files.
2016-04-14 14:36:29 -07:00
Tim Abbott
5195d1ecb7
Fix missing newlines at ends of JSON files.
2016-04-14 10:48:52 -07:00
Tim Abbott
1bf11f6b7f
Split FileUploadTest out of S3Test.
...
S3Test is now only the S3-specific test (which isn't even run), so we
can now invest in making FileUploadTest have good coverage of the
(local) file upload code paths.
2016-04-14 10:35:10 -07:00
Tim Abbott
26463bb34d
Fix nondeterministic subscriptions for default test users.
...
Previously, the UserProfile objects were created in the order
generated by a Set, which meant tests would randomly start failing if
the code that runs before this part of populate_db changed (and thus
caused the Set object used to pass users into bulk_create_users to
have a different order when enumerated).
This fixes the issue in two ways -- one by sorting the users inside
bulk_create_users, and second by attaching subscriptions to users
based on a deterministic ordering.
2016-04-13 13:19:02 -07:00
Tim Abbott
f6edc21981
Change stream used in test_get_old_messages_with_only_searching_anchor.
...
This prevents this test from breaking when in a few commits we fix a
nondeterminism issue in the populate_db test fixtures.
2016-04-13 13:19:02 -07:00
Tim Abbott
ffccb572f0
Don't autoreload Tornado when running inside test suite.
...
The restarted Tornado processes seemed to escape the process group and
thus continue running after run-dev.py finished.
While we're at it, we don't need to dump/reload event queues in the
test suite either.
2016-04-13 13:19:01 -07:00
Tim Abbott
47879c5e00
Fix nondeterminism in test_successful_subscriptions_add.
...
Previously this test would fail if the streams list generated by
populate_db contained more than 2 streams.
2016-04-13 13:18:24 -07:00
Tim Abbott
fb55fcef1e
Fix missing zerver/tests/__init__.py.
2016-04-11 22:34:22 -07:00
Tim Abbott
be96cf809d
Move Zulip backend tests to zerver.tests.
2016-04-11 22:16:09 -07:00
Ashish
1bf644369f
Delete old route for json/update_active_status.
2016-04-11 21:38:23 -07:00
Ashish
78b9f45bf7
Delete old route for json/update_pointer.
2016-04-11 21:38:23 -07:00