green: actually delete movies
This commit is contained in:
parent
49c1b79329
commit
e565b445ff
6
crud.py
6
crud.py
|
@ -49,3 +49,9 @@ def get_movie_by_id(db: Session, id_: str = ""):
|
|||
except sqlalchemy.exc.NoResultFound:
|
||||
raise LookupError
|
||||
return db_movie
|
||||
|
||||
|
||||
def delete_movie_by_id(db: Session, id_: str = ""):
|
||||
movie = get_movie_by_id(db, id_)
|
||||
db.delete(movie)
|
||||
db.commit()
|
||||
|
|
8
dev.py
8
dev.py
|
@ -84,6 +84,14 @@ async def get_movie(id_: str, db: Session = Depends(get_db)):
|
|||
return out
|
||||
|
||||
|
||||
@app.delete("/movies/{id_}", status_code=status.HTTP_204_NO_CONTENT)
|
||||
async def delete_movie(id_: str, db: Session = Depends(get_db)):
|
||||
try:
|
||||
movie = crud.delete_movie_by_id(db, id_)
|
||||
except LookupError:
|
||||
raise HTTPException(status_code=404, detail=f"No movie found with id {id_}")
|
||||
|
||||
|
||||
@app.get("/movies/")
|
||||
async def list_movie(db: Session = Depends(get_db)):
|
||||
movies = crud.get_all_movies(db)
|
||||
|
|
|
@ -51,9 +51,11 @@ def rand_name():
|
|||
|
||||
|
||||
class BaseCrud(unittest.TestCase):
|
||||
def test_get_movie_404_if_not_found(self):
|
||||
def test_get_delete_movie_404_if_not_found(self):
|
||||
response = client.get("/movies/-1")
|
||||
assert response.status_code == 404
|
||||
response_delete = client.delete("/movies/-1")
|
||||
assert response_delete.status_code == 404
|
||||
|
||||
def test_create_movie_api(self):
|
||||
name = f"rand_{random.randint(1, 1000)}"
|
||||
|
|
Loading…
Reference in New Issue