コード例 #1
0
 def test_decode_auth_token(self):
     user = UserModel(email='*****@*****.**', password='******')
     db.session.add(user)
     db.session.commit()
     auth_token = user.encode_auth_token(user.id)
     self.assertTrue(isinstance(auth_token, bytes))
     self.assertTrue(UserModel.decode_auth_token(auth_token) == 1)
コード例 #2
0
def sign_up_user_post(environ, start_response):
    """
    Used to manage sign up user request.

    Manage sign_up.html request.

    Parameters
    ----------
    start_response : start_response
        WSGI start_response
    environ : environ
        WSGI python environ

    Returns
    -------
    list
        sign up view

    """
    request = POST(environ)

    fields = set(field for field in User.__dict__)
    dct = {key: value for key, value in request.items() if key in fields}
    user = User(**dct)
    user.password = hashlib.sha256(user.password.encode()).hexdigest()

    try:
        Session = sessionmaker()
        Session.configure(bind=engine)
        session = Session()
        session.add(user)
        session.commit()
        return redirect(start_response, '/')
    except Exception as e:
        return redirect(start_response, '/')
コード例 #3
0
 async def get_user(request, user, logged_user):
     if logged_user.username == user and User.get(
             logged_user.username) is not None:
         return json(User.get(user).export())
     return json(
         {
             'error': 'You cannot access these information',
             'code': 403
         },
         status=403)
コード例 #4
0
def main():
    conn = init_db()
    try:
        conn.use(config.db_name)
        User(username='******', password='******', group=0)
    except r.errors.ReqlOpFailedError:
        build_db(conn)
        User(username='******', password='******', group=0)
    except ThinkTwiceException:
        pass
    init_routes()
    app.run(host=config.webapi_host, port=config.webapi_port)
    return 0
コード例 #5
0
ファイル: test_model.py プロジェクト: Sc0ra/nonogram
def get_user(test_input):
    return User(
        _id=test_input["_id"],
        username=test_input["username"],
        firstname=test_input["firstname"],
        lastname=test_input["lastname"],
        email=test_input["email"],
        password=test_input["password"],
        created_at=test_input["created_at"],
        updated_at=test_input["updated_at"],
        permissions=test_input["permissions"],
    )
コード例 #6
0
def register():
    if current_user.is_authenticated :
        return redirect(url_for('home'))
    form=RegisterForm()
    if form.validate_on_submit() :
        hash_password=bcrypt.generate_password_hash(form.password.data).decode("utf-8")
        user=User(username=form.username.data,email=form.email.data,password=hash_password)
        db.session.add(user)
        db.session.commit()
        flash(f"'{form.username} is created you can login now ","success")
        return redirect(url_for('user.login'))

    return render_template("user/register.html",title="Register",form=form)
コード例 #7
0
ファイル: test_model.py プロジェクト: Sc0ra/nonogram
    def test_user_legit_args(self, test_input, expected):
        user = User(
            username=test_input["username"],
            firstname=test_input["firstname"],
            lastname=test_input["lastname"],
            email=test_input["email"],
            password=test_input["password"],
        )

        assert user.username == expected["username"]
        assert user.firstname == expected["firstname"]
        assert user.lastname == expected["lastname"]
        assert user.email == expected["email"]
        assert user.password == expected["password"]
コード例 #8
0
    def setUp(self):
        """
        Prepares test case.

        Create an user call 'david'.
        """
        password = hashlib.sha256('1t3st1t'.encode()).hexdigest()
        user = User(name='david',
                    email='*****@*****.**',
                    country='CO',
                    password=password)

        Session = sessionmaker()
        Session.configure(bind=engine)
        session = Session()
        session.add(user)
        session.commit()
コード例 #9
0
    def test_unique_email(self):
        """
        Verifies unique email.

        Tries to create user with email '*****@*****.**'.
        """
        password = hashlib.sha256('1t3st1t'.encode()).hexdigest()
        user = User(name='jose',
                    email='*****@*****.**',
                    country='CO',
                    password=password)

        with self.assertRaises(IntegrityError):
            Session = sessionmaker()
            Session.configure(bind=engine)
            session = Session()
            session.add(user)
            session.commit()
コード例 #10
0
 def wrappee(*args, **kwargs):
     headers = args[0].headers
     if 'authorization' not in headers.keys():
         return json({
             'error': 'Missing Authorization header',
             'code': 401
         },
                     status=401)
     try:
         json_user = jwt.decode(headers['authorization'],
                                config.secret,
                                algorithms=['HS256'])
     except jwt.exceptions.DecodeError as e:
         return json({
             'error': 'Invalid Authorization token',
             'code': 401
         },
                     status=401)
     kwargs['logged_user'] = User.get(json_user['username'])
     return f(*args, **kwargs)
コード例 #11
0
 def get_all(self):
     return [User.from_dict(x) for x in super().get_all()]
コード例 #12
0
ファイル: controller.py プロジェクト: Sc0ra/nonogram
def signup(inputs):
    inputs["permissions"] = []
    user = User(**inputs)
    if UserManager().insert_one(user):
        login_user(user)
        return user
コード例 #13
0
ファイル: test_model.py プロジェクト: dankolbman/stoic-users
 def test_password_setter(self):
     u = User(password='******')
     self.assertTrue(u.password_hash is not None)
コード例 #14
0
ファイル: test_model.py プロジェクト: dankolbman/stoic-users
 def test_no_password_getter(self):
     u = User(password='******')
     with self.assertRaises(AttributeError):
         u.password
コード例 #15
0
 def get(self, user_id):
     return User.from_dict(self.collection.find_one({"_id": user_id}))
コード例 #16
0
def from_dict_to_object(data, state):
    username = data['username']
    email = data['email']
    client_id = data['client_id']

    return User(username, email, client_id, state)
コード例 #17
0
 def get_one_by_query(self, query):
     result = self.collection.find_one(query)
     return User.from_dict(result) if result else None
コード例 #18
0
 async def login_user(request):
     return json(
         User.login(request.json['username'], request.json['password']))
コード例 #19
0
 def put_user(request):
     try:
         User(request.json['username'], request.json['password']).export()
         return json({})
     except ThinkTwiceException as e:
         return json({"error": e.message, "code": e.code}, status=e.code)