Example #1
0
def test_delete_user(db: Session, client: TestClient, http_basic_auth: HTTPBasicAuth):
    user = user_crud.get_multi(db)[0]  # there is already one from basic auth
    response = client.delete(f'/users/{user.id}', auth=http_basic_auth)
    assert response.status_code == status.HTTP_200_OK

    actual_user = UserSchema.from_orm(user)
    retrieved_user = UserSchema.parse_raw(response.text)
    assert actual_user == retrieved_user
Example #2
0
def test_get_users(db: Session, client: TestClient, http_basic_auth: HTTPBasicAuth):
    existing_users = user_crud.get_multi(db)
    users = UserFactory.create_batch(3)
    response = client.get('/users', auth=http_basic_auth)
    assert response.status_code == status.HTTP_200_OK

    actual_users = UserListSchema(__root__=existing_users + users)
    retrieved_users = UserListSchema.parse_raw(response.text)
    assert actual_users == retrieved_users
Example #3
0
def test_update_user(db: Session, client: TestClient, http_basic_auth: HTTPBasicAuth):
    user = user_crud.get_multi(db)[0]  # there is already one from basic auth
    new_user_data = UserUpdateSchema(**UserCreateFactory().dict())
    response = client.put(
        f'/users/{user.id}', json=jsonable_encoder(new_user_data), auth=http_basic_auth
    )
    assert response.status_code == status.HTTP_200_OK

    retrieved_user_data = UserSchema.parse_raw(response.text)
    assert new_user_data.login == retrieved_user_data.login
Example #4
0
def test_create_review(db: Session, client: TestClient,
                       http_basic_auth: HTTPBasicAuth):
    user = user_crud.get_multi(db)[0]  # there is already one from basic auth
    film = FilmFactory()
    actual_review_data = ReviewCreateFactory(user_id=user.id, film_id=film.id)
    response = client.post('/reviews',
                           json=jsonable_encoder(actual_review_data),
                           auth=http_basic_auth)
    assert response.status_code == status.HTTP_201_CREATED

    retrieved_reviewed_data = ReviewCreateSchema.parse_raw(response.text)
    assert actual_review_data == retrieved_reviewed_data
Example #5
0
def test_get_users(db: Session):
    actual_users = UserFactory.create_batch(3)
    retrieved_users = user_crud.get_multi(db)
    assert actual_users == retrieved_users
Example #6
0
def get_users(
    *,
    db: Session = Depends(get_db),
    pagination: PaginationQueryParams = Depends()
) -> Any:
    return user_crud.get_multi(db, pagination.skip, pagination.limit)