|
|
|
@ -3,12 +3,9 @@ from rest_framework import status |
|
|
|
|
from rest_framework.test import APITestCase |
|
|
|
|
from apiserver.api.models import Member, User |
|
|
|
|
import json |
|
|
|
|
from parameterized import parameterized |
|
|
|
|
|
|
|
|
|
class RegistrationTests(APITestCase): |
|
|
|
|
def setUp(self): |
|
|
|
|
self.url = reverse('rest_name_register') |
|
|
|
|
# TODO: expose data to be used for E2E testing from a webclient |
|
|
|
|
self.data = { |
|
|
|
|
data = { |
|
|
|
|
"username": "registrationtc", |
|
|
|
|
"email": "unittest@email.com", |
|
|
|
|
"password1": "unittest", |
|
|
|
@ -19,6 +16,13 @@ class RegistrationTests(APITestCase): |
|
|
|
|
# need to fake this for updating progress |
|
|
|
|
"request_id": "lol" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class RegistrationTests(APITestCase): |
|
|
|
|
def setUp(self): |
|
|
|
|
self.url = reverse('rest_name_register') |
|
|
|
|
# TODO: expose data to be used for E2E testing from a webclient |
|
|
|
|
self.data = data |
|
|
|
|
# TODO: match with config |
|
|
|
|
self.allowed_ip = '24.66.110.96' |
|
|
|
|
|
|
|
|
@ -44,3 +48,16 @@ class RegistrationTests(APITestCase): |
|
|
|
|
HTTP_X_REAL_IP="0.0.0.0" |
|
|
|
|
) |
|
|
|
|
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) |
|
|
|
|
|
|
|
|
|
@parameterized.expand([(f"{key} is missing", key, status.HTTP_400_BAD_REQUEST) for key in data.keys() if key is not 'request_id']) |
|
|
|
|
def test_malformed_data(self, name, inp, expected): |
|
|
|
|
"""Delete specific properties from data and confirm it is not accepted by API""" |
|
|
|
|
copy = self.data.copy() |
|
|
|
|
del copy[inp] |
|
|
|
|
response = self.client.post( |
|
|
|
|
self.url, |
|
|
|
|
copy, |
|
|
|
|
format='json', |
|
|
|
|
HTTP_X_REAL_IP=self.allowed_ip |
|
|
|
|
) |
|
|
|
|
self.assertEqual(response.status_code, expected) |
|
|
|
|