Esempio n. 1
0
    def test_non_package(self):
        self.migrations_dir.rmdir()
        self.migrations_dir.with_suffix(".py").touch()

        result = check_max_migration_files()

        assert result == []
Esempio n. 2
0
    def test_dlm_E001(self):
        (self.migrations_dir / "__init__.py").touch()

        result = check_max_migration_files()

        assert len(result) == 1
        assert result[0].id == "dlm.E001"
        assert result[0].msg == "testapp's max_migration.txt does not exist."
Esempio n. 3
0
    def test_okay(self):
        (self.migrations_dir / "__init__.py").touch()
        (self.migrations_dir / "0001_initial.py").touch()
        (self.migrations_dir / "0002_updates.py").touch()
        (self.migrations_dir /
         "max_migration.txt").write_text("0002_updates\n")

        result = check_max_migration_files()

        assert result == []
Esempio n. 4
0
    def test_dlm_E002(self):
        (self.migrations_dir / "__init__.py").touch()
        (self.migrations_dir /
         "max_migration.txt").write_text("line1\nline2\n")

        result = check_max_migration_files()

        assert len(result) == 1
        assert result[0].id == "dlm.E002"
        assert result[
            0].msg == "testapp's max_migration.txt contains multiple lines."
Esempio n. 5
0
    def test_dlm_E003(self):
        (self.migrations_dir / "__init__.py").touch()
        (self.migrations_dir / "0001_initial.py").touch()
        (self.migrations_dir / "max_migration.txt").write_text("0001_start\n")

        result = check_max_migration_files()

        assert len(result) == 1
        assert result[0].id == "dlm.E003"
        assert result[0].msg == (
            "testapp's max_migration.txt points to non-existent migration" +
            " '0001_start'.")
Esempio n. 6
0
    def test_dlm_E004(self):
        (self.migrations_dir / "__init__.py").touch()
        (self.migrations_dir / "0001_initial.py").touch()
        (self.migrations_dir / "0002_updates.py").touch()
        (self.migrations_dir /
         "max_migration.txt").write_text("0001_initial\n")

        result = check_max_migration_files()

        assert len(result) == 1
        assert result[0].id == "dlm.E004"
        assert result[0].msg == (
            "testapp's max_migration.txt contains '0001_initial', but the" +
            " latest migration is '0002_updates'.")
Esempio n. 7
0
    def test_skipped_unspecified_app(self):
        (self.migrations_dir / "__init__.py").touch()

        result = check_max_migration_files(app_configs=[])

        assert result == []
Esempio n. 8
0
    def test_empty_migrations_dir(self):
        result = check_max_migration_files()

        assert result == []
Esempio n. 9
0
    def test_no_migrations_dir(self):
        self.migrations_dir.rmdir()

        result = check_max_migration_files()

        assert result == []