def change_password(self, new_password): global DBSession hashed_pwd = hashlib.sha512(self.salt + new_password).hexdigest() self.password = hashed_pwd DBSession.add(self) DBSession.flush() logger.info('user %s password changed' % self.user_name) return (True, None)
def create(cls, user_name, password, activated, group_id, description=None): global DBSession salt = os.urandom(26).encode('hex') logger.debug('create salt: %s' % salt) hashed_pwd = hashlib.sha512(salt + password).hexdigest() model = cls(user_name=user_name, description=description, password=hashed_pwd, salt=salt, activated=activated, group_id=group_id) DBSession.add(model) DBSession.flush() logger.info('user %s created' % user_name) return (True, model)
def A_group(request, engine_fixture): group_table = models.account.Group_TB with transaction.manager as tm: group = group_table(group_name=id_generator(size=25).decode('utf-8')) DBSession.add(group) DBSession.flush() print "(A_group fixture) created" def fin(): model = DBSession.query(group_table).filter(group_table.group_id == group.group_id).scalar() if model: DBSession.delete(model) DBSession.flush() transaction.commit() print '(A_group fixture) delete' if DBSession.dirty: transaction.commit() request.addfinalizer(fin) return group
def test_delete_group(engine_fixture): group_table = models.account.Group_TB new_group_name = id_generator(size=25).decode('utf-8') with transaction.manager as tm: #create new_model = group_table(group_name=new_group_name) DBSession.add(new_model) DBSession.flush() model = DBSession.query(group_table).filter(group_table.group_name == new_group_name).scalar() assert model #delete DBSession.delete(model) DBSession.flush() model = DBSession.query(group_table).filter(group_table.group_name == new_group_name).first() assert model == None