Raise exception in Backend

This commit is contained in:
Christian Cueni 2020-03-09 13:51:46 +01:00
parent 1d7ca9f612
commit b2d8c374c0
4 changed files with 9 additions and 16 deletions

View File

@ -59,8 +59,7 @@ class Registration(relay.ClientIDMutation):
def return_registration_msg(cls, message):
# even if the user has no valid license treat it like a success
if message == UNKNOWN_ERROR:
error = RegistrationError(field=message)
return cls(success=False, errors=[error], message='')
raise Exception(message)
return cls(success=True, errors=[], message=message)

View File

@ -37,12 +37,12 @@ class LocalLogin(relay.ClientIDMutation):
username = kwargs.get('username_input')
user = authenticate(username=username, password=password)
if user is None:
return cls(success=False, errors=[{'field': 'invalid_credentials'}], message='')
raise Exception('invalid_credentials')
login(info.context, user)
return cls(success=True, errors=[], message='')
return cls(success=False, errors=[{'field': 'not_implemented'}], message='')
raise Exception('not_implemented')
class Login(relay.ClientIDMutation):
@ -80,8 +80,7 @@ class Login(relay.ClientIDMutation):
@classmethod
def return_login_message(cls, message):
if message == EMAIL_NOT_VERIFIED or message == UNKNOWN_ERROR or message == 'invalid_credentials':
error = LoginError(field=message)
return cls(success=False, errors=[error], message='')
raise Exception(message)
return cls(success=True, errors=[], message=message)

View File

@ -63,5 +63,5 @@ class LocalLoginTests(TestCase):
self.user.save()
result = self.make_login_mutation(self.user.email, 'test1234')
self.assertFalse(result.get('data').get('localLogin').get('success'))
self.assertEqual(result.get('errors')[0].get('message'), 'invalid_credentials')

View File

@ -183,8 +183,7 @@ class LoginTests(TestCase):
def test_user_with_no_login_cannot_login(self, post_mock):
result = self.make_login_mutation('some')
self.assertFalse(result.get('data').get('login').get('success'))
self.assertEqual(result.get('data').get('login').get('errors')[0].get('field'), 'invalid_credentials')
self.assertEqual(result.get('errors')[0].get('message'), 'invalid_credentials')
@patch.object(HepClient, 'is_email_verified', return_value=False)
@patch.object(HepClient, 'customer_me', return_value=ME_DATA)
@ -192,9 +191,7 @@ class LoginTests(TestCase):
result = self.make_login_mutation(TOKEN)
User.objects.get(email=ME_DATA['email'])
self.assertFalse(result.get('data').get('login').get('success'))
self.assertEqual(result.get('data').get('login').get('errors')[0].get('field'), 'email_not_verified')
self.assertEqual(result.get('errors')[0].get('message'), 'email_not_verified')
@patch.object(HepClient, 'myskillbox_product_for_customer', return_value=None)
@patch.object(HepClient, 'customer_me', return_value=ME_DATA)
@ -224,12 +221,10 @@ class LoginTests(TestCase):
def test_user_can_login_with_unconfirmed_email(self, me_mock):
result = self.make_login_mutation(TOKEN)
self.assertFalse(result.get('data').get('login').get('success'))
self.assertEqual(result.get('data').get('login').get('errors')[0].get('field'), 'email_not_verified')
self.assertEqual(result.get('errors')[0].get('message'), 'email_not_verified')
@patch.object(requests, 'get', return_value=MockResponse(500))
def test_user_gets_notified_if_server_error(self, post_mock):
result = self.make_login_mutation(TOKEN)
self.assertFalse(result.get('data').get('login').get('success'))
self.assertEqual(result.get('data').get('login').get('errors')[0].get('field'), 'unknown_error')
self.assertEqual(result.get('errors')[0].get('message'), 'unknown_error')