Changeset View
Changeset View
Standalone View
Standalone View
swh/web/save_code_now/tests/test_migrations.py
# Copyright (C) 2021 The Software Heritage developers | # Copyright (C) 2021-2022 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU General Public License version 3, or any later version | # License: GNU General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
APP_NAME = "swh_web_save_code_now" | APP_NAME = "swh_web_save_code_now" | ||||
MIGRATION_0008 = "0008_save-code-now_indexes_20210106_1327" | MIGRATION_0008 = "0008_save-code-now_indexes_20210106_1327" | ||||
MIGRATION_0009 = "0009_saveoriginrequest_visit_status" | MIGRATION_0009 = "0009_saveoriginrequest_visit_status" | ||||
MIGRATION_0010 = "0010_saveoriginrequest_user_id" | MIGRATION_0010 = "0010_saveoriginrequest_user_id" | ||||
MIGRATION_0011 = "0011_saveoriginrequest_user_ids" | MIGRATION_0011 = "0011_saveoriginrequest_user_ids" | ||||
MIGRATION_0012 = "0012_saveoriginrequest_note" | MIGRATION_0012 = "0012_saveoriginrequest_note" | ||||
MIGRATION_0013 = "0013_saveoriginrequest_webhook_info" | |||||
def test_migrations_09_add_visit_status_to_sor_model(migrator): | def test_migrations_09_add_visit_status_to_sor_model(migrator): | ||||
"""Ensures the migration adds the visit_status field to SaveOriginRequest table""" | """Ensures the migration adds the visit_status field to SaveOriginRequest table""" | ||||
old_state = migrator.apply_initial_migration( | old_state = migrator.apply_initial_migration( | ||||
(APP_NAME, MIGRATION_0008), | (APP_NAME, MIGRATION_0008), | ||||
) | ) | ||||
Show All 32 Lines | def test_migrations_12_add_note_to_sor_model(migrator): | ||||
old_model = old_state.apps.get_model(APP_NAME, "SaveOriginRequest") | old_model = old_state.apps.get_model(APP_NAME, "SaveOriginRequest") | ||||
assert hasattr(old_model, "note") is False | assert hasattr(old_model, "note") is False | ||||
new_state = migrator.apply_tested_migration((APP_NAME, MIGRATION_0012)) | new_state = migrator.apply_tested_migration((APP_NAME, MIGRATION_0012)) | ||||
new_model = new_state.apps.get_model(APP_NAME, "SaveOriginRequest") | new_model = new_state.apps.get_model(APP_NAME, "SaveOriginRequest") | ||||
assert hasattr(new_model, "note") is True | assert hasattr(new_model, "note") is True | ||||
def test_migrations_13_add_webhook_info_to_sor_model(migrator): | |||||
"""Ensures the migration adds the from_webhook field to SaveOriginRequest table""" | |||||
old_state = migrator.apply_initial_migration( | |||||
(APP_NAME, MIGRATION_0012), | |||||
) | |||||
old_model = old_state.apps.get_model(APP_NAME, "SaveOriginRequest") | |||||
assert hasattr(old_model, "from_webhook") is False | |||||
assert hasattr(old_model, "webhook_origin") is False | |||||
new_state = migrator.apply_tested_migration((APP_NAME, MIGRATION_0013)) | |||||
new_model = new_state.apps.get_model(APP_NAME, "SaveOriginRequest") | |||||
assert hasattr(new_model, "from_webhook") is True | |||||
assert hasattr(new_model, "webhook_origin") is True |