zulip/zerver/lib
Aditya Bansal 872e8c1d7b test_fixtures: Fix bug with run_db_migrations for test platform.
In this commit we are fixing a kinda serious un-noticed bug with
the way run_db_migrations worked for test db.
Basically run_db_migrations runs new migrations on db (dev or test).
When we talk about the dev platform this process is straight forward.
We have a single DB zulip which was once created and now has some data.
Introduction of new migration causes a schema change or does something
else but bottom line being we just migrate the zulip DB and stuff works
fine.

Now coming to zulip test db (zulip_test) situation is a bit complex
in comparision to dev db. Basically this is because we make use of
what we call zulip_test_template to make test fixture restoration
after tests run fast. Now before we introduced the performance
optimisation of just doing migrations when possible, introduction of
a migration would ideally result in provisioning do a full rebuild of
the test database. When that used to happen sequence of events used to
be something like this:
* Create a zulip_test db from zulip_test_base template (An absolute
basic schema holding)
* Migrate and populate the zulip_test db.
* Create/Re-create zulip_test_template from the latest zulip_test.

Now after we introduced just do migrations instead of full db rebuild
when possible, what used to happen was that zulip_test db got
successfully migrated but when test suites would run they would try to
create zulip_test from zulip_test_template (so that individual tests
don't affect each other on db level).
This is where the problem resides; zulip_test_template wasn't migrated
and we just scrapped zulip_test and re-created it using
zulip_test_template as a template and hence zulip_test will not hold the
latest schema.

This is what we fix in this commit.
2018-07-09 14:17:53 +05:30
..
bugdown Enable pycodestyle W605 (invalid escape sequence). 2018-07-03 16:54:46 +02:00
url_preview mypy: Improve typing of oembed data, to Dict[str, Any]. 2018-06-19 10:48:38 -07:00
webhooks webhooks: Add generic exception for unexpected webhook events. 2018-05-22 08:30:19 -07:00
__init__.py
actions.py Enable pycodestyle W605 (invalid escape sequence). 2018-07-03 16:54:46 +02:00
addressee.py address: Remove dead msg_type function. 2018-05-13 17:47:21 -07:00
alert_words.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
api_test_helpers.py api docs: Migrate POST /users/me/subscriptions to OpenAPI. 2018-07-03 20:15:34 +02:00
attachments.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:56:40 -08:00
avatar.py mypy: Enable strict optional in lib/avatar.py. 2018-05-17 11:11:55 -07:00
avatar_hash.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
bot_config.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
bot_lib.py embedded bots: Use get_active_user helper to look up users. 2018-05-20 20:04:16 -07:00
bot_storage.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
bulk_create.py populate_db: Make is_web_public default to False. 2018-05-16 13:40:22 -07:00
cache.py streams: Handle guest user ids for stream settings changes' events. 2018-06-04 11:35:37 -07:00
cache_helpers.py zerver/lib: Change use of typing.Text to str. 2018-05-12 15:22:39 -07:00
camo.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
ccache.py str_utils: Move force_bytes into ccache.py. 2018-05-15 19:07:32 -07:00
context_managers.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:45:52 -08:00
create_user.py signup: Copy enter_sends value when importing settings. 2018-06-16 08:50:49 -07:00
db.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
debug.py mypy: Set local_partial_types = True. 2018-05-21 22:41:00 -07:00
digest.py digest: Make newly registered users data inaccessible to guest users. 2018-06-03 09:30:59 -07:00
domains.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
email_mirror.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
emoji.py Enable pycodestyle W605 (invalid escape sequence). 2018-07-03 16:54:46 +02:00
error_notify.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
events.py invite: Make inviting new users inaccessible for guest users. 2018-06-16 06:33:13 -07:00
exceptions.py webhooks: Add generic exception for unexpected webhook events. 2018-05-22 08:30:19 -07:00
export.py export: Add variable MESSAGE_BATCH_CHUNK_SIZE in export.py. 2018-07-01 07:08:13 -07:00
feedback.py zerver/lib: Change use of typing.Text to str. 2018-05-12 15:22:39 -07:00
fix_unreads.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
generate_test_data.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
hotspots.py signup: Copy hotspots when importing settings. 2018-06-16 08:50:49 -07:00
html_diff.py mypy: Remove type: ignores that are unnecessary with new mypy. 2017-11-25 10:06:28 -08:00
i18n.py i18n: Pass translation data in page_params. 2018-05-30 08:57:26 -07:00
import_realm.py import: 'processing_emojis' and 'processing_avatars' should now be True together. 2018-06-18 23:06:09 +05:30
initial_password.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
integrations.py webhooks: Add Clubhouse integration. 2018-07-01 04:01:17 -07:00
json_encoder_for_html.py mypy: Fix annotations for json_encoder_for_html. 2017-11-22 01:32:46 -08:00
logging_util.py settings: Fix double negative in LOGGING_NOT_DISABLED. 2018-03-21 18:03:05 -07:00
management.py tests: Reach 100% coverage for zerver/liv/management.py. 2018-05-14 10:46:21 -07:00
mdiff.py mypy: Amend diff_strings to return str or raise DiffException. 2018-02-13 11:40:51 -08:00
mention.py zerver/lib: Change use of typing.Text to str. 2018-05-12 15:22:39 -07:00
message.py message: Do future-proofing for public streams with private history. 2018-05-28 12:25:57 -07:00
migrate.py migrate: Add do_batch_update method for running batch updates. 2018-05-31 13:00:34 -07:00
mobile_auth_otp.py zerver/lib/mobile_auth_otp: Sweep force_str. 2017-12-26 09:09:31 -05:00
name_restrictions.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
narrow.py narrow: Add is_web_public_compatible check for narrows. 2018-05-21 08:45:48 -07:00
notifications.py Enable pycodestyle W605 (invalid escape sequence). 2018-07-03 16:54:46 +02:00
onboarding.py create_realm_internal_bots: Refactor to extract main op as a function. 2018-05-23 11:53:22 +05:30
openapi.py api docs: Add missing space in exception's message. 2018-07-03 20:11:05 +02:00
outgoing_webhook.py outgoing webhooks: Send additional useful data. 2018-05-25 10:33:40 -07:00
parallel.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
profile.py mypy: Improve typing to profile.py & remove FuncT from decorator.py. 2017-10-29 17:10:13 -07:00
push_notifications.py Enable pycodestyle W605 (invalid escape sequence). 2018-07-03 16:54:46 +02:00
queue.py mypy: Remove some now-unnecessary type: ignores. 2018-03-28 10:39:05 -07:00
rate_limiter.py zerver/lib: Change use of typing.Text to str. 2018-05-12 15:22:39 -07:00
realm_icon.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
redis_utils.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
request.py request: Add new str_validator validator type. 2018-05-03 21:11:02 -07:00
request.pyi request.pyi: Remove unused import of typing.Text. 2018-05-14 05:16:22 +05:30
response.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
rest.py uploads: Add new way of querying for mobile uploads endpoint. 2018-04-13 17:51:45 -07:00
retention.py zerver/lib: Use python 3 syntax for typing. 2017-11-28 17:15:14 -08:00
send_email.py send_email: Add function to generate tokenized noreply in FromAddress. 2018-06-23 12:03:30 -07:00
sessions.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
slack_data_to_zulip_data.py export: Add variable MESSAGE_BATCH_CHUNK_SIZE in export.py. 2018-07-01 07:08:13 -07:00
slack_message_conversion.py slack import: Add support for bold-italics formatting. 2018-06-02 09:01:55 -07:00
soft_deactivation.py mypy: Enable strict optional on lib/soft_deactivation. 2018-05-17 12:13:53 -07:00
sqlalchemy_utils.py mypy: Set local_partial_types = True. 2018-05-21 22:41:00 -07:00
statistics.py zerver/lib: Use Python 3 syntax for typing for several files. 2017-11-28 17:02:24 -08:00
storage.py storage: Don't double-minify webpack bundles. 2018-06-03 16:49:59 -07:00
str_utils.py models: Remove unused ModelReprMixin class. 2018-05-15 19:11:22 -07:00
stream_recipient.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
stream_subscription.py Mypy: Use models.py QuerySet annotation approach in stream_subscription.py. 2018-03-15 12:54:43 -07:00
stream_topic.py zerver/lib: Change use of typing.Text to str. 2018-05-12 15:22:39 -07:00
streams.py zerver/lib: Change use of typing.Text to str. 2018-05-12 15:22:39 -07:00
subdomains.py Enable pycodestyle W605 (invalid escape sequence). 2018-07-03 16:54:46 +02:00
test_classes.py Enable pycodestyle W605 (invalid escape sequence). 2018-07-03 16:54:46 +02:00
test_data.source.txt test_data.source.txt: Replace postmodernism generator text with a play. 2017-08-23 13:00:39 -07:00
test_fixtures.py test_fixtures: Fix bug with run_db_migrations for test platform. 2018-07-09 14:17:53 +05:30
test_helpers.py registration: Allow users to import profile picture. 2018-06-06 13:29:42 -07:00
test_runner.py zerver/lib: Change use of typing.Text to str. 2018-05-12 15:22:39 -07:00
tex.py Enable pycodestyle W605 (invalid escape sequence). 2018-07-03 16:54:46 +02:00
timeout.py mypy: Add assertion in timeout.py. 2018-04-25 08:58:55 -07:00
timestamp.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
timezone.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
topic_mutes.py zerver/lib: Change use of typing.Text to str. 2018-05-12 15:22:39 -07:00
type_debug.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
types.py custom fields: Allow list of users in user type of custom fields. 2018-06-16 09:37:49 -07:00
unminify.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
upload.py Enable pycodestyle W605 (invalid escape sequence). 2018-07-03 16:54:46 +02:00
user_agent.py tests: Move zerver/fixtures to zerver/tests/fixtures for clarity. 2018-04-19 21:50:17 -07:00
user_groups.py zerver/lib: Change use of typing.Text to str. 2018-05-10 14:19:49 -07:00
users.py signup: Create get_accounts_for_email function. 2018-06-19 11:25:23 -07:00
utils.py zerver/lib: Change use of typing.Text to str. 2018-05-12 15:22:39 -07:00
validator.py requirements: Upgrade pyflakes to 2.0.0. 2018-05-24 11:31:36 -07:00
widget.py widgets: Add question for poll widget in the message itself. 2018-07-01 19:56:19 -04:00
zcommand.py zcommand: Raise error when command doesn't begin with a slash. 2018-07-01 20:32:36 -04:00