예제 #1
0
 def test_fails_with_bad_token(self):
     user = User(
         username='******',
         password='******',
         salt='salt',
     ).save()
     with pytest.raises(ValidationError):
         SessionService.create_session(user, 1234)
예제 #2
0
 def attempt_login(cls, username, password):
     user = UserService.get_user(username)
     if not user:
         return None
     hashed_pass = hash_password(password, user.salt)
     if hashed_pass != user.password:
         return None
     session = SessionService.get_session_by_user(user)
     if session:
         return session.token
     token = gen_token()
     SessionService.create_session(user, token)
     return token
예제 #3
0
 def attempt_login(cls, username, password):
     user = UserService.get_user(username)
     if not user:
         return None
     hashed_pass = hash_password(password, user.salt)
     if hashed_pass != user.password:
         return None
     session = SessionService.get_session_by_user(user)
     if session:
         return session.token
     token = gen_token()
     SessionService.create_session(user, token)
     return token
예제 #4
0
 def test_returns_none_when_session_does_not_exist(self):
     User(
         username='******',
         password='******',
         salt='salt',
     ).save()
     session = SessionService.get_session_by_token('token')
     assert session is None
예제 #5
0
 def test_fails_silently_when_session_does_not_exist(self):
     user = User(
         username='******',
         password='******',
         salt='salt',
     ).save()
     result = SessionService.delete_session_by_user(user)
     assert result is False
     with pytest.raises(Session.DoesNotExist):
         Session.objects.get(user=user)
예제 #6
0
 def test_creates_session(self):
     user = User(
         username='******',
         password='******',
         salt='salt',
     ).save()
     result = SessionService.create_session(user, 'token')
     session = Session.objects.get(user=user)
     assert result is True
     assert session.user.username == 'username'
     assert session.token == 'token'
예제 #7
0
 def test_returns_session_when_session_exists(self):
     user = User(
         username='******',
         password='******',
         salt='salt',
     ).save()
     Session(
         user=user,
         token='token',
     ).save()
     session = SessionService.get_session_by_token('token')
     assert session is not None
     assert session.user.username == 'username'
     assert session.token == 'token'
예제 #8
0
 def test_deletes_session_when_session_exists(self):
     user = User(
         username='******',
         password='******',
         salt='salt',
     ).save()
     Session(
         user=user,
         token='token',
     ).save()
     session = Session.objects.get(user=user)
     assert session is not None
     result = SessionService.delete_session_by_user(user)
     assert result is True
     with pytest.raises(Session.DoesNotExist):
         Session.objects.get(user=user)
예제 #9
0
 def verify_token(cls, token):
     session = SessionService.get_session_by_token(token)
     return True if session else False
예제 #10
0
 def verify_token(cls, token):
     session = SessionService.get_session_by_token(token)
     return True if session else False
예제 #11
0
 def test_fails_silently_when_session_does_not_exist(self):
     result = SessionService.delete_session_by_token('token')
     assert result is False
     with pytest.raises(Session.DoesNotExist):
         Session.objects.get(token='token')