예제 #1
0
	def test_authenticate_error_invalid_username(self):
		"""
		Test error
		"""
		result = authenticate('super_tester', '1234567890')

		self.assertEqual(result.is_succeed, False)
		self.assertEqual(result.data['username'], ['Invalid username or password'])
예제 #2
0
	def test_authenticate_error_invalid_password(self):
		"""
		Test error
		"""
		result = authenticate(self.user.username, '0987654321')

		self.assertEqual(result.is_succeed, False)
		self.assertEqual(result.data['password'], ['Invalid username or password'])
예제 #3
0
	def test_authenticate_success(self):
		"""
		Test success
		"""
		result = authenticate(self.user.username, Dummies.get_password())

		self.assertEqual(result.is_succeed, True)
		self.assertEqual(result.data, User.objects.get(username='******'))
예제 #4
0
def sign_in(request):
	"""
	Api method to sign in user
	:param request: HTTP request
	:return: redirect url if user signed in succeed
	"""
	data = request.body_data
	form = SignInForm(data)

	if form.errors:
		return ServerResponse.bad_request(form.errors)

	auth_result = services.authenticate(form.data['username'], form.data['password'])

	if not auth_result.is_succeed:
		return ServerResponse.internal_server_error(auth_result.data)

	auth_user = auth_result.data
	login(request, auth_user)

	resolver = RedirectResolver(request)

	return ServerResponse.ok(resolver.get_auth_redirect_url())