e2e crud 0.2
This commit is contained in:
+19
-15
@@ -25,15 +25,16 @@ class TestJwt:
|
||||
|
||||
|
||||
|
||||
@pytest.mark.parametrize("data, expected_exception",[
|
||||
pytest.param("", AttributeError,id="not_dict_value"),
|
||||
pytest.param({"sub":""},HTTPException, id="empty_value"),
|
||||
pytest.param({"":""},HTTPException, id="empty_key_value")
|
||||
@pytest.mark.parametrize("data, expected_exception, expected_status",[
|
||||
pytest.param("", AttributeError,None,id="not_dict_value"),
|
||||
pytest.param({"sub":""},HTTPException,401,id="empty_value"),
|
||||
pytest.param({"":""},HTTPException,401,id="empty_key_value")
|
||||
])
|
||||
async def test_access_create_negative(self, jwt_service:JwtService, data:dict, expected_exception)->None:
|
||||
with allure.step("create invalid access token"),pytest.raises(expected_exception):
|
||||
async def test_access_create_negative(self, jwt_service:JwtService, data:dict, expected_exception, expected_status:int)->None:
|
||||
with allure.step("create invalid access token"),pytest.raises(expected_exception) as exc_info:
|
||||
await jwt_service.create_access_token(data)
|
||||
|
||||
if expected_exception is HTTPException:
|
||||
assert expected_status == exc_info.value.status_code
|
||||
|
||||
|
||||
@pytest.mark.parametrize("data", [
|
||||
@@ -76,22 +77,25 @@ class TestJwt:
|
||||
assert payload.get("exp")
|
||||
assert payload.get("token_type")
|
||||
|
||||
@pytest.mark.parametrize("data, expected_exception", [
|
||||
pytest.param({"sub": "123", "exp":datetime.now(UTC)-timedelta(minutes=15), "token_type":"access"}, HTTPException, id="wrong_exp"),
|
||||
pytest.param({"sub": "123", "exp":datetime.now(UTC)+timedelta(minutes=15)}, HTTPException, id="no_token_type"),
|
||||
pytest.param({"sub": "123", "token_type":"access"}, HTTPException,id="no_exp"),
|
||||
pytest.param({}, HTTPException, id="empty_data"),
|
||||
pytest.param("", AttributeError, id="not_dict_data")
|
||||
@pytest.mark.parametrize("data, expected_exception, expected_status", [
|
||||
pytest.param({"sub": "123", "exp":datetime.now(UTC)-timedelta(minutes=15), "token_type":"access"}, HTTPException,401, id="wrong_exp"),
|
||||
pytest.param({"sub": "123", "exp":datetime.now(UTC)+timedelta(minutes=15)}, HTTPException, 401,id="no_token_type"),
|
||||
pytest.param({"sub": "123", "token_type":"access"}, HTTPException,401,id="no_exp"),
|
||||
pytest.param({}, HTTPException, 401,id="empty_data"),
|
||||
pytest.param("", AttributeError, None,id="not_dict_data")
|
||||
])
|
||||
async def test_jwt_decode_invalid(self,jwt_service:JwtService, expected_exception, data, monkeypatch)->None:
|
||||
async def test_jwt_decode_invalid(self,jwt_service:JwtService, expected_exception, data, monkeypatch, expected_status)->None:
|
||||
with allure.step("patch a create token function"):
|
||||
async def fake_create_access_token(data:dict)->str:
|
||||
return jwt.encode(data, env_settings.SECRET_KEY, env_settings.ALGORITHM)
|
||||
monkeypatch.setattr(jwt_service, "create_access_token", fake_create_access_token)
|
||||
|
||||
with allure.step("create and decode invalid token"), pytest.raises(expected_exception):
|
||||
with allure.step("create and decode invalid token"), pytest.raises(expected_exception) as exc_info:
|
||||
fake_token=await jwt_service.create_access_token(data)
|
||||
await jwt_service.jwt_decode(fake_token)
|
||||
|
||||
if expected_exception is HTTPException:
|
||||
assert expected_status == exc_info.value.status_code
|
||||
|
||||
|
||||
@pytest.mark.parametrize("time, key, algorithm", [
|
||||
|
||||
Reference in New Issue
Block a user