Commit Graph
72 Commits
Author SHA1 Message Date
David-Wobrock a68ff7c306 Make data migration model import check a bit less strict
It now allows:
* get_model(...) calls with one parameter only
* allows the variable name to be not the same as the model name itself (this will become a warning)
2020-11-26 19:02:57 +01:00
David-Wobrock 321b41ddd0 Start using GitHub Actions and remove Travis 2020-11-26 18:43:34 +01:00
David-Wobrock 50294a213b Add Dj3.1 support and update flake8 and black versions 2020-10-10 18:14:56 +02:00
David Wobrock ae84a5ffad Fix most tests for previous Django and Python versions 2020-07-02 19:15:30 +02:00
David Wobrock c2c26ae106 Add tests for the makemigrations override 2020-07-02 19:15:30 +02:00
David Wobrock f21ff2c278 Add (failing) tests cases for makeing a column not null with a Django default value 2020-06-20 18:08:16 +02:00
David Wobrock d411ea2f6b Unrelated: remove unused Django boilerplate files 2020-06-20 18:08:16 +02:00
David Wobrock 31338714dd Fix #112 -- make the behaviour of --include-migrations-from more obvious
* Misspelled filename => fail (instead of linting all migrations and ignoring the error)
* An empty file/a file with no valid migration paths => lint no migrations (instead oflinting all migrations)
* If the option is not specified, keep the behaviour of linting all migrations
2020-06-17 22:32:42 +02:00
David-Wobrock a5e17d0df1 Bump to 2.2.1 and black some files 2020-05-16 21:16:36 +02:00
David Wobrock cb6961539c Handle for forward and backward data migration imports 2020-02-08 22:38:05 +01:00
David Wobrock e49f6dea9c Document, add to changelog the data migrations and rename to 'warnings-as-errors' (plural) 2020-02-07 23:29:15 +01:00
David Wobrock 71614bd377 Handle warning as error and exclude warning tests 2020-02-07 23:29:15 +01:00
David Wobrock d01875b3be add warnings and RunPython basic linting 2020-02-07 23:29:15 +01:00
David Wobrock 691b1b82cb Add app_data_migration used for tests 2020-02-07 23:29:15 +01:00
David Wobrock 813c5c8690 Remove apache license headers in each file. The one full copy of the license at the root of the repo shall define the license for all source files. 2020-01-11 22:08:33 +01:00
David Wobrock 537542b30d Add manytomany app to test project and integration tests 2019-10-21 22:25:01 +02:00
David Wobrock ca6b623200 Add unused app with manytomany field 2019-10-21 22:25:01 +02:00
David Wobrock cbc5a623b0 Add unit tests on adding many to many field (by testing SQL directly) 2019-10-21 22:25:01 +02:00
David Wobrock e6e8cc7525 Update migrations list file behaviour
Instead of using the file path when the git commit is not
added, use the file and the migrations list no matter if we select
all migrations or just from a certain git commit.
And unit tests :)
2019-10-12 15:53:18 +02:00
David Wobrock 652031ce8d Add failing tests for unique_together condition 2019-07-30 10:47:20 +02:00
David Wobrock 8aac58abbe Add app for unique together testing 2019-07-30 10:47:20 +02:00
David Wobrock f597df779b Black test app migration 2019-07-29 23:14:30 +02:00
Viktor Danyliuk b79f9794ec add testcase: drop table 2019-07-29 23:14:30 +02:00
David Wobrock 19620d9996 Handle other strategy for sqlite in Django2.2 2019-07-29 21:05:12 +02:00
David Wobrock ef2052a7b0 Work on SQL Analyser module
* With database specific functions
* Functions that analyse the entire transaction
* Unit tests that only test this module
2019-07-29 21:05:12 +02:00
David Wobrock d02df5d20f Black migration file 2019-07-29 21:05:12 +02:00
Viktor Danyliuk 5e2c7bbfaf add testcase for DROP NOT NULL 2019-07-29 21:05:12 +02:00
David Wobrock aa8043db74 Add unit test for exclude migration tests 2019-07-28 12:28:56 +02:00
David Wobrock 5561a308a3 Add tests for ignore applied/unapplied migrations 2019-06-06 22:54:08 +02:00
David Wobrock e7b3361984 Nitpick: rename function back to easier understandable name 2019-05-19 22:30:51 +02:00
Tobias Kroenke 758468cbb8 hopefully correctly test new ignoring mechanism 2019-05-19 22:29:02 +02:00
David Wobrock 3b2b2f91c2 Clean up unused code and comments 2019-05-12 15:50:03 +02:00
David Wobrock 0f1030d43a Add non-regression test:
Tests that running the linter a second time by ignoring an erroneous migration
will not hit the cache for the said migration.
Instead, it is correctly ignored.
2019-05-12 15:32:57 +02:00
David Wobrock 5390fd507f Update Tests:
* don't use the project fixtures anymore but the one Django project
* update and refactor cache tests to be less brittle
* explicitly test mysql, postgresql and sqlite3 databases
* remove 'multiple_call' tests since it is not possible anymore
(with the Django singleton)
* update Travis and tox (dropping Python 3.4)
2019-05-12 15:32:57 +02:00
David Wobrock 26ed4ecf62 Tests: add test project
* manage.py file at the root of the project
* targetting the project located at tests/test_project/settings.py

That allows testing the linter through just calling it on the project itself.
Using the new method coming soon: `python manage.py lintmigrations`
2019-05-12 15:32:57 +02:00
David Wobrock fdd6b9b06a Tests: Delete all fixture Django projects
We won't need all these different django projects to test the linter.
That adds up to much complexity to the tests.
2019-05-12 15:32:57 +02:00
David-Wobrock 5c7dab8db2 Update linter tests for multiple backends
Create a base test class and have 3 different backends for now:
* mysql
* sqlite3
* postgresql
2019-02-24 15:55:05 +01:00
David-Wobrock ba83526339 Fix caching tests issues on Windows 2019-02-24 15:55:05 +01:00
David-Wobrock f5a587c2be Fix split path function
So it also works on windows
and does not return empty stuff
and update tests
2019-02-24 15:55:05 +01:00
David Wobrock d22401f101 Add tests for version option
From Python 3.4 on, version is printed on stdout instead
of stderr.
2019-02-03 19:38:38 +01:00
David Wobrock 1a9024e799 add test for git on non root location 2019-01-20 12:17:11 +01:00
David Wobrock 009153fbf4 handle linting a project in pwd
When calling "django-migration-linter ."
be able to handle it (especially with cache)
2019-01-20 12:17:11 +01:00
Felix 3ae4840e34 Merge branch 'master' into do-not-check-git-folder 2019-01-07 12:19:25 +01:00
David-Wobrock 7a34ac9010 Fix tests and git migration gathering 2019-01-05 17:39:09 +01:00
David-Wobrock f0021dc139 Add test migration in folder 2019-01-04 22:00:19 +01:00
David-Wobrock 574af4b7fe Do not check if .git folder exists
git commands will fail anyway if not present
2019-01-04 21:42:39 +01:00
David-Wobrock 952e596d92 Bump copyright version to 2019 in files 2019-01-03 22:05:00 +01:00
Felix 5be5e3f769 Use call_count instead of assert_called()
because later was introduced in python 3.6.
2018-12-23 23:46:33 +01:00
Felix 1c28412ebd Improve the cache
React to Comments and add a Test
2018-12-23 23:28:45 +01:00
Felix d3805d5210 Integrate IGNORE into cache 2018-12-23 22:49:36 +01:00