 34ae9e6dab
			
		
	
	34ae9e6dab
	
	
	
		
			
			* core: add used_by API to show what objects are affected before deletion Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * web/elements: add support for used_by API Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * core: add authentik_used_by_shadows to shadow other models Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * web: implement used_by API Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * *: fix duplicate imports Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * core: add action field to used_by api Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * web: add UI for used_by action Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * web: add notice to tenant form Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * core: fix naming in used_by Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * web: check length for used_by Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * core: fix used_by for non-pk models Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * *: improve __str__ on models Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org> * core: add support for many to many in used_by Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
		
			
				
	
	
		
			80 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
| [tool.black]
 | |
| target-version = ['py38']
 | |
| exclude = 'node_modules'
 | |
| 
 | |
| [tool.isort]
 | |
| multi_line_output = 3
 | |
| include_trailing_comma = true
 | |
| force_grid_wrap = 0
 | |
| use_parentheses = true
 | |
| line_length = 88
 | |
| src_paths = ["authentik", "tests", "lifecycle"]
 | |
| force_to_top = "*"
 | |
| 
 | |
| [tool.coverage.run]
 | |
| source = ["authentik"]
 | |
| relative_files = true
 | |
| omit = [
 | |
|   "*/asgi.py",
 | |
|   "manage.py",
 | |
|   "*/migrations/*",
 | |
|   "*/apps.py",
 | |
|   "website/",
 | |
| ]
 | |
| 
 | |
| [tool.coverage.report]
 | |
| sort = "Cover"
 | |
| skip_covered = true
 | |
| precision = 2
 | |
| exclude_lines = [
 | |
|   "pragma: no cover",
 | |
|   # Don't complain about missing debug-only code:
 | |
|   "def __unicode__",
 | |
|   "def __str__",
 | |
|   "def __repr__",
 | |
|   "if self.debug",
 | |
|   "if TYPE_CHECKING",
 | |
|   # Don't complain if tests don't hit defensive assertion code:
 | |
|   "raise AssertionError",
 | |
|   "raise NotImplementedError",
 | |
|   # Don't complain if non-runnable code isn't run:
 | |
|   "if 0:",
 | |
|   "if __name__ == .__main__.:",
 | |
| ]
 | |
| show_missing = true
 | |
| 
 | |
| [tool.pylint.master]
 | |
| disable =[
 | |
|     "arguments-differ",
 | |
|     "no-self-use",
 | |
|     "fixme",
 | |
|     "locally-disabled",
 | |
|     "too-many-ancestors",
 | |
|     "too-few-public-methods",
 | |
|     "import-outside-toplevel",
 | |
|     "bad-continuation",
 | |
|     "signature-differs",
 | |
|     "similarities",
 | |
|     "cyclic-import",
 | |
|     "protected-access",
 | |
|     "raise-missing-from",]
 | |
| 
 | |
| load-plugins=["pylint_django","pylint.extensions.bad_builtin"]
 | |
| django-settings-module="authentik.root.settings"
 | |
| extension-pkg-whitelist=["lxml","xmlsec"]
 | |
| 
 | |
| # Allow constants to be shorter than normal (and lowercase, for settings.py)
 | |
| const-rgx="[a-zA-Z0-9_]{1,40}$"
 | |
| 
 | |
| ignored-modules=["django-otp","binascii", "socket", "zlib"]
 | |
| generated-members=["xmlsec.constants.*","xmlsec.tree.*","xmlsec.template.*"]
 | |
| ignore="migrations"
 | |
| max-attributes=12
 | |
| max-branches=20
 | |
| 
 | |
| [tool.pytest.ini_options]
 | |
| DJANGO_SETTINGS_MODULE = "authentik.root.settings"
 | |
| python_files = ["tests.py", "test_*.py", "*_tests.py"]
 | |
| junit_family = "xunit2"
 | |
| addopts = "-p no:celery --junitxml=unittest.xml"
 |