Пример #1
0
def add_user(sa_session,
             security_agent,
             email,
             password,
             key=None,
             username="******"):
    """
        Add Galaxy User.
        From John https://gist.github.com/jmchilton/4475646
    """
    query = sa_session.query(User).filter_by(email=email)
    if query.count() > 0:
        return query.first()
    else:
        User.use_pbkdf2 = True
        user = User(email)
        user.username = username
        user.set_password_cleartext(password)
        sa_session.add(user)
        sa_session.flush()

        security_agent.create_private_user_role(user)
        # bootstrap user don't need history and datasets permissions
        # to install tools. We comment this out
        #if not user.default_permissions:
        #    security_agent.user_set_default_permissions( user, history=True, dataset=True )

        if key is not None:
            api_key = APIKeys()
            api_key.user_id = user.id
            api_key.key = key
            sa_session.add(api_key)
            sa_session.flush()
        return user
Пример #2
0
def test_localdb():
    user = User(email='testmail', username='******')
    user.set_password_cleartext('test')
    t = LocalDB()
    reject = t.authenticate_user(user, 'wrong', {'redact_username_in_logs': False})
    accept = t.authenticate_user(user, 'test', {'redact_username_in_logs': False})
    assert reject is False
    assert accept is True
Пример #3
0
def test_localdb():
    user = User(email='testmail', username='******')
    user.set_password_cleartext('test123')
    t = LocalDB()
    reject = t.authenticate_user(user, 'wrong',
                                 {'redact_username_in_logs': False})
    accept = t.authenticate_user(user, 'test123',
                                 {'redact_username_in_logs': False})
    assert reject is False
    assert accept is True
    # Password must conform to policy (length etc)
    try:
        user.set_password_cleartext('test')
    except Exception:
        pass
    else:
        raise Exception("Password policy validation failed")