Michael J. Sullivan
d5ee801d60
mypy: Set local_partial_types = True.
...
The daemon implicitly sets this flag, so set it explicitly and fix all
of the type errors.
2018-05-21 22:41:00 -07:00
Tim Abbott
80a331385e
push_notifications: Fix missing mypy annotation.
2018-05-21 11:39:58 -07:00
Tim Abbott
cec7686f3d
push notifications: Clean up unregistered/bad APNS tokens.
...
We've had this sort of logic for GCM for a long time; it's worth
adding for APNS as well.
Writing this is a bit of a reminder that I'm not a fan of how our unit
tests for push notifications work.
2018-05-21 11:30:56 -07:00
Tim Abbott
c6909fb99c
migration_tests: Document the migration test framework.
2018-05-21 09:59:55 -07:00
Aditya Bansal
0767a5b955
test_classes: Add class MigrationsTestCase for writing migration tests.
...
The MigrationsTestCase class is based on this blog post:
https://www.caktusgroup.com/blog/2016/02/02/writing-unit-tests-django-migrations/
It provides a basic framework for writing unit tests for django
db migrations.
2018-05-21 09:46:37 -07:00
Aditya Bansal
a85576149d
test_helpers: Add use_db_models decorator.
...
This is somewhat messy, but it's purpose is to make it easy to write
tests in test_migrations.py.
2018-05-21 09:46:24 -07:00
Tim Abbott
43ec7ed456
narrow: Add is_web_public_compatible check for narrows.
...
This will be used to limit which narrows will be allowed for
web-public browsing of Zulip.
2018-05-21 08:45:48 -07:00
Tim Abbott
6cbe9890aa
embedded bots: Use get_active_user helper to look up users.
...
This should have no effect, but is part of a larger effort to avoid
using get_user (not get_active_user) unless we actually want inactive
users.
2018-05-20 20:04:16 -07:00
Tim Abbott
e7fa77f120
validate_email_for_realm: Clarify errors for deactivated users.
...
If a user's account has been deactivated, we want to provide a special
error message that makes clear what's going on.
Future work is to provide some administrative controls on whether a
user should be able to re-activate their account.
2018-05-20 19:32:53 -07:00
Tim Abbott
9360af37d4
typing: Remove unnecessary conditional for recipient types.
...
It wasn't actually possible for `recipient_for_emails` to return a
STREAM regardless, and this makes things read a little clearer.
2018-05-20 18:35:48 -07:00
Tim Abbott
ecdc7fb296
typing: Fix unnecessary else clause for recipient validation.
...
The other cases all return anyway.
2018-05-20 18:27:25 -07:00
Joshua Pan
afe09071b9
slash-commands: Implement /day and /night.
2018-05-20 14:42:09 -07:00
Joshua Pan
bdba539480
Rename get_fixed_content_for_widget to do_widget_pre_save_actions.
2018-05-20 14:42:09 -07:00
Sampriti Panda
d94202c662
notifications: Add consistent order for sending email notifications.
...
Notification emails are sent in increasing order of the max message-id
of the unread message thread.
2018-05-20 10:19:13 -07:00
Tim Abbott
3006b3f52f
url_preview: Fix crash when description has no content.
...
There's several things we'll want to cleanup with this feature, but
for now we're content to just make this not crash.
2018-05-17 12:40:43 -07:00
jkiely
058ee1ce1e
mypy: Enable strict optional on lib/soft_deactivation.
...
Tweaked by tabbott to add assert statements, rather than new
conditionals.
2018-05-17 12:13:53 -07:00
jkiely
104fdd8bf9
mypy: enable strict optional for lib/message.
...
Add assert in order to pass checks under strict conditions.
2018-05-17 11:12:08 -07:00
jkiely
04c50cffa7
mypy: Enable strict optional in zerver/lib/bugdown.
...
Explicitly check for none in optional value and set it to a dict.
2018-05-17 11:12:01 -07:00
jkiely
b3d43df498
mypy: Enable strict optional for lib/exceptions.
...
Change return type of reduce_ex to pass under stricter conditions.
2018-05-17 11:11:58 -07:00
jkiely
ca3ce90496
mypy: Enable strict optional in lib/avatar.py.
...
Add assert to function and modify tests in order to pass under
strict conditions.
2018-05-17 11:11:55 -07:00
jkiely
a1b5e7d6d5
mypy: Enable strict optional in lib/events.
...
Modify one variable assignment to pass under strict conditions.
2018-05-17 11:11:53 -07:00
jkiely
ad065fde29
mypy: Enable strict optional for lib/notifications.
...
Modify fix_emojis function to pass under strict conditions.
2018-05-17 11:11:49 -07:00
Vishnu Ks
372e9740ac
events: Add date_joined to user_dict.
2018-05-17 07:49:35 -07:00
Steve Howell
8812dba57e
Add server-side widget support for poll/tictactoe.
2018-05-16 15:13:33 -07:00
Steve Howell
1f0ffdc415
Add widget.py to enable widgets on the server side.
...
The only slash command implemented in this initial
version is an extremely crippled version of a
"/stats" slash command that reports that you are
running 1 server.
2018-05-16 15:13:33 -07:00
Steve Howell
de47eeb6f1
Add /submessage endpoint.
2018-05-16 15:13:33 -07:00
Steve Howell
4332fd64f7
Add submessages to message payloads.
2018-05-16 15:13:33 -07:00
Shubham Padia
4d70d032bc
populate_db: Make is_web_public default to False.
...
Explicit mentions of `is_web_public` as False in the stream dict to be
passed to `bulk_create_streams` have been removed.
2018-05-16 13:40:22 -07:00
Shubham Padia
315047a38b
populate_db: Make invite_only default to False.
...
Explicit mentions of `invite_only` as False in the stream dict to be
passed to `bulk_create_streams` have been removed.
2018-05-16 13:40:10 -07:00
Shubham Padia
7b4f6e0058
tests: Make is_announcement_only true for `announce` stream in populate_db.
...
Makes announce stream `is_announcement_only` for the dev db for easier
manual testing. The default value for `is_announcement_only` in
`bulk_create_streams` is False.
2018-05-16 13:35:45 -07:00
Tim Abbott
f0ef335412
models: Remove unused ModelReprMixin class.
...
It appeared to be used as a base class in various Django migrations,
but because it didn't define any model fields, it wasn't actually.
2018-05-15 19:11:22 -07:00
Tim Abbott
351fab204b
str_utils: Move force_bytes into ccache.py.
...
This is only used there, and so belongs in that bundle of
barely-maintained code.
2018-05-15 19:07:32 -07:00
Tim Abbott
c46149efcb
migrate: Remove obsolete act_on_message_ranges.
...
This has a cool structure, but it's written against the long-dead
South API, and we can always pull it out of the Git history if we want
to use this approach in the future.
2018-05-15 17:19:14 -07:00
Tim Abbott
16d807d157
Revert "test_helpers: Fix a nonexistent import."
...
This reverts commit fa18913b8b
.
We fix the typo when doing this, though.
2018-05-15 16:08:29 -07:00
Greg Price
fa18913b8b
test_helpers: Fix a nonexistent import.
...
This module doesn't exist, and never did; the name appears to be a
mistaken variant of the module that really does contain ZulipTestCase.
So, fix the import to use the real name.
This would never have worked at runtime, which is why it's in an
`if False:`. It's also an example of the kind of error that can be
hidden by `ignore_missing_imports`; we'd have caught the issue
immediately if we hadn't had a blanket application of that flag
in place.
2018-05-15 18:14:33 -04:00
Eeshan Garg
f29b9f14fd
integrations: Update docs for git and codebase.
...
Doing both as once due to the common dependency on
change-zulip-config-file-indented.md.
2018-05-15 18:02:56 -04:00
Tim Abbott
31ce382e71
coverage: Disable coverage checking for exceptions.py.
...
We also take the opportunity to slightly improve the errors if
AbstractEnum ever gets used.
2018-05-15 13:57:40 -07:00
Tim Abbott
191e6dc13a
create_user: Remove user_profile_id option.
...
This hasn't been used in years, had no test coverage, and doesn't have
a clear use case.
2018-05-15 13:51:56 -07:00
=
e731aeda44
zerver: Remove dead code from do_change_password.
2018-05-15 13:39:53 -07:00
=
9d07faaf0c
zerver: Remove dead code from do_create_realm.
2018-05-15 13:39:53 -07:00
=
344d6544da
zerver: Remove dead code for accessing subscribers.
...
These haven't been used in years, and clutter the codebase.
2018-05-15 13:39:39 -07:00
Baron Chandler
f59adfa67c
actions: Change do_change_is_admin Exception to an Assertion Error.
...
- do_change_is_admin now raises AssertionError when a non-admin
permission is given.
- adds test to test_users to ensure admin asserts on invalid
permission values.
2018-05-15 11:27:01 -07:00
Yago González
f9f8d9c578
bugdown: Parse argument JSON files as streams.
2018-05-15 11:05:03 -07:00
RobbieClarken
f81b936727
zerver/tests: Require 100% test coverage of zerver/lib/upload.py.
...
The last line here is impossible to test.
Fixes #4489 .
2018-05-15 10:52:20 -07:00
Joshua Pan
df84e1d7eb
tests: Reach 100% coverage for zerver/liv/management.py.
...
Cleaned up add_user_list_args(). The "help" and
"all_users_help" have all default values. As noted in
an earlier commit, "all_users_help" is always passed in,
so we can get rid of "all_users_arg". We keep the default
for "all_users_help" so we don't have to change variable order
in function definition.
2018-05-14 10:46:21 -07:00
Joshua Pan
ef098d2223
management: Remove the parameter required from add_user_list_args.
...
We remove an unecessary "required" paramter from this function
because as seen in the get_users() function right below, you have
to pass either -u/--users or -a/--all-users, meaning there should
never be a reason to require --users.
2018-05-14 10:46:21 -07:00
Joshua Pan
231b487bca
tests: Cover check_config() in zerver/lib/management.py.
...
Add a comment to code to clarify what the config check does.
2018-05-14 10:46:21 -07:00
Tim Abbott
726017f682
actions: Remove dead do_change_bot_type function.
...
This is a tiny fraction of a feature we don't support, so we should
just kill it.
2018-05-13 17:58:49 -07:00
Tim Abbott
8b09118009
actions: Rename pick_color_helper to pick_color.
...
Now that there's only one function here, it's weird to have the
unnecessary _helper suffix.
2018-05-13 17:52:36 -07:00
Tim Abbott
234b5fa21b
actions: Remove dead pick_color function.
...
We've been using pick_color_helper only for a long time.
2018-05-13 17:52:04 -07:00