Esempio n. 1
0
    def post(cls):
        user_json = request.get_json()
        user = UserSchema().load(user_json)

        if not user.password:
            return max_err(USER_NO_PASSWORD, 404)

        if UserModel.find_by_username(user.username):
            return max_err(USER_ALREADY_EXISTS, 400)

        user.set_password(user.password)
        user.save_to_db()

        return max_res(CREATED_SUCCESSFULLY.format(username=user.username),
                       201)
Esempio n. 2
0
def register_user():
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['password']
        #email = request.form['email']

        if UserModel.find_by_username(username):
            return "Username already exists! Try with another name."
        else:
            hashed_password=Utils.hash_password(password)
            user = UserSchema().load({"username":username, "password":hashed_password})
            user.save_to_db()
            session['username'] = user.username
            return redirect(url_for("webmodels.index"))

    return render_template("users/register.html")  
Esempio n. 3
0
 def test_register_with_existing_name(self):
     tester = app.test_client(self)
     username = '******'
     test_user = UserSchema().load({
         'username': username,
         'password': '******'
     }).data
     test_user.save_to_db()
     response = tester.post(
         '/users',
         data=json.dumps(dict(username=username, password='******')),
         content_type='application/json'
     )
     test_user.delete_from_db()
     self.assertEqual(response.status_code, 400)
     assert ('username' in json.loads(response.data.decode('utf-8'))['errors'])
     self.assertIn(b'user with username = \\"{}\\" already exists.'.format(username), response.data)