def test_roles(self):
        username = uuid.uuid4().hex
        password = uuid.uuid4().hex
        user = User.create(username, password)
        self.assertTrue(user.has_roles())
        username = uuid.uuid4().hex
        password = uuid.uuid4().hex
        user = User(username=username, password=password)
        role_names = map(lambda i: uuid.uuid4().hex, range(3))
        roles = []
        for role_name in role_names:
            role = Role.create(role_name)
            user.roles.append(role)
            roles.append(role)

        db.session.add(user)
        db.session.commit()
        self.assertTrue(
            user.has_roles(allowed=[roles[0].name, roles[1].name]))
        self.assertTrue(
            user.has_roles(allowed=[roles[0].name, "foo"]))
        self.assertTrue(
            user.has_roles(allowed=["foo", roles[0].name]))
        self.assertFalse(
            user.has_roles(allowed=["foo"]))
        self.assertTrue(
            user.has_roles(required=[roles[0].name, roles[1].name]))
        self.assertFalse(
            user.has_roles(required=[roles[0].name, roles[1].name, "foo"]))
 def test_user_auth_token(self):
     username = uuid.uuid4().hex
     password = uuid.uuid4().hex
     user = User.create(username, password)
     self.assertEqual(
         user.get_auth_token(),
         login_serializer.dumps([str(user.id), user.password]))
Exemplo n.º 3
0
 def test_user_auth_token(self):
     username = uuid.uuid4().hex
     password = uuid.uuid4().hex
     user = User.create(username, password)
     self.assertEqual(
         user.get_auth_token(),
         login_serializer.dumps([str(user.id), user.password]))
    def test_roles(self):
        username = uuid.uuid4().hex
        password = uuid.uuid4().hex
        user = User.create(username, password)
        self.assertTrue(user.has_roles())
        username = uuid.uuid4().hex
        password = uuid.uuid4().hex
        user = User(username=username, password=password)
        role_names = map(lambda i: uuid.uuid4().hex, range(3))
        roles = []
        for role_name in role_names:
            role = Role.create(role_name)
            user.roles.append(role)
            roles.append(role)

        db.session.add(user)
        db.session.commit()
        self.assertTrue(user.has_roles(allowed=[roles[0].name, roles[1].name]))
        self.assertTrue(user.has_roles(allowed=[roles[0].name, "foo"]))
        self.assertTrue(user.has_roles(allowed=["foo", roles[0].name]))
        self.assertFalse(user.has_roles(allowed=["foo"]))
        self.assertTrue(
            user.has_roles(required=[roles[0].name, roles[1].name]))
        self.assertFalse(
            user.has_roles(required=[roles[0].name, roles[1].name, "foo"]))
 def test_create_user(self):
     username = uuid.uuid4().hex
     password = uuid.uuid4().hex
     user_id = User.create(username, password).id
     db.session.remove()
     user = User.query.filter_by(id=user_id).first()
     self.assertIsNotNone(user)
     self.assertEqual(user.username, username)
 def test_create_user(self):
     username = uuid.uuid4().hex
     password = uuid.uuid4().hex
     user_id = User.create(username, password).id
     db.session.remove()
     user = User.query.filter_by(id=user_id).first()
     self.assertIsNotNone(user)
     self.assertEqual(user.username, username)
    def setUp(self):
        super(TestLogin, self).setUp()

        # create a normal user
        self.normal_username = uuid.uuid4().hex
        self.normal_password = uuid.uuid4().hex
        self.normal_user = User.create(self.normal_username,
                                       self.normal_password)

        # create an admin
        self.admin_username = uuid.uuid4().hex
        self.admin_password = uuid.uuid4().hex
        self.admin_user = User.create(self.admin_username, self.admin_password)
        self.admin_user.roles.append(Role.create("admin"))

        # commit the changes to the database
        db.session.commit()
    def test_check_password(self):
        username = uuid.uuid4().hex
        password = uuid.uuid4().hex
        user = User.create(username, password)
        self.assertTrue(user.check_password(password))
        self.assertFalse(user.check_password(""))

        with self.assertRaises(AssertionError):
            user.check_password(None)
    def test_check_password(self):
        username = uuid.uuid4().hex
        password = uuid.uuid4().hex
        user = User.create(username, password)
        self.assertTrue(user.check_password(password))
        self.assertFalse(user.check_password(""))

        with self.assertRaises(AssertionError):
            user.check_password(None)
Exemplo n.º 10
0
    def setUp(self):
        super(TestLogin, self).setUp()

        # create a normal user
        self.normal_username = uuid.uuid4().hex
        self.normal_password = uuid.uuid4().hex
        self.normal_user = User.create(
            self.normal_username, self.normal_password)

        # create an admin
        self.admin_username = uuid.uuid4().hex
        self.admin_password = uuid.uuid4().hex
        self.admin_user = User.create(
            self.admin_username, self.admin_password)
        self.admin_user.roles.append(Role.create("admin"))

        # commit the changes to the database
        db.session.commit()
    def test_get(self):
        username = uuid.uuid4().hex
        password = uuid.uuid4().hex
        user = User.create(username, password)
        user_by_id = User.get(user.id)
        self.assertEqual(user_by_id.id, user.id)
        user_by_name = User.get(user.username)
        self.assertEqual(user_by_name.id, user.id)

        with self.assertRaises(TypeError):
            User.get(None)
    def test_get(self):
        username = uuid.uuid4().hex
        password = uuid.uuid4().hex
        user = User.create(username, password)
        user_by_id = User.get(user.id)
        self.assertEqual(user_by_id.id, user.id)
        user_by_name = User.get(user.username)
        self.assertEqual(user_by_name.id, user.id)

        with self.assertRaises(TypeError):
            User.get(None)
 def test_is_active(self):
     username = uuid.uuid4().hex
     password = uuid.uuid4().hex
     user = User.create(username, password)
     self.assertTrue(user.is_active())
     user.active = False
     self.assertFalse(user.is_active())
     user.active = True
     self.assertTrue(user.is_active())
     user.expiration = datetime.now() + timedelta(seconds=.5)
     time.sleep(1.5)
     self.assertFalse(user.is_active())
     user.expiration = datetime.now() + timedelta(days=1)
     self.assertTrue(user.is_active())
 def test_is_active(self):
     username = uuid.uuid4().hex
     password = uuid.uuid4().hex
     user = User.create(username, password)
     self.assertTrue(user.is_active())
     user.active = False
     self.assertFalse(user.is_active())
     user.active = True
     self.assertTrue(user.is_active())
     user.expiration = datetime.now() + timedelta(seconds=.5)
     time.sleep(1.5)
     self.assertFalse(user.is_active())
     user.expiration = datetime.now() + timedelta(days=1)
     self.assertTrue(user.is_active())
Exemplo n.º 15
0
def setup_page():
    form = NewUserForm(request.form)

    if request.method == "GET":
        # create the admin role if it does not exist and
        # find any existing administrators
        admin_role = Role.query.filter_by(name="admin").first()
        if admin_role is None:
            admin_role = Role.create("admin")
            admin_users = []
        else:
            admin_users = admin_role.users

        return render_template("pyfarm/setup.html",
                               form=form,
                               admin_role=admin_role,
                               admin_users=admin_users)

    elif request.method == "POST":
        if form.validate():
            # make sure we're still the only admin
            admin_role = Role.query.filter_by(name="admin").first()

            if admin_role and admin_role.users.first():
                return render_template(
                    "pyfarm/setup.html",
                    error="someone else created an administrator")

            user = User.create(request.form["username"],
                               request.form["password"],
                               email=request.form["email"])
            user.roles.append(Role.create("admin"))
            db.session.add(user)
            db.session.commit()

            return render_template("pyfarm/setup.html",
                                   finished=True,
                                   redirect_seconds=5)

        return render_template("pyfarm/setup.html", form=form)
Exemplo n.º 16
0
def setup_page():
    form = NewUserForm(request.form)

    if request.method == "GET":
        # create the admin role if it does not exist and
        # find any existing administrators
        admin_role = Role.query.filter_by(name="admin").first()
        if admin_role is None:
            admin_role = Role.create("admin")
            admin_users = []
        else:
            admin_users = admin_role.users

        return render_template(
            "pyfarm/setup.html", form=form,
            admin_role=admin_role, admin_users=admin_users)

    elif request.method == "POST":
        if form.validate():
            # make sure we're still the only admin
            admin_role = Role.query.filter_by(name="admin").first()

            if admin_role and admin_role.users.first():
                return render_template(
                    "pyfarm/setup.html",
                    error="someone else created an administrator")

            user = User.create(
                request.form["username"],
                request.form["password"],
                email=request.form["email"])
            user.roles.append(Role.create("admin"))
            db.session.add(user)
            db.session.commit()

            return render_template(
                "pyfarm/setup.html", finished=True, redirect_seconds=5)

        return render_template("pyfarm/setup.html", form=form)
 def test_get_id(self):
     username = uuid.uuid4().hex
     password = uuid.uuid4().hex
     user = User.create(username, password)
     self.assertEqual(user.get_id(), user.id)
 def test_hash_password(self):
     username = uuid.uuid4().hex
     password = uuid.uuid4().hex
     user = User.create(username, password)
     self.assertEqual(user.password, User.hash_password(password))
 def test_hash_password(self):
     username = uuid.uuid4().hex
     password = uuid.uuid4().hex
     user = User.create(username, password)
     self.assertEqual(user.password, User.hash_password(password))
 def test_get_id(self):
     username = uuid.uuid4().hex
     password = uuid.uuid4().hex
     user = User.create(username, password)
     self.assertEqual(user.get_id(), user.id)