From c4de006900b495acdf4b973154027f24d790b370 Mon Sep 17 00:00:00 2001 From: reindert Date: Mon, 18 Apr 2022 21:05:22 +0200 Subject: [PATCH] After module 9: Testing and Deployment --- carsharing.py | 17 +++++++--------- pytest.ini | 3 +++ requirements.txt | 44 ++++++++++++++++++++++++++++++++++++++++++ test/__init__.py | 0 test/carsharing.db | Bin 0 -> 20480 bytes test/test_add_car.py | 35 +++++++++++++++++++++++++++++++++ test/test_get_cars.py | 14 ++++++++++++++ test/test_home.py | 11 +++++++++++ 8 files changed, 114 insertions(+), 10 deletions(-) create mode 100644 pytest.ini create mode 100644 requirements.txt create mode 100644 test/__init__.py create mode 100644 test/carsharing.db create mode 100644 test/test_add_car.py create mode 100644 test/test_get_cars.py create mode 100644 test/test_home.py diff --git a/carsharing.py b/carsharing.py index 2f10152..300cf44 100644 --- a/carsharing.py +++ b/carsharing.py @@ -2,16 +2,13 @@ from fastapi import FastAPI from fastapi import Request from fastapi.middleware.cors import CORSMiddleware -from fastapi.security import HTTPBasic, HTTPBasicCredentials -from sqlmodel import SQLModel, Session, select -from starlette import status +from sqlmodel import SQLModel from starlette.responses import JSONResponse from starlette.status import HTTP_422_UNPROCESSABLE_ENTITY -from db import engine, get_session +from db import engine from routers import cars, web, auth from routers.cars import BadTripException -from schemas import UserOutput, User app = FastAPI(title="Car Sharing") app.include_router(web.router) @@ -45,11 +42,11 @@ async def unicorn_exception_handler(request: Request, exc: BadTripException): ) -@app.middleware("http") -async def add_cars_cookie(request: Request, call_next): - response = await call_next(request) - response.set_cookie(key="cars_cookie", value="you_visited_the_carsharing_app") - return response +# @app.middleware("http") +# async def add_cars_cookie(request: Request, call_next): +# response = await call_next(request) +# response.set_cookie(key="cars_cookie", value="you_visited_the_carsharing_app") +# return response if __name__ == "__main__": diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 0000000..c40576b --- /dev/null +++ b/pytest.ini @@ -0,0 +1,3 @@ +[pytest] +filterwarnings = + ignore::sqlalchemy.exc.SAWarning \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..710224e --- /dev/null +++ b/requirements.txt @@ -0,0 +1,44 @@ + anyio==3.5.0 +asgiref==3.5.0 +attrs==21.4.0 +bcrypt==3.2.0 +certifi==2021.10.8 +cffi==1.15.0 +charset-normalizer==2.0.12 +click==8.0.3 +dnspython==2.2.0 +email-validator==1.1.3 +fastapi==0.73.0 +h11==0.13.0 +httptools==0.2.0 +idna==3.3 +iniconfig==1.1.1 +itsdangerous==2.0.1 +Jinja2==3.0.3 +MarkupSafe==2.0.1 +orjson==3.6.7 +packaging==21.3 +passlib==1.7.4 +pluggy==1.0.0 +py==1.11.0 +pycparser==2.21 +pydantic==1.9.0 +pyparsing==3.0.8 +python-dotenv==0.19.2 +python-multipart==0.0.5 +PyYAML==5.4.1 +requests==2.27.1 +six==1.16.0 +sniffio==1.2.0 +SQLAlchemy==1.4.32 +sqlalchemy2-stubs==0.0.2a21 +sqlmodel==0.0.6 +starlette==0.17.1 +tomli==2.0.1 +typing_extensions==4.1.1 +ujson==4.3.0 +urllib3==1.26.8 +uvicorn==0.15.0 +uvloop==0.16.0 +watchgod==0.7 +websockets==10.1 diff --git a/test/__init__.py b/test/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/test/carsharing.db b/test/carsharing.db new file mode 100644 index 0000000000000000000000000000000000000000..ba57adbe42b4e0cc25795641a4970175f08f987a GIT binary patch literal 20480 zcmeI3&u=3&6vypJGHs^Hx=WL-R#2@eS*a0hMHWFl4$-YRVa~j7v*xwB# zr$>p1n56HaWrQ*Mh*E@5Mb(n3c`2%fu6e1)bJNU?DMnW>~NBDk=A>mk z4{X|Xw(aNis*v^^s>O6e-}ThSX<=ctR>K$jk`2SmlO8J0y!Bfj@7l8|Rym(UpSIlg zCoT6KYLx?D#p>HTcGf##X?mIn|8UIG@nzYb+kMhByKauarx8#fri9@!O z5eg6h0zd!=00AHX1b_e#00KY&2mpbbLZG^2lDqgWipDR8BJfKQizh6sS?29ETtjCe z54orID!dY#$mF%M7S~WX6Kh*_(Ii?rudFUi-G+X^Qy$LT-Z8aS1skz634@r=?A7Ab zN0dh^XwP>FQ+0Y(ZA{h5?{saMx{7DkT%B1ff00e*l5C8%|00;m9AaJ7y+_KC?_3n+W?ZlIb&_~_x;Z@aVOpM05yL@?g zWkJc`LU^l_2%buM%EIGv)l|m&2>VZiG>}0&qEQkR>m?K8Hp1&)KH)sGwkN4fB6S=i zi0MEI?v16fR#bDhl&a5;^-Mn*QJGLV=JazejW-IWVKh-0y~6kz=f~>w108bajj28= zQ8!F%v{AW)UbT}bny54VttgdT_$+$hCUV+Z#wx@;rP>jR$A#K@(7*p<@*`3g6d(Wu zfB+Bx0zd!=00AHX1b_e#00KbZzeJ#mOKa$&B)I-hh>-P%!+P^!{rTx5yLZmHIC{DL z!THJF$>W1Zdz-_~{>0~-&F;k6lHH>wZ^ob59dGmfcSnO(#4ME;CVwDxK>-3l00;m9 eAOHk_01yBIKmZ5;0U!Vb{zn9s3Tx$j@8B