11import typing
22import pytest
3- from unittest .mock import Mock , patch , AsyncMock
4- import asyncio
3+ from unittest .mock import Mock , patch
54
65from whatsapp_api_client_python .API import GreenAPI
76
@@ -13,30 +12,24 @@ class TestAsyncMethods:
1312 @pytest .mark .asyncio
1413 async def test_single_async_method (self ):
1514 """Тестируем только один метод для упрощения отладки"""
16- # Создаем реальный мок-объект с нужными атрибутами
1715 mock_response = Mock ()
1816 mock_response .code = 200
1917 mock_response .data = {"example" : {"key" : "value" }}
2018
21- # Создаем асинхронную функцию, которая возвращает наш мок
2219 async def mock_request (* args , ** kwargs ):
2320 return mock_response
2421
2522 with patch ("whatsapp_api_client_python.API.Session.request" , side_effect = mock_request ):
26- # Тестируем только один метод
2723 response = await api .account .getSettingsAsync ()
2824
2925 assert response .code == 200
3026 assert response .data == {"example" : {"key" : "value" }}
3127
3228 @pytest .mark .asyncio
3329 async def test_async_methods_with_different_status_codes (self ):
34- """Тестируем все методы с разными кодами ответа"""
35- # Создаем список мок-ответов с разными статусами
3630 mock_responses = []
37- for i in range (50 ): # Создаем достаточно ответов
31+ for i in range (50 ):
3832 mock_response = Mock ()
39- # Чередуем коды статусов: 200, 401, 403
4033 status_code = [200 , 401 , 403 ][i % 3 ]
4134 mock_response .code = status_code
4235 if status_code == 200 :
@@ -65,7 +58,6 @@ async def mock_request(*args, **kwargs):
6558 response = await coro
6659 responses .append (response )
6760
68- # Проверяем что все ответы имеют допустимые коды статуса
6961 valid_codes = [200 , 401 , 403 ]
7062 for response in responses :
7163 assert response .code in valid_codes
@@ -76,8 +68,6 @@ async def mock_request(*args, **kwargs):
7668
7769 @pytest .mark .asyncio
7870 async def test_async_methods_all_success (self ):
79- """Тестируем все методы с успешными ответами"""
80- # Создаем мок для успешных ответов
8171 mock_response = Mock ()
8272 mock_response .code = 200
8373 mock_response .data = {"example" : {"key" : "value" }}
0 commit comments