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()
Esempio n. 2
0
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}
Esempio n. 3
0
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": "******",
    }