def test_get_sub_data(self, mock_response, mock_get): mock_get.return_value = mock_response mock_response.status_code = 200 client = ApiClient() sub_data = client.get_sub_data('', 1) self.assertIsNotNone(sub_data) mock_response.status_code = 400 client = ApiClient() sub_data = client.get_sub_data('', 1) self.assertIsNone(sub_data)
def test_search_enforcements(self, mock_get_count_data, mock_get_sub_data): mock_get_sub_data.return_value = api_result = MagicMock() api_result.clean_enforcements.return_value = ({"total": 1}, {}) client = ApiClient() term = "test" page = 1 client.search_enforcements(term, page) mock_get_sub_data.asert_called_with() mock_get_count_data.asert_called_with()
def test_get_count_data(self, mock_response, mock_get): mock_get.return_value = mock_response mock_response.json.return_value = {"results": {"total": "1"}} client = ApiClient() result = client.get_count_data("http://url") self.assertEquals(result, {"total": "1"}) mock_response.json.return_value = {"error": "some error"} result = client.get_count_data("http://url") self.assertEquals(result, None)
def test_get_age_sex(self, mock_response, mock_get): mock_get.return_value = mock_response client = ApiClient() mock_response.json.return_value = {"meta": {"results": {"total": "1"}}} result = client.get_age_sex('labels', 'filter', 'param') self.assertEquals( result, '[{"data": ["1"], "name": "Male"}, {"data": ["1"], "name": "Female"}]' )
class ContentBuilder: api_client = ApiClient() def get_api_links(self): links = [] for entry in url_data: url, field_name = entry link = self.api_client.get_link(url, field_name) links.append(link) return links def create_message_content(self, links): message = "" for link in links: message += link + "\r\n" return message
def test_browse_manufacturers(self, mock_response, mock_get): mock_get.return_value = mock_response mock_response.json.return_value = { "results": [{ "term": "manufacturing B", "count": "10" }, { "term": "manufacturing A", "count": "20" }] } client = ApiClient() results = client.browse('manufacturers') self.assertEqual(results, [{ 'count': '20', 'term': 'manufacturing A' }, { 'count': '10', 'term': 'manufacturing B' }])
def test_browse_others(self, mock_response, mock_get): mock_get.return_value = mock_response mock_response.json.return_value = { "results": [{ "term": "label B", "count": "10" }, { "term": "label A", "count": "20" }] } client = ApiClient() results = client.browse('labels') self.assertEqual(results, [{ 'count': '10', 'term': 'label B' }, { 'count': '20', 'term': 'label A' }])
import pytest import json import logging from core.api_client import ApiClient import allure logger = logging.getLogger() api_client = ApiClient() @allure.epic('Негативные тесты') @allure.story('query-параметры') @allure.feature('Параметр "q"') @pytest.mark.parametrize('value', [["?q=новйцуфывячскенапрмитгшщролтьбй&"], ["?q=н"]]) def test_q_param(value): logger.info(f"Запуск теста {value}") responce = api_client.get(value[0]) api_client.check_status_code_200(responce) logger.info('Проверка соответсвия результата и передаваемого параметра') assert responce.json()['error'] logger.info('Вернулась ожидаемая ошибка') # за не имением каких-то кодов ошибки, просто проверяю что ответ содержит в себе error, не лучшее решение, # но тут проблема на стороне сервера @allure.epic('Негативные тесты') @allure.story('query-параметры') @allure.feature('Параметр "country_code"')