def test_logged_in_user_returns_the_stored_User_instance_from_last_time( self): """testing if logged_in_user returns the logged in user """ # create a new user new_user = User(name='Test User', login='******', email='*****@*****.**', password='******') # save it to the Database DBSession.add(new_user) DBSession.commit() self.assertTrue(new_user.id is not None) # save it to the local storage local_session = LocalSession() local_session.store_user(new_user) # save the session local_session.save() # now get it back with a new local_session local_session2 = LocalSession() self.assertEqual(local_session2.logged_in_user_id, new_user.id) self.assertEqual(local_session2.logged_in_user, new_user)
def login(self): """does the nasty details for user to login """ # check the given user password from stalker import User # get the user first login = self.login_or_email_lineEdit.text() password = self.password_lineEdit.text() # check with the login or email attribute user = User.query \ .filter(or_(User.login == login, User.email == login)) \ .first() if user: self.success = user.check_password(password) if self.success: from stalker.models.auth import LocalSession session = LocalSession() session.store_user(user) session.save() self.accept() else: QtGui.QMessageBox.critical( self, "Error", "login or password is incorrect" )
def login(self): """does the nasty details for user to login """ # check the given user password from stalker import User # get the user first login = self.login_or_email_lineEdit.text() password = self.password_lineEdit.text() # check with the login or email attribute user = User.query \ .filter(or_(User.login == login, User.email == login)) \ .first() if user: self.success = user.check_password(password) if self.success: from stalker.models.auth import LocalSession session = LocalSession() session.store_user(user) session.save() self.accept() else: QtGui.QMessageBox.critical(self, "Error", "login or password is incorrect")
def test_delete_will_delete_the_session_cache(self): """testing if the LocalSession.delete() will delete the current cache file """ # create a new user new_user = User( name='Test User', login='******', email='*****@*****.**', password='******' ) # save it to the Database DBSession.add(new_user) DBSession.commit() self.assertTrue(new_user.id is not None) # save it to the local storage local_session = LocalSession() local_session.store_user(new_user) # save the session local_session.save() # check if the file is created # check if a file is created in the users local storage self.assertTrue( os.path.exists( os.path.join( defaults.local_storage_path, defaults.local_session_data_file_name ) ) ) # now delete the session by calling delete() local_session.delete() # check if the file is gone # check if a file is created in the users local storage self.assertFalse( os.path.exists( os.path.join( defaults.local_storage_path, defaults.local_session_data_file_name ) ) ) # delete a second time # this should not raise an OSError local_session.delete()
def test_LocalSession_will_not_use_the_stored_data_if_it_is_invalid(self): """testing if the LocalSession will not use the stored session if it is not valid anymore """ # create a new user new_user = User( name='Test User', login='******', email='*****@*****.**', password='******' ) # save it to the Database DBSession.add(new_user) DBSession.commit() self.assertTrue(new_user.id is not None) # save it to the local storage local_session = LocalSession() local_session.store_user(new_user) # save the session local_session.save() # set the valid time to an early date local_session.valid_to = \ datetime.datetime.now() - datetime.timedelta(10) # pickle the data data = json.dumps( { 'valid_to': local_session.valid_to, 'logged_in_user_id': -1 }, default=local_session.default_json_serializer ) print('data: %s' % data) local_session._write_data(data) # now get it back with a new local_session local_session2 = LocalSession() self.assertEqual( local_session2.logged_in_user_id, None ) self.assertTrue(local_session2.logged_in_user is None)
def login(self): """does the nasty details for user to login """ # check the given user password from stalker import User # get the user first login = self.login_or_email_lineEdit.text() password = self.password_lineEdit.text() # check with the login or email attribute user = User.query \ .filter(or_(User.login == login, User.email == login)) \ .first() if user: self.success = user.check_password(password) if self.success: from stalker.models.auth import LocalSession session = LocalSession() session.store_user(user) session.save() # also store a log import datetime from stalker.models.auth import LOGIN, AuthenticationLog al = AuthenticationLog( user=user, date=datetime.datetime.now(), action=LOGIN ) from stalker import db db.DBSession.add(al) db.DBSession.commit() self.accept() else: QtWidgets.QMessageBox.critical( self, "Error", "login or password is incorrect" )
def login(self): """does the nasty details for user to login """ # check the given user password from stalker import User # get the user first login = self.login_or_email_lineEdit.text() password = self.password_lineEdit.text() # check with the login or email attribute user = User.query \ .filter(or_(User.login == login, User.email == login)) \ .first() if user: self.success = user.check_password(password) if self.success: from stalker.models.auth import LocalSession session = LocalSession() session.store_user(user) session.save() # also store a log import datetime from stalker.models.auth import LOGIN, AuthenticationLog al = AuthenticationLog( user=user, date=datetime.datetime.now(), action=LOGIN ) from stalker.db.session import DBSession DBSession.add(al) DBSession.commit() self.accept() else: QtWidgets.QMessageBox.critical( self, "Error", "login or password is incorrect" )
def test_delete_will_delete_the_session_cache(self): """testing if the LocalSession.delete() will delete the current cache file """ # create a new user new_user = User(name='Test User', login='******', email='*****@*****.**', password='******') # save it to the Database DBSession.add(new_user) DBSession.commit() self.assertTrue(new_user.id is not None) # save it to the local storage local_session = LocalSession() local_session.store_user(new_user) # save the session local_session.save() # check if the file is created # check if a file is created in the users local storage self.assertTrue( os.path.exists( os.path.join(defaults.local_storage_path, defaults.local_session_data_file_name))) # now delete the session by calling delete() local_session.delete() # check if the file is gone # check if a file is created in the users local storage self.assertFalse( os.path.exists( os.path.join(defaults.local_storage_path, defaults.local_session_data_file_name))) # delete a second time # this should not raise an OSError local_session.delete()
def test_LocalSession_will_not_use_the_stored_data_if_it_is_invalid(self): """testing if the LocalSession will not use the stored session if it is not valid anymore """ # create a new user new_user = User(name='Test User', login='******', email='*****@*****.**', password='******') # save it to the Database DBSession.add(new_user) DBSession.commit() self.assertTrue(new_user.id is not None) # save it to the local storage local_session = LocalSession() local_session.store_user(new_user) # save the session local_session.save() # set the valid time to an early date local_session.valid_to = \ datetime.datetime.now() - datetime.timedelta(10) # pickle the data data = json.dumps( { 'valid_to': local_session.valid_to, 'logged_in_user_id': -1 }, default=local_session.default_json_serializer) print('data: %s' % data) local_session._write_data(data) # now get it back with a new local_session local_session2 = LocalSession() self.assertEqual(local_session2.logged_in_user_id, None) self.assertTrue(local_session2.logged_in_user is None)
def test_logged_in_user_returns_the_stored_User_instance_from_last_time(self): """testing if logged_in_user returns the logged in user """ # create a new user new_user = User( name='Test User', login='******', email='*****@*****.**', password='******' ) # save it to the Database DBSession.add(new_user) DBSession.commit() self.assertIsNotNone(new_user.id) # save it to the local storage local_session = LocalSession() local_session.store_user(new_user) # save the session local_session.save() # now get it back with a new local_session local_session2 = LocalSession() self.assertEqual( local_session2.logged_in_user_id, new_user.id ) self.assertEqual( local_session2.logged_in_user, new_user )