diff --git a/django_kubernetes_probes/tests.py b/django_kubernetes_probes/tests.py deleted file mode 100644 index 778a29b5f5a741340cf3a8f60006724d0975ac56..0000000000000000000000000000000000000000 --- a/django_kubernetes_probes/tests.py +++ /dev/null @@ -1,18 +0,0 @@ -import logging - -from django.test import TestCase -from django.urls import reverse - -logger = logging.getLogger(__name__) - - -class ProbeTestCase(TestCase): - def test_probe_ready(self): - self.assertEqual( - 200, self.client.get(reverse("probes:probe_ready")).status_code - ) - - def test_probe_alive(self): - self.assertEqual( - 200, self.client.get(reverse("probes:probe_alive")).status_code - ) diff --git a/pyproject.toml b/pyproject.toml index c515c8282697bd89e57f492a7d14ce6ce3c051ca..d541b30f6f035588915f6d171285f9473ee6b911 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,7 @@ -[build-system] -requires = ['setuptools>=40.8.0'] -build-backend = 'setuptools.build_meta' \ No newline at end of file +[tool.black] +line-length = 120 +skip-string-normalization = true +exclude = '''( + migrations\/ | manage.py | wsgi.py | .venv | venv +) +''' diff --git a/setup.cfg b/setup.cfg index 97d34a8e716ddd9a058f6edf4bc89fa1cc048886..d7ed51418279cdb6d0bbfb667a369259acc3f03e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = django-kubernetes-probes -version = 1.0.2 +version = 1.1 description = A Django app to expose probes for kubernetes long_description = file: README.rst url = https://www.example.com/ diff --git a/tests/models.py b/tests/models.py new file mode 100644 index 0000000000000000000000000000000000000000..b7aa37271b04f051b0a44c91bbc0f5f00983b344 --- /dev/null +++ b/tests/models.py @@ -0,0 +1,5 @@ +from django.db import models + + +class AModel(models.Model): + a_field = models.CharField("A field", max_length=50, null=True, blank=True) diff --git a/tests/settings.py b/tests/settings.py index 2f132dc5bf07cafbf208dc42daddd9f3200d47b7..cc82b06aa002c068839e4ca4b376c909489dc23e 100644 --- a/tests/settings.py +++ b/tests/settings.py @@ -6,6 +6,7 @@ INSTALLED_APPS = [ 'django.contrib.auth', 'django.contrib.contenttypes', 'django_kubernetes_probes', + 'tests', ] BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) @@ -18,3 +19,4 @@ DATABASES = { } ROOT_URLCONF = 'tests.urls' +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' diff --git a/tests/tests.py b/tests/tests.py new file mode 100644 index 0000000000000000000000000000000000000000..54578c3d0d63e8440abccc072cf66845ddfd05a6 --- /dev/null +++ b/tests/tests.py @@ -0,0 +1,41 @@ +import logging + +from django.test import TestCase +from django.urls import reverse +from django.db import connection +from django.contrib.auth import get_user_model + +from tests import models + +logger = logging.getLogger(__name__) + + +class ProbeTestCase(TestCase): + def drap_table(self, model): + with connection.cursor() as cursor: + cursor.execute(f"DROP TABLE {model._meta.db_table}") + + def test_probe_ready(self): + self.assertEqual(200, self.client.get(reverse("probes:probe_ready")).status_code) + + def test_probe_ready_without_user(self): + self.drap_table(get_user_model()) + self.assertEqual(500, self.client.get(reverse("probes:probe_ready")).status_code) + + def test_probe_ready_without_amodel(self): + self.drap_table(models.AModel) + self.assertEqual(500, self.client.get(reverse("probes:probe_ready")).status_code) + + def test_probe_alive(self): + self.assertEqual(200, self.client.get(reverse("probes:probe_alive")).status_code) + + def test_probe_alive_without_user(self): + self.drap_table(get_user_model()) + self.assertEqual(500, self.client.get(reverse("probes:probe_alive")).status_code) + + def test_probe_alive_without_amodel(self): + """ + for alive-ness we only look at user, other missing table in the db does not cause an error + """ + self.drap_table(models.AModel) + self.assertEqual(200, self.client.get(reverse("probes:probe_alive")).status_code)