David-Wobrock
601e02e024
Rename method name and add comments
2020-11-26 19:02:57 +01:00
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