def test_user_status_invalid_empty(self): tester = create_app().test_client(self) genre_creation(tester, 'Male') language_creation(tester, 'English') level_creation(tester, 'Advanced') response = tester.post("/user/", data=VALID_REGISTER, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['id_user'], 1) self.assertEqual(status_code, 200) self.assertEqual(data['user_status'], 'online') response = tester.put("/user/1/user_status", data=INVALID_USER_STATUS_1, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(status_code, 403) self.assertEqual(data['Error'], "User status can't be empty.") response = tester.put("/user/1/user_status", data=INVALID_USER_STATUS_2, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(status_code, 403) self.assertEqual(data['Error'], "User status can't be empty.")
def test_valid_user_login_with_log_dataset(self): tester = create_app().test_client(self) genre_creation(tester, 'Male') language_creation(tester, 'English') level_creation(tester, 'Advanced') tester.post("/user/", data=VALID_REGISTER, content_type='application/json') tester.post("/user/", data=ANOTHER_VALID_REGISTER, content_type='application/json') response = tester.post("/login/", data=VALID_LOGIN_1, content_type='application/json') response = tester.post("/login/", data=VALID_LOGIN_1, content_type='application/json') response = tester.post("/login/", data=VALID_LOGIN_2, content_type='application/json') response = tester.post("/login/", data=VALID_LOGIN_2, content_type='application/json') response = tester.get("/login/dataset", content_type='application/json') data = json.loads(response.get_data(as_text=True)) status_code = response.status_code self.assertEqual(status_code, 200) self.assertEqual(data[0]['active_users'], 2)
def test_valid_block_get(self): tester = create_app().test_client(self) genre_creation(tester, 'Male') language_creation(tester, 'English') level_creation(tester, 'Advanced') response = tester.post("/user/", data=VALID_REGISTER, content_type='application/json') response = tester.post("/user/", data=ANOTHER_VALID_REGISTER, content_type='application/json') response = tester.post("/block/", data=VALID_BLOCK, content_type='application/json') response = tester.get("/block/1", content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['blocked'][0]['id_user'], 2) self.assertEqual(status_code, 200) response = tester.get("/block/2", content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['blocked_by'][0]['id_user'], 1) self.assertEqual(status_code, 200) response = tester.get("/user/", content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) print(data) self.assertEqual(status_code, 200) self.assertEqual(data[0]['blocked_by'][0], 2) self.assertEqual(data[1]['blocked'][0], 1)
def test_index(self): tester = create_app().test_client(self) response = tester.get("/") status_code = response.status_code # Check for response 200 self.assertEqual(status_code, 200)
def test_valid_other_text_report_get(self): tester = create_app().test_client(self) genre_creation(tester, 'Male') language_creation(tester, 'English') level_creation(tester, 'Advanced') tester.post("/report_type/", data=json.dumps({'report_type_description': 'Algo malo'}), content_type='application' '/json') response = tester.post("/user/", data=VALID_REGISTER, content_type='application/json') response = tester.post("/user/", data=ANOTHER_VALID_REGISTER, content_type='application/json') response = tester.post("/report/", data=VALID_OTHER_REPORT, content_type='application/json') response = tester.get("/report/1", content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) print(data) self.assertEqual(data[0]['id_report'], 1) self.assertEqual(data[0]['text'], "Cosas feas") self.assertEqual(status_code, 200)
def test_valid_report_with_status(self): tester = create_app().test_client(self) genre_creation(tester, 'Male') language_creation(tester, 'English') level_creation(tester, 'Advanced') tester.post("/report_type/", data=json.dumps({'report_type_description': 'Algo malo'}), content_type='application' '/json') response = tester.post("/user/", data=VALID_REGISTER, content_type='application/json') response = tester.post("/user/", data=ANOTHER_VALID_REGISTER, content_type='application/json') response = tester.post("/report/", data=VALID_REPORT, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['Status'], 'Report Created') self.assertEqual(status_code, 200) response = tester.get("/user/u23y48298", content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) print(data) self.assertEqual(data['reported_by'][0], 2) self.assertEqual(data['reported_by_with_status'][0]['is_pending'], True) self.assertEqual( data['reported_by_with_status'][0]['user_reported_by'], 2) self.assertEqual(status_code, 200)
def test_invalid_genre_creation_already_exists(self): tester = create_app().test_client(self) genre_creation(tester, 'Female') response = genre_creation(tester, 'female') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['Error'], "Genre already exists in database.") self.assertEqual(status_code, 403)
def test_valid_genre_creation(self): tester = create_app().test_client(self) response = genre_creation(tester, 'Female') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['id'], 1) self.assertEqual(data['genre_description'], "Female") self.assertEqual(status_code, 200)
def test_valid_language_creation(self): tester = create_app().test_client(self) response = language_creation(tester, 'Spanish') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['id'], 1) self.assertEqual(data['language_description'], "Spanish") self.assertEqual(status_code, 200)
def test_valid_level_creation(self): tester = create_app().test_client(self) response = level_creation(tester, 'Basic') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['id'], 1) self.assertEqual(data['level_description'], "Basic") self.assertEqual(status_code, 200)
def test_health(self): tester = create_app().test_client(self) response = tester.get("/health") status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['status'], "UP") # Check for response 200 self.assertEqual(status_code, 200)
def test_invalid_language_creation_already_exists(self): tester = create_app().test_client(self) language_creation(tester, 'Spanish') response = language_creation(tester, 'spanish') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['Error'], "language already exists in database.") self.assertEqual(status_code, 403)
def test_valid_report_type_creation(self): tester = create_app().test_client(self) response = report_type_creation(tester, 'Offensive') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['id'], 1) self.assertEqual(data['report_type_description'], "Offensive") self.assertEqual(status_code, 200)
def test_valid_user_register(self): tester = create_app().test_client(self) response = tester.post("/admin/", data=VALID_ADMIN_REGISTER, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertIsNotNone(data['token']) self.assertEqual(status_code, 200)
def test_valid_genre_creation_get(self): tester = create_app().test_client(self) response = genre_creation(tester, 'Female') status_code = response.status_code response = tester.get("/genre/", content_type='application/json') data = json.loads(response.get_data(as_text=True)) self.assertEqual(data[0]['id_genre'], 1) self.assertEqual(data[0]['genre_description'], "Female") self.assertEqual(status_code, 200)
def test_invalid_user_register(self): tester = create_app().test_client(self) response = tester.post("/admin/", data=INVALID_ADMIN_REGISTER, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['Error'], "All fields must be completed.") self.assertEqual(status_code, 403)
def test_invalid_report_type_creation_already_exists(self): tester = create_app().test_client(self) report_type_creation(tester, 'Offensive') response = report_type_creation(tester, 'Offensive') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['Error'], "ReportType already exists in database.") self.assertEqual(status_code, 403)
def test_valid_level_creation_get(self): tester = create_app().test_client(self) response = level_creation(tester, 'Basic') response = tester.get("/level/", content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data[0]['id_level'], 1) self.assertEqual(data[0]['level_description'], "Basic") self.assertEqual(status_code, 200)
def test_invalid_user_login_not_exists_admin(self): tester = create_app().test_client(self) response = tester.post("/admin/login", data=VALID_ADMIN_LOGIN, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['Error'], "The user doesn't exists.") self.assertEqual(status_code, 404)
def test_valid_language_creation(self): tester = create_app().test_client(self) response = language_creation(tester, 'Spanish') status_code = response.status_code response = tester.get("/language/", content_type='application/json') data = json.loads(response.get_data(as_text=True)) self.assertEqual(data[0]['id_language'], 1) self.assertEqual(data[0]['language_description'], "Spanish") self.assertEqual(status_code, 200)
def test_invalid_user_register_invalid_level(self): tester = create_app().test_client(self) language_creation(tester, 'English') genre_creation(tester, 'Male') response = tester.post("/user/", data=VALID_REGISTER, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['Error'], "Level doesn't exists.") self.assertEqual(status_code, 403)
def test_invalid_user_register_date_format(self): tester = create_app().test_client(self) language_creation(tester, 'English') genre_creation(tester, 'Male') level_creation(tester, 'Advanced') response = tester.post("/user/", data=INVALID_REGISTER_DATE_FORMAT, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['Error'], "DATE Format must be dd/mm/YYYY.") self.assertEqual(status_code, 403)
def test_invalid_user_register_under_age(self): tester = create_app().test_client(self) language_creation(tester, 'English') genre_creation(tester, 'Male') level_creation(tester, 'Advanced') response = tester.post("/user/", data=INVALID_MINOR_REGISTER, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['Error'], "Age must be at least 16.") self.assertEqual(status_code, 403)
def test_valid_user_register(self): tester = create_app().test_client(self) genre_creation(tester, 'Male') language_creation(tester, 'English') level_creation(tester, 'Advanced') response = tester.post("/user/", data=VALID_REGISTER, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['id_user'], 1) self.assertEqual(status_code, 200)
def test_invalid_feedback_not_existent_users(self): tester = create_app().test_client(self) genre_creation(tester, 'Male') language_creation(tester, 'English') level_creation(tester, 'Advanced') response = tester.post("/feedback/", data=VALID_FEEDBACK, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['Error'], 'User ID does not exist.') self.assertEqual(status_code, 404)
def test_invalid_user_login_invalid_password(self): tester = create_app().test_client(self) tester.post("/admin/", data=VALID_ADMIN_REGISTER, content_type='application/json') response = tester.post("/admin/login", data=INVALID_ADMIN_LOGIN, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['Error'], "E-mail and/or password incorrect.") self.assertEqual(status_code, 403)
def test_invalid_user_register_email_taken(self): tester = create_app().test_client(self) tester.post("/admin/", data=VALID_ADMIN_REGISTER, content_type='application/json') response = tester.post("/admin/", data=VALID_ADMIN_REGISTER, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['Error'], "The email for the registration is already taken.") self.assertEqual(status_code, 403)
def test_user_status_valid_change(self): tester = create_app().test_client(self) genre_creation(tester, 'Male') language_creation(tester, 'English') level_creation(tester, 'Advanced') response = tester.post("/user/", data=VALID_REGISTER, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['id_user'], 1) self.assertEqual(status_code, 200) self.assertEqual(data['user_status'], 'online') response = tester.put("/user/1/user_status", data=VALID_USER_STATUS_1, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(status_code, 200) response = tester.get("/user/u23y48298", content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(status_code, 200) self.assertEqual(data['user_status'], 'busy') response = tester.put("/user/1/user_status", data=VALID_USER_STATUS_2, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(status_code, 200) response = tester.get("/user/u23y48298", content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(status_code, 200) self.assertEqual(data['user_status'], 'offline') response = tester.put("/user/1/user_status", data=VALID_USER_STATUS_3, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(status_code, 200) response = tester.get("/user/u23y48298", content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(status_code, 200) self.assertEqual(data['user_status'], 'online')
def test_invalid_report_not_existent_users(self): tester = create_app().test_client(self) genre_creation(tester, 'Male') language_creation(tester, 'English') level_creation(tester, 'Advanced') tester.post("/report_type/", data=json.dumps({'report_type_description': 'Algo malo'}), content_type='application' '/json') response = tester.post("/report/", data=VALID_REPORT, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['Error'], 'User ID does not exist.') self.assertEqual(status_code, 404)
def test_invalid_user_login_disabled(self): tester = create_app().test_client(self) genre_creation(tester, 'Male') language_creation(tester, 'English') level_creation(tester, 'Advanced') response = tester.post("/user/", data=VALID_REGISTER, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(data['id_user'], 1) self.assertEqual(status_code, 200) response = tester.put("/user/1/account_status", data=VALID_DISABLED_ACCOUNT, content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(status_code, 200) response = tester.get("/user/u23y48298", content_type='application/json') status_code = response.status_code data = json.loads(response.get_data(as_text=True)) self.assertEqual(status_code, 403) self.assertEqual(data['Error'], 'User is disabled.')