/
alexandr.zhernoklev
/
python_api_example
Обзор
Документация
Войти
/
alexandr.zhernoklev
/
python_api_example
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
api/base_api.py
37 строк
1 KB
z.alex
Create Base api skeleton class
11 июн 2025, 18:14
11 июн 2025, 18:14
0bdcb61
Код
Авторство
О чём код?
import requests class BaseApi: def __init__(self): self.base_url = "https://restful-booker.herokuapp.com/" self.response = None def _request(self, method=None, endpoint=None, data=None, cookies=None, headers=None): self.response = requests.request(params=method, url=self.base_url+endpoint, json=data, cookies=cookies, headers=headers) def get(self, endpoint: str): return self._request(method="GET", endpoint=endpoint) def post(self, endpoint: str, body: dict): return self._request(method="POST", endpoint=endpoint, data=body) def delete(self, endpoint: str): return self._request(endpoint=endpoint) def put(self, endpoint: str, body: dict): return self._request(endpoint=endpoint, data=body) def get_data(self, keys): body = self.response.json() try: for key in keys: body = body[key] return body except KeyError: raise KeyError(f"По ключу {keys} значения отсутствуют") def assert_status_code_is(self, expected_code): assert expected_code == self.response.status_code, f"ОР: статус код {expected_code}\nФР: статус код {self.response.status_code}" def assert_body_is(self, key, expected_body): assert self.get_data(key) == expected_body