add runpython migration test

This commit is contained in:
amirhgh 2022-01-04 13:54:24 +03:30
parent 5bcd9cc0b1
commit 9d2854883a
2 changed files with 13 additions and 1 deletions

View File

@ -3,8 +3,13 @@ from django_clickhouse import migrations
from tests.clickhouse_models import ClickHouseTestModel, ClickHouseCollapseTestModel
def python_exec(database):
pass
class Migration(migrations.Migration):
operations = [
migrations.CreateTable(ClickHouseTestModel),
migrations.CreateTable(ClickHouseCollapseTestModel)
migrations.CreateTable(ClickHouseCollapseTestModel),
migrations.RunPython(python_exec, hints={'force_migrate_on_databases': ['default']})
]

View File

@ -1,5 +1,6 @@
from typing import List, Dict, Any
from unittest import mock
from unittest.mock import patch
from django.conf import settings
from django.test import TestCase, override_settings
@ -7,6 +8,7 @@ from django.test import TestCase, override_settings
from django_clickhouse.configuration import config
from django_clickhouse.database import connections
from django_clickhouse.management.commands.clickhouse_migrate import Command
from django_clickhouse.migration_operators import RunPython
from django_clickhouse.migrations import MigrationHistory, migrate_app
from django_clickhouse.routers import DefaultRouter
from tests.clickhouse_models import ClickHouseTestModel
@ -59,6 +61,11 @@ class MigrateAppTest(TestCase):
migrate_app('tests', 'readonly')
self.assertFalse(table_exists(connections['readonly'], ClickHouseTestModel))
@patch.object(RunPython, 'apply')
def test_hint_param(self, mock_python_exec):
migrate_app('tests', 'default')
self.assertEqual(1, mock_python_exec.call_count)
@override_settings(CLICKHOUSE_MIGRATE_WITH_DEFAULT_DB=False)
@mock.patch('django_clickhouse.management.commands.clickhouse_migrate.migrate_app', return_value=True)