Junior — Middle
Hogyan valósítható meg egy egységes jogosultsági rendszer különböző tesztesetekhez?
sobes.tech MI
Válasz az MI-től
Az egységes hitelesítési rendszer bevezetéséhez külön modult vagy segédprogramot hoznak létre, amely felelős az autentikációs folyamatért és a hozzáférési tokenek megszerzéséért. Ezt a modult újra lehet használni minden tesztben, elkerülve a kód ismétlését és megkönnyítve a karbantartást.
Fő megközelítések:
- API használata az autorizációhoz: A teszt elején meghívják a bejelentkezési API-t, a kapott tokent elmentik, és a kérés fejlécében használják.
- A token tárolása globális kontextusban: Például a tesztkeretben a tokent globális változóban vagy a munkamenet kontextusában lehet tárolni.
- A token átadása a teszteknek: A tesztek egy közös helyről szerzik be a tokent, és használják az autorizációhoz.
Python példaként requests és pytest fixtures használatával:
import pytest
import requests
@pytest.fixture(scope='session')
def auth_token():
response = requests.post('https://example.com/api/login', json={'username': 'user', 'password': 'pass'})
return response.json()['token']
def test_scenario_1(auth_token):
headers = {'Authorization': f'Bearer {auth_token}'}
response = requests.get('https://example.com/api/data', headers=headers)
assert response.status_code == 200
def test_scenario_2(auth_token):
headers = {'Authorization': f'Bearer {auth_token}'}
response = requests.post('https://example.com/api/action', headers=headers)
assert response.status_code == 201
Ez a megközelítés lehetővé teszi az autorizáció központosítását és annak használatát különböző tesztekben anélkül, hogy a kódot ismételni kellene.