Skip to content

Commit 7da6b77

Browse files
committed
Refactor test setup in BaseClass: consolidate user authentication logic into a reusable method
1 parent aa6af6a commit 7da6b77

1 file changed

Lines changed: 9 additions & 18 deletions

File tree

unittests/test_rest_framework.py

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -378,37 +378,28 @@ class RESTEndpointTest(DojoAPITestCase):
378378
def __init__(self, *args, **kwargs):
379379
DojoAPITestCase.__init__(self, *args, **kwargs)
380380

381-
def setUp(self):
382-
testuser = User.objects.get(username="admin")
381+
def _get_client(self, user_criteria: dict) -> None:
382+
testuser = User.objects.get(**user_criteria)
383383
token = Token.objects.get(user=testuser)
384384
self.client = APIClient()
385385
self.client.credentials(HTTP_AUTHORIZATION="Token " + token.key)
386+
387+
def setUp(self):
388+
self._get_client({"username": "admin"})
386389
self.url = reverse(self.viewname + "-list")
387390
self.schema = get_open_api3_json_schema()
388391

389392
def setUp_not_authorized(self):
390-
testuser = User.objects.get(id=self.NOT_AUTHORIZED_USER_ID)
391-
token = Token.objects.get(user=testuser)
392-
self.client = APIClient()
393-
self.client.credentials(HTTP_AUTHORIZATION="Token " + token.key)
393+
self._get_client({"id": self.NOT_AUTHORIZED_USER_ID})
394394

395395
def setUp_global_reader(self):
396-
testuser = User.objects.get(id=self.GLOBAL_READER_USER_ID)
397-
token = Token.objects.get(user=testuser)
398-
self.client = APIClient()
399-
self.client.credentials(HTTP_AUTHORIZATION="Token " + token.key)
396+
self._get_client({"id": self.GLOBAL_READER_USER_ID})
400397

401398
def setUp_global_writer(self):
402-
testuser = User.objects.get(id=self.GLOBAL_WRITER_USER_ID)
403-
token = Token.objects.get(user=testuser)
404-
self.client = APIClient()
405-
self.client.credentials(HTTP_AUTHORIZATION="Token " + token.key)
399+
self._get_client({"id": self.GLOBAL_WRITER_USER_ID})
406400

407401
def setUp_global_owner(self):
408-
testuser = User.objects.get(id=self.GLOBAL_OWNER_USER_ID)
409-
token = Token.objects.get(user=testuser)
410-
self.client = APIClient()
411-
self.client.credentials(HTTP_AUTHORIZATION="Token " + token.key)
402+
self._get_client({"id": self.GLOBAL_OWNER_USER_ID})
412403

413404
def check_schema(self, schema, obj):
414405
schema_checker = SchemaChecker(self.schema["components"])

0 commit comments

Comments
 (0)