From 1345e6d0d009345734bef6aaaa0fea4723600b57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20=C3=98rstad?= <tobiasio@ntnu.no> Date: Sat, 6 Mar 2021 13:19:01 +0100 Subject: [PATCH] Complete boundary value testing register form --- backend/secfit/workouts/tests.py | 220 ++++++++++++++++++++++++++++++- 1 file changed, 215 insertions(+), 5 deletions(-) diff --git a/backend/secfit/workouts/tests.py b/backend/secfit/workouts/tests.py index 26c9ce0..a4fe07d 100644 --- a/backend/secfit/workouts/tests.py +++ b/backend/secfit/workouts/tests.py @@ -6,23 +6,233 @@ from rest_framework.test import APIRequestFactory, APIClient import json # Create your tests here. -class RegisterBoundaryTestCase(TestCase): +class RegisterUsernameBoundaryTestCase(TestCase): def setUp(self): - self.request = json.loads('{"username": "","password": "123","password1": "123","athletes": [],"email": "","coach_files": [],"athlete_files": [],"workouts":[],"phone_number": "","country": "","city": "","street_address":""}') + self.request = json.loads('{"username": "bob","password": "Heihei1","password1": "Heihei1","athletes": [],"email": "bob@bob.no","coach_files": [],"athlete_files": [],"workouts":[],"phone_number": "12345678","country": "","city": "","street_address":""}') self.client = APIClient() - def test_good_username(self): + def test_blank_username(self): + self.request["username"] = "" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,400) + + def test_taken_username(self): self.request["username"] = "bob" request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') - self.assertEquals(request.status_code,201) + self.request["email"] = "bob2@bob.no" + request2 = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request2.status_code,400) - def test_bad_username(self): + def test_bad_symbols_username(self): self.request["username"] = "<<<" request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') self.assertEquals(request.status_code,400) + + def test_good_symbols_username(self): + self.request["username"] = "@.+-" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,201) + + def test_alfanum_username(self): + self.request["username"] = "heihei342" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,201) + +class RegisterEmailBoundaryTestCase(TestCase): + + def setUp(self): + self.request = json.loads('{"username": "bob","password": "Heihei1","password1": "Heihei1","athletes": [],"email": "bob@bob.no","coach_files": [],"athlete_files": [],"workouts":[],"phone_number": "12345678","country": "","city": "","street_address":""}') + self.client = APIClient() + + def test_blank_email(self): + self.request["email"] = "" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,400) + + def test_invalid_email(self): + self.request["email"] = "bob" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,400) + + def test_valid_email(self): + self.request["email"] = "bob@gh.no" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,201) + + def test_taken_email(self): + self.request["email"] = "bob@gh.no" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.request["username"] = "bob2" + request2 = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request2.status_code,400) + + +class RegisterEmailBoundaryTestCase(TestCase): + + def setUp(self): + self.request = json.loads('{"username": "bob","password": "Heihei1","password1": "Heihei1,"athletes": [],"email": "bob@bob.no","coach_files": [],"athlete_files": [],"workouts":[],"phone_number": "12345678","country": "","city": "","street_address":""}') + self.client = APIClient() + + def test_blank_password(self): + self.request["password"] = "" + self.request["password1"] = "" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,400) + + def test_length6_password(self): + self.request["password"] = "Heihe6" + self.request["password1"] = "Heihe6" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,201) + + def test_length5_password(self): + self.request["password"] = "Heih6" + self.request["password1"] = "Heih6" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,400) + + def test_capital_numerical_password(self): + self.request["password"] = "Heihei1" + self.request["password1"] = "Heihei1" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,201) + + def test_non_capital_letter_password(self): + self.request["password"] = "heihei1" + self.request["password1"] = "heihei1" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,400) + + def test_non_numerical_password(self): + self.request["password"] = "Heiheihei" + self.request["password1"] = "Heiheihei" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,400) + + def test_length15_password(self): + self.request["password"] = "Heiheiheiheihe1" + self.request["password1"] = "Heiheiheiheihe1" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,201) + + def test_length16_password(self): + self.request["password"] = "Heiheiheiheihei1" + self.request["password1"] = "Heiheiheiheihei1" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,201) + + def test_length17_password(self): + self.request["password"] = "Heiheiheiheihei12" + self.request["password1"] = "Heiheiheiheihei12" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,400) + + def test_length15_password(self): + self.request["password"] = "Heihe6" + self.request["password1"] = "Heihe5" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,400) + +class RegisterPhonenumberBoundaryTestCase(TestCase): + + def setUp(self): + self.request = json.loads('{"username": "bob","password": "Heihei1","password1": "Heihei1,"athletes": [],"email": "bob@bob.no","coach_files": [],"athlete_files": [],"workouts":[],"phone_number": "12345678","country": "","city": "","street_address":""}') + self.client = APIClient() + + def test_blank_number(self): + self.request["phone_number"] = "" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,201) + + def test_blank_number_twice(self): + self.request["phone_number"] = "" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.request["email"] = "bob2@bob.no" + self.request["username"] = "bob2" + request2 = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request2.status_code,201) + + def test_letters_in_number(self): + self.request["phone_number"] = "1234567A" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,400) + + def test_length7_number(self): + self.request["phone_number"] = "1234567" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,400) + + def test_length8_number(self): + self.request["phone_number"] = "12345678" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,201) + + def test_length9_number(self): + self.request["phone_number"] = "123456789" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,400) + + def test_taken_number(self): + self.request["phone_number"] = "12345678" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.request["email"] = "bob2@bob.no" + self.request["username"] = "bob2" + request2 = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request2.status_code,400) + +class RegisterCountryBoundaryTestCase(TestCase): + + def setUp(self): + self.request = json.loads('{"username": "bob","password": "Heihei1","password1": "Heihei1,"athletes": [],"email": "bob@bob.no","coach_files": [],"athlete_files": [],"workouts":[],"phone_number": "12345678","country": "hoh","city": "","street_address":""}') + self.client = APIClient() + + def test_blank_country(self): + self.request["country"] = "" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,201) + + def test_numerical_country(self): + self.request["country"] = "Norway1" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,400) + + def test_space_country(self): + self.request["country"] = "West Norway" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,201) + +class RegisterCityBoundaryTestCase(TestCase): + + def setUp(self): + self.request = json.loads('{"username": "bob","password": "Heihei1","password1": "Heihei1,"athletes": [],"email": "bob@bob.no","coach_files": [],"athlete_files": [],"workouts":[],"phone_number": "12345678","country": "hoh","city": "Hello","street_address":""}') + self.client = APIClient() + def test_blank_city(self): + self.request["city"] = "" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,201) + + def test_special_city(self): + self.request["city"] = "Trond’heim #3 !" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,201) + + +class RegisterCityBoundaryTestCase(TestCase): + + def setUp(self): + self.request = json.loads('{"username": "bob","password": "Heihei1","password1": "Heihei1,"athletes": [],"email": "bob@bob.no","coach_files": [],"athlete_files": [],"workouts":[],"phone_number": "12345678","country": "hoh","city": "Hello","street_address":"22"}') + self.client = APIClient() + def test_blank_adress(self): + self.request["street_address"] = "" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,201) + def test_special_adress(self): + self.request["street_address"] = "Trond’heim #3 !" + request = self.client.post('http://testserver/api/users/', json.dumps(self.request), content_type='application/json') + self.assertEquals(request.status_code,201) \ No newline at end of file -- GitLab