Junior — Middle
Ինչպես իրականացնել միացյալ թույլտվության համակարգ տարբեր փորձնական սցենարների համար։
sobes.tech AI
Պատասխան AI-ից
Տարբեր փորձարկման սցենարներում միացյալ թույլտվության համակարգի իրականացումը սովորաբար ենթադրում է առանձին մոդուլ կամ utility ստեղծել, որը պատասխանատու է հաստատման գործընթացի և մուտքի նշանների ստացման համար: Այս մոդուլը կարող է վերօգտագործվել բոլոր փորձարկումներում, ինչը խուսափում է կոդի կրկնությունից և հեշտացնում է սպասարկումը:
Հիմնական մոտեցումները՝
- API օգտագործում թույլտվության համար: Փորձարկման սկզբում կանչվում է մուտքի API-ն, ստացված նշանը պահվում և օգտագործվում է հարցումների գլխիկներում:
- Նշանի պահպանում գլոբալ կոնտեքստում: Օրինակ, փորձարկման շրջանակում նշանը կարող է պահվել գլոբալ փոփոխականում կամ սեսիայի կոնտեքստում:
- Նշանի փոխանցում փորձարկումներին: Փորձարկումները ստանում են նշանը ընդհանուր վայրից և օգտագործում են այն թույլտվության համար:
Python-ում requests և pytest fixtures օգտագործելով՝
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
Այս մոտեցումը թույլ է տալիս կենտրոնականացնել թույլտվությունը և օգտագործել այն տարբեր փորձարկումներում՝ առանց կոդի կրկնության։