def login(request, username, password): try: token = UserService().login(username, password) user_id = User.objects(username=username, password=sha256(password.encode()).hexdigest()).first().id except Exception as error: return HttpResponse(error, status=status.HTTP_500_INTERNAL_SERVER_ERROR) return HttpResponse(json.dumps({'token': token, 'user_id': str(user_id)}), status=status.HTTP_202_ACCEPTED)
def test_change_country_name(self): new_country_name = 'New country' UserService().change_user_data(self.user.id, new_country_name=new_country_name) self.user.reload() self.assertEqual(self.user.country.name, new_country_name)
def test_change_country_flag(self): new_country_flag = 'Link on new country flag' UserService().change_user_data(self.user.id, new_country_flag=new_country_flag) self.user.reload() self.assertEqual(self.user.country.link_img, new_country_flag)
def test_change_password(self): new_password = '******' UserService().change_user_data(self.user.id, new_password=new_password) self.user.reload() self.assertEqual(self.user.password, new_password)
def change_user_data(request, user_id): try: request_data = JSONParser().parse(request) if SystemService.verify_token(user_id, request_data['token']): UserService().change_user_data(user_id, request_data['country_name'], request_data['link_on_flag']) except Exception as error: return HttpResponse(error, status=status.HTTP_500_INTERNAL_SERVER_ERROR) return HttpResponse({}, status=status.HTTP_200_OK)
def logout(request, user_id): try: request_data = JSONParser().parse(request) if SystemService.verify_token(user_id, request_data['token']): UserService().logout(user_id) return HttpResponse({}, status=status.HTTP_200_OK) except Exception as error: return HttpResponse(error, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
def test_logout(self): self.assertNotEqual(self.user.token, '') self.assertTrue(self.user.isAuth) UserService().logout(self.user.id) self.user.reload() self.assertEqual(self.user.token, '') self.assertFalse(self.user.isAuth)
def test_login(self): self.assertEqual(self.user.token, '') self.assertFalse(self.user.isAuth) UserService().login(self.user.username,self.user.password) self.user.reload() self.assertNotEqual(self.user.token, '') self.assertTrue(self.user.isAuth)
def delete_account(request, user_id, password): try: request_data = JSONParser().parse(request) if SystemService.verify_token(user_id, request_data['token']): deleted = UserService().delete_user_account(user_id, password) if not deleted: return HttpResponse({'Incorrect password'}, status=status.HTTP_400_BAD_REQUEST) except Exception as error: return HttpResponse(error, status=status.HTTP_500_INTERNAL_SERVER_ERROR) return HttpResponse({}, status=status.HTTP_200_OK)
def register(request): try: request_data = JSONParser().parse(request) result_bool = UserService().register_new_user(request_data['username'], request_data['password'], request_data['email'], request_data['country_name'], request_data['link_on_flag']) except Exception as error: return HttpResponse(error, status=status.HTTP_500_INTERNAL_SERVER_ERROR) return HttpResponse({}, status=status.HTTP_201_CREATED) if result_bool else HttpResponse({}, status=status.HTTP_400_BAD_REQUEST)
def setUpClass(cls): UserService().register_new_user('Test user','1234','*****@*****.**','country name','')
def tearDownClass(cls): user = User.objects(username='******').first() UserService().delete_user_account(user.id,user.password)
def tearDown(self): UserService().logout(self.user.id)
def setUp(self): self.user = User.objects(username='******').first() UserService().login(self.user.username, self.user.password)