def add_users(db: Session) -> None: """Add demo users to db.""" one = User(id=USER_ONE_ID, email="*****@*****.**", username="******", password_hash=SECRET) db.add(one) logger.info("User added", username=one.username) two = User(id=USER_TWO_ID, email="*****@*****.**", username="******", password_hash=SECRET) db.add(two) two.follows.append(one) logger.info("User added", username=two.username) # Postman tests expect this user to be present johnjacob = User( id=USER_JOHNJACOB_ID, email="*****@*****.**", username="******", password_hash=SECRET, ) db.add(johnjacob) johnjacob.follows.append(one) logger.info("User added", username=johnjacob.username) db.flush()
def register(request: Request) -> UserResponse: """User registers to Conduit app.""" body = request.openapi_validated.body user = User( email=body.user.email, username=body.user.username, password_hash=argon2.hash(body.user.password), ) request.db.add(user) request.db.flush() # so that user.id is set and JWT token can be generated request.response.status_code = 201 return {"user": user}
def test_json_renderer(dummy_request: DummyRequest) -> None: """Test that User is correctly rendered for an OpenAPI JSON response.""" dummy_request.create_jwt_token = mock.Mock() dummy_request.create_jwt_token.return_value = "token" user = User(id=1, username="******", email="*****@*****.**", bio="biö", image="imäge") renderer = json_renderer() output = renderer(None)(user, {"request": dummy_request}) assert json.loads(output) == { "bio": "biö", "email": "*****@*****.**", "image": "imäge", "token": "token", "username": "******", }