Exemplo n.º 1
0
    def test_change_user_info(self):
        """Test change user info."""
        Permission.insert_permissions(permissions_dict)
        user = User(email="*****@*****.**",
                    username="******",
                    password="******")
        user.confirmed = True
        db.session.add(user)
        db.session.commit()

        response = self.client.post(
            url_for("auth.login"),
            data={
                "identifier": "test",
                "password": "******",
                "remember_me": "False"
            },
            follow_redirects=True,
        )
        self.assertTrue("Hello, test!" in response.get_data(as_text=True))

        response = self.client.post(
            url_for("main.user_info_edit"),
            data={
                "name": "mike",
                "age": "15",
                "location": "China",
                "about_me": "hi"
            },
            follow_redirects=True,
        )
        self.assertTrue(
            "You have successfully updated your profile." in response.get_data(
                as_text=True))
Exemplo n.º 2
0
def fake_user():
    """Generating some random data then insert to the database."""
    if app.config.get("MAIL_SUPPRESS_SEND") != True:
        print("MAIL_SUPPRESS_SEND must be equal to True.")
        return False

    db.create_all()
    Permission.insert_permissions(permissions_dict)
    for a in range(30):
        try:
            email = fake.email()
            username = fake.user_name()
            user = User(
                email=email,
                username=username,
                password="******",
                confirmed=True,
                name=fake.name(),
                age=fake.random_int() % 100,
                location=fake.address(),
                about_me=fake.bs(),
            )
            db.session.add(user)
            db.session.commit()
            print('Generate user "%s":"%s"' % (username, email))
        except:
            db.session.rollback()

    return True
Exemplo n.º 3
0
 def setUp(self):
     self.app = create_app("testing")
     self.app_context = self.app.app_context()
     self.app_context.push()
     self.client = self.app.test_client()
     db.create_all()
     Permission.insert_permissions(permissions_dict)
Exemplo n.º 4
0
def create():
    """
        Performing some necessary commands then run a app instance.
        """
    db.create_all()
    Permission.insert_permissions(permissions_dict)
    search.create_index(update=True)
    app.run()
Exemplo n.º 5
0
    def test_admin_promote(self):
        """Test the whether a admin account can promote another normal account to a admin account."""
        Permission.insert_permissions(permissions_dict)
        admin_user = User(
            email=self.app.config.get("FLASK_ADMIN"),
            username="******",
            password="******",
        )
        admin_user.confirmed = True
        db.session.add(admin_user)
        db.session.commit()

        normal_user = User(email="*****@*****.**",
                           username="******",
                           password="******")
        normal_user.confirmed = True
        db.session.add(normal_user)
        db.session.commit()

        response = self.client.post(
            url_for("auth.login"),
            data={
                "identifier": "admin",
                "password": "******",
                "remember_me": "False"
            },
            follow_redirects=True,
        )
        self.assertTrue("Hello, admin!" in response.get_data(as_text=True))

        response = self.client.post(
            url_for("main.admin_info_edit", username="******"),
            data={
                "email": "*****@*****.**",
                "username": "******",
                "permission": ["admin"]
            },
            follow_redirects=True,
        )
        self.assertTrue("Updata successfully." in response.get_data(
            as_text=True))
Exemplo n.º 6
0
    def test_admin(self):
        """Test the default admin account whether it can be set correctly."""
        Permission.insert_permissions(permissions_dict)
        user = User(
            email=self.app.config.get("FLASK_ADMIN"),
            username="******",
            password="******",
        )
        user.confirmed = False
        db.session.add(user)
        db.session.commit()

        response = self.client.post(
            url_for("auth.login"),
            data={
                "identifier": "test",
                "password": "******",
                "remember_me": "False"
            },
            follow_redirects=True,
        )
        self.assertTrue("Hello, test!" in response.get_data(as_text=True))
Exemplo n.º 7
0
    def test_user_permission_relationship(self):
        """Test that whether both of the User Model and Permission Model has correct relationship."""
        user1 = User(email="*****@*****.**",
                     username="******",
                     password="******")
        user2 = User(email="*****@*****.**",
                     username="******",
                     password="******")
        Permission.insert_permissions(permissions_dict)
        per1, per2 = Permission.query.get(1), Permission.query.get(2)
        user1.permissions.append(per1)
        user1.permissions.append(per2)
        user2.permissions.append(per1)
        db.session.add(user1, user2)
        db.session.commit()

        self.assertTrue(len(user1.permissions.all()) == 2)
        self.assertTrue(len(user2.permissions.all()) == 1)
        self.assertTrue(len(per1.users.all()) == 2)
        self.assertTrue(len(per2.users.all()) == 1)

        self.assertTrue(per1 in user1.permissions.all())
        self.assertTrue(user1 in per2.users.all())
        self.assertTrue(user2 in per1.users.all())
Exemplo n.º 8
0
    def test_insert_permissions(self):
        """Test inserting permissions to the Permission Model."""
        Permission.insert_permissions(permissions_dict)

        self.assertTrue(len(permissions_dict) == len(Permission.query.all()))