예제 #1
0
def test_modify_group(engine_fixture, A_group):
    group_table = models.account.Group_TB
    model = DBSession.query(group_table).filter(group_table.group_name == A_group.group_name).scalar()
    assert model.group_id == A_group.group_id

    original_group_id = model.group_id
    new_group_name = id_generator(size=5).decode('utf-8')

    with transaction.manager as tm:
        A_group.group_name = new_group_name
        DBSession.flush()
        find_group = DBSession.query(group_table).filter(group_table.group_name == new_group_name).scalar()
        assert find_group.group_id == original_group_id
예제 #2
0
 def _manual_all_to_json_array(cls, ignore=['password', 'salt']):
     logger.debug('Database not implement array_to_json()')
     users_list = []
     users = DBSession.query(cls).all()
     if users != None:
         for user in users:
             users_list.append(user._manual_to_json(ignore=ignore))
     return users_list
예제 #3
0
 def fin():
     model = DBSession.query(user_table).filter(user_table.user_id == user.user_id).scalar()
     if model:
         DBSession.delete(model)
         DBSession.flush()
         transaction.commit()
         print '(A_user fixture)=> delete'
     if DBSession.dirty:
         transaction.commit()
예제 #4
0
 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()
예제 #5
0
def get_user(request):
    #user_name = unauthenticated_userid(request)
    user_name = request.unauthenticated_userid
    logger.debug('unauthenticated_userid(as username): %s' % user_name)
    if user_name is not None:
        with transaction.manager as tm:
            user_obj = DBSession.query(User_TB).filter(User_TB.user_name == user_name).scalar()
        return user_obj
    logger.debug('get no user')
    return None
예제 #6
0
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
예제 #7
0
파일: user.py 프로젝트: samuelololol/scarab
def get_user_info(request, user_id):
    try:
        u = DBSession.query(User_TB).filter(User_TB.user_id == user_id).scalar()
        if u == None:
            logger.warning('user(user_id: %s) not exist.' % user_id)
            return (False, None)
        rtn = (True, u.to_json(request))
    except Exception, e:
        err_info = ('user_id(%s)' % user_id, inspect.stack()[0][3], traceback.format_exc())
        logger.error('%s:%s, traceback: %s' % err_info, exc_info=True)
        rtn = (False, None)
예제 #8
0
def test_user_to_json(engine_fixture, A_user, MockedRequest):
    user_table = models.account.User_TB
    original_user_name = A_user.user_name
    original_user_id = A_user.user_id

    user = DBSession.query(user_table).filter(user_table.user_id == A_user.user_id).scalar()
    user_json = user.to_json(MockedRequest)

    assert True == isinstance(user_json, dict)
    assert user_json['user_id'] == original_user_id
    assert user_json['user_name'] == original_user_name
예제 #9
0
def test_change_password(engine_fixture, A_user):
    user_table = models.account.User_TB
    original_user_name = A_user.user_name

    with transaction.manager as tm:
        new_user_password = id_generator(size=8)
        A_user.change_password(new_user_password)
        found_user = DBSession.query(user_table).filter(user_table.user_name == original_user_name).scalar()
        success, msg = found_user.pwd_validate(original_user_name, new_user_password)
        print msg
        assert success == True
예제 #10
0
def test_modify_user(engine_fixture, A_user):
    user_table = models.account.User_TB

    original_user_id = A_user.user_id
    new_user_name = id_generator(size=5).decode('utf-8')

    with transaction.manager as tm:
        A_user.user_name = new_user_name
        DBSession.flush()
        find_user = DBSession.query(user_table).filter(user_table.user_name == new_user_name).scalar()
        assert A_user.user_id == find_user.user_id
예제 #11
0
def test_delete_user(engine_fixture, A_group):
    user_table = models.account.User_TB

    user_name=id_generator(size=25).decode('utf-8')
    salt = os.urandom(26).encode('hex')
    password = os.urandom(10).encode('hex')

    with transaction.manager as tm:
        success, user = user_table.create(
                            user_name = user_name,
                            password=password,
                            activated=True,
                            group_id=A_group.group_id
                            )
        assert success == True
        #delete
        DBSession.delete(user)
        DBSession.flush()
        model = DBSession.query(user_table).filter(user_table.user_id == user.user_id).first()
        assert model == None
예제 #12
0
def test_query_group(engine_fixture, A_group):
    group_table = models.account.Group_TB
    group = DBSession.query(group_table).filter(group_table.group_name == A_group.group_name).scalar()
    assert group.group_name == A_group.group_name
예제 #13
0
def test_query_user(engine_fixture, A_user):
    user_table = models.account.User_TB
    model = DBSession.query(user_table).filter(user_table.user_name == A_user.user_name).scalar()
    assert model.user_name == A_user.user_name