Allow ignoring sqlmigrate errors.

This commit is contained in:
Artem Streltsov authored and David Wobrock committed 2024-03-30 11:36:10 +01:00
1 parent a3acff2fef
commit b15924ca0f
7 files changed
+55 -7

No files matched your search

+24
View File
@@ -2,7 +2,9 @@ from __future__ import annotations
import tempfile
import unittest
from unittest.mock import patch
from django.db import ProgrammingError
from django.db.migrations import Migration
from django_migration_linter import MigrationLinter
@@ -109,6 +111,28 @@ class LinterFunctionsTestCase(unittest.TestCase):
with self.assertRaises(Exception):
MigrationLinter.read_migrations_list(file_path)
@patch(
"django_migration_linter.migration_linter.call_command",
side_effect=ProgrammingError,
)
def test_raise_exception_on_sqlmigrate_error(self, call_command_mock):
linter = MigrationLinter(
exclude_migration_tests=[], database="mysql", ignore_sqlmigrate_errors=False
)
with self.assertRaises(ProgrammingError):
linter.get_sql("app_correct", "0002_foo")
@patch(
"django_migration_linter.migration_linter.call_command",
side_effect=ProgrammingError,
)
def test_ignore_exception_on_sqlmigrate_error(self, call_command_mock):
linter = MigrationLinter(
exclude_migration_tests=[], database="mysql", ignore_sqlmigrate_errors=True
)
sql_result = linter.get_sql("app_correct", "0002_foo")
self.assertEqual([], sql_result)
def test_read_migrations_no_file(self):
migration_list = MigrationLinter.read_migrations_list(None)
self.assertIsNone(migration_list)