def app(): db_dir = tempfile.mkdtemp() media_dir = tempfile.mkdtemp() app = create_app({ "TESTTING": True, "SERVER_NAME": "localhost.localdomain", "SQLALCHEMY_DATABASE_URI": "sqlite:////{}/db.sqlite".format(db_dir), "UPLOAD_FOLDER": media_dir, }) with app.app_context(): db.create_all() user = User("admin", "*****@*****.**", stuff=True, superuser=True) user.set_password("admin") db.session.add(user) db.session.commit() yield app shutil.rmtree(db_dir) shutil.rmtree(media_dir)
def create_superuser(app: Flask) -> None: print("create superuser...") with app.app_context(): admin = User("admin", "*****@*****.**", stuff=True, superuser=True) admin.set_password("admin") db.session.add(admin) db.session.commit()
def create_users(app: Flask) -> None: print("create some fake users...") with app.app_context(): for _ in range(10): username = name() user = User(username, "{}@{}.org".format(username, word())) user.set_password("password") db.session.add(user) db.session.commit()
def create_superuser(username, email, password) -> None: if not username or not email or not password: click.echo("Failed.") return user = User(username, email, stuff=True, superuser=True) user.set_password(password) db.session.add(user) db.session.commit() click.echo("Created.")
def register(): if current_user.is_authenticated: return redirect(url_for('main.index')) form = RegistrationForm() if form.validate_on_submit(): user = User(username=form.username.data, email=form.email.data) user.set_password(form.password.data) db.session.add(user) db.session.commit() flash('Congratulations, you are now a registered user!') return redirect(url_for('main.login')) return render_template('register.html', title='Register', form=form)
def post(self): data = request.get_json() or {} username = data.get("username") password = data.get("password") email = data.get("email") if not username or not password or not email: return invalid_api_usage("No username, password, email provided", 400) if not check_password(password): return invalid_api_usage("Invalid password", 400) user = User(username, email) user.set_password(password) db.session.add(user) db.session.commit() return {"message": "success"}, 201
def stuff_client(app: Flask): client = app.test_client() user = User("stuff", "*****@*****.**", stuff=True) user.set_password("stuffpsw") with app.app_context(): db.session.add(user) db.session.commit() res = client.post("/auth/token/login", json={ "username": "******", "password": "******", }) assert res.is_json token = res.get_json().get("token") client.environ_base["HTTP_AUTHORIZATION"] = "Bearer {}".format(token) return client