Fix #36: fix token url in auto doc (#38)

* Fix #36: fix token url in auto doc

* Define OAuth scheme in authentication base with default /users/login tokenUrl
* Allow to override it through contructor argument of auth class

* Fix test coverage of BaseAuthentication
This commit is contained in:
François Voron
2019-11-03 09:20:16 +01:00
committed by GitHub
parent 6f8bf57d0a
commit 47ad4ce1cc
3 changed files with 25 additions and 10 deletions

View File

@ -1,4 +1,5 @@
import pytest
from fastapi.security import OAuth2PasswordBearer
from starlette.responses import Response
from fastapi_users.authentication import BaseAuthentication
@ -6,9 +7,12 @@ from fastapi_users.authentication import BaseAuthentication
@pytest.mark.asyncio
@pytest.mark.authentication
async def test_not_implemented_methods(user, mock_user_db):
@pytest.mark.parametrize(
"constructor_kwargs", [{}, {"scheme": OAuth2PasswordBearer(tokenUrl="/foo")}]
)
async def test_not_implemented_methods(constructor_kwargs, user, mock_user_db):
response = Response()
base_authentication = BaseAuthentication()
base_authentication = BaseAuthentication(**constructor_kwargs)
with pytest.raises(NotImplementedError):
await base_authentication.get_login_response(user, response)