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))
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
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)
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()
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))
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))
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())
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()))