1
0
mirror of https://gitlab.crans.org/bde/nk20 synced 2024-11-26 18:37:12 +00:00

Use python Warnings instead of printing messages during tests

Signed-off-by: Yohann D'ANELLO <yohann.danello@gmail.com>
This commit is contained in:
Yohann D'ANELLO 2020-12-23 15:11:33 +01:00
parent 3a20555663
commit 5cb4183e9f
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85

View File

@ -4,6 +4,7 @@
import json import json
from datetime import datetime from datetime import datetime
from urllib.parse import quote_plus from urllib.parse import quote_plus
from warnings import warn
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.test import TestCase from django.test import TestCase
@ -46,8 +47,8 @@ class TestAPI(TestCase):
model = viewset.serializer_class.Meta.model model = viewset.serializer_class.Meta.model
if not model.objects.exists(): # pragma: no cover if not model.objects.exists(): # pragma: no cover
print(f"Warning: unable to test API filters for the model {model._meta.verbose_name} " warn(f"Warning: unable to test API filters for the model {model._meta.verbose_name} "
"since there is no instance of it.") "since there is no instance of it.")
return return
if hasattr(viewset, "filter_backends"): if hasattr(viewset, "filter_backends"):
@ -61,8 +62,8 @@ class TestAPI(TestCase):
value = self.get_value(obj, field) value = self.get_value(obj, field)
if value is None: # pragma: no cover if value is None: # pragma: no cover
print(f"Warning: the filter {field} for the model {model._meta.verbose_name} " warn(f"Warning: the filter {field} for the model {model._meta.verbose_name} "
"has not been tested.") "has not been tested.")
continue continue
resp = self.client.get(url + f"?format=json&{field}={quote_plus(str(value))}") resp = self.client.get(url + f"?format=json&{field}={quote_plus(str(value))}")
self.assertEqual(resp.status_code, 200, f"The filter {field} for the model " self.assertEqual(resp.status_code, 200, f"The filter {field} for the model "
@ -90,8 +91,8 @@ class TestAPI(TestCase):
field = field[1:] field = field[1:]
value = self.get_value(obj, field) value = self.get_value(obj, field)
if value is None: # pragma: no cover if value is None: # pragma: no cover
print(f"Warning: the filter {field} for the model {model._meta.verbose_name} " warn(f"Warning: the filter {field} for the model {model._meta.verbose_name} "
"has not been tested.") "has not been tested.")
continue continue
resp = self.client.get(url + f"?format=json&search={quote_plus(str(value))}") resp = self.client.get(url + f"?format=json&search={quote_plus(str(value))}")
self.assertEqual(resp.status_code, 200, f"The filter {field} for the model " self.assertEqual(resp.status_code, 200, f"The filter {field} for the model "