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
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
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
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
def test_get_users(db: Session): actual_users = UserFactory.create_batch(3) retrieved_users = user_crud.get_multi(db) assert actual_users == retrieved_users
def get_users( *, db: Session = Depends(get_db), pagination: PaginationQueryParams = Depends() ) -> Any: return user_crud.get_multi(db, pagination.skip, pagination.limit)