diff --git a/test.py b/test.py index c6d813d..f835465 100644 --- a/test.py +++ b/test.py @@ -3,164 +3,239 @@ import asyncio import requests import python3_anticaptcha -from python3_anticaptcha import NoCaptchaTaskProxyless, AntiCaptchaControl +from python3_anticaptcha import ( + NoCaptchaTaskProxyless, + AntiCaptchaControl, + CustomCaptchaTask, +) + class TestAntiCaptcha(object): def setup_class(self): - #def __init__(self): self.anticaptcha_key = "ae23fffcfaa29b170e3843e3a486ef19" - self.server_ip = '85.255.8.26' + self.server_ip = "85.255.8.26" # CallBack def test_callback_server(self): # test server alive - response = requests.get(f'http://{self.server_ip}:8001/ping') + response = requests.get(f"http://{self.server_ip}:8001/ping") assert response.status_code == 200 # try register new queue - response = requests.post(f'http://{self.server_ip}:8001/register_key', - json={'key':'fwefefefopewofkewopfkop', - 'vhost':'anticaptcha_vhost'} - ) + response = requests.post( + f"http://{self.server_ip}:8001/register_key", + json={"key": "fwefefefopewofkewopfkop", "vhost": "anticaptcha_vhost"}, + ) assert response.status_code == 200 - def test_nocaptcha_proxyless(self): - nocaptcha = NoCaptchaTaskProxyless.NoCaptchaTaskProxyless(anticaptcha_key = self.anticaptcha_key) + def test_customcaptcha(self): + customcaptcha = CustomCaptchaTask.CustomCaptchaTask( + anticaptcha_key=self.anticaptcha_key, sleep_time=10, assignment='Smth interesting' + ) # check response type - assert type(nocaptcha) is python3_anticaptcha.NoCaptchaTaskProxyless.NoCaptchaTaskProxyless + assert ( + type(customcaptcha) + is python3_anticaptcha.CustomCaptchaTask.CustomCaptchaTask + ) + + response = customcaptcha.captcha_handler( + imageUrl=self.server_ip+'/static/image/common_image_example/088636.png', + ) + # check response type + assert type(response) is dict + # check all dict keys + assert ["errorId", "errorCode", "errorDescription"] == list(response.keys()) + + @asyncio.coroutine + def test_aiocustomcaptcha(self): + customcaptcha = CustomCaptchaTask.aioCustomCaptchaTask( + anticaptcha_key=self.anticaptcha_key, sleep_time=10, assignment='Smth interesting' + ) + # check response type + assert ( + type(customcaptcha) + is python3_anticaptcha.CustomCaptchaTask.aioCustomCaptchaTask + ) + + response = yield customcaptcha.captcha_handler( + imageUrl=self.server_ip+'/static/image/common_image_example/088636.png', + ) + # check response type + assert type(response) is dict + # check all dict keys + assert ["errorId", "errorCode", "errorDescription"] == list(response.keys()) + + def test_nocaptcha_proxyless(self): + nocaptcha = NoCaptchaTaskProxyless.NoCaptchaTaskProxyless( + anticaptcha_key=self.anticaptcha_key + ) + # check response type + assert ( + type(nocaptcha) + is python3_anticaptcha.NoCaptchaTaskProxyless.NoCaptchaTaskProxyless + ) response = nocaptcha.captcha_handler( - websiteURL='https://www.google.com/recaptcha/api2/demo', - websiteKey='6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-' - ) + websiteURL="https://www.google.com/recaptcha/api2/demo", + websiteKey="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-", + ) # check response type assert type(response) is dict # check all dict keys - assert ['errorId', 'errorCode', 'errorDescription'] == list(response.keys()) + assert ["errorId", "errorCode", "errorDescription"] == list(response.keys()) def test_nocaptcha_proxyless_context(self): - with NoCaptchaTaskProxyless.NoCaptchaTaskProxyless(anticaptcha_key = self.anticaptcha_key) as nocaptcha: - + with NoCaptchaTaskProxyless.NoCaptchaTaskProxyless( + anticaptcha_key=self.anticaptcha_key + ) as nocaptcha: + # check response type - assert type(nocaptcha) is python3_anticaptcha.NoCaptchaTaskProxyless.NoCaptchaTaskProxyless + assert ( + type(nocaptcha) + is python3_anticaptcha.NoCaptchaTaskProxyless.NoCaptchaTaskProxyless + ) response = nocaptcha.captcha_handler( - websiteURL='https://www.google.com/recaptcha/api2/demo', - websiteKey='6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-' - ) + websiteURL="https://www.google.com/recaptcha/api2/demo", + websiteKey="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-", + ) # check response type assert type(response) is dict # check all dict keys - assert ['errorId', 'errorCode', 'errorDescription'] == list(response.keys()) + assert ["errorId", "errorCode", "errorDescription"] == list(response.keys()) @asyncio.coroutine def test_aionocaptcha_proxyless(self): - nocaptcha = NoCaptchaTaskProxyless.aioNoCaptchaTaskProxyless(anticaptcha_key=self.anticaptcha_key) + nocaptcha = NoCaptchaTaskProxyless.aioNoCaptchaTaskProxyless( + anticaptcha_key=self.anticaptcha_key + ) # check response type - assert type(nocaptcha) is python3_anticaptcha.NoCaptchaTaskProxyless.NoCaptchaTaskProxyless + assert ( + type(nocaptcha) + is python3_anticaptcha.NoCaptchaTaskProxyless.NoCaptchaTaskProxyless + ) response = yield nocaptcha.captcha_handler( - websiteURL='https://www.google.com/recaptcha/api2/demo', - websiteKey='6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-' - ) + websiteURL="https://www.google.com/recaptcha/api2/demo", + websiteKey="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-", + ) # check response type assert type(response) is dict # check all dict keys - assert ['errorId', 'errorCode', 'errorDescription'] == list(response.keys()) + assert ["errorId", "errorCode", "errorDescription"] == list(response.keys()) @asyncio.coroutine def test_aionocaptcha_proxyless_context(self): - with NoCaptchaTaskProxyless.aioNoCaptchaTaskProxyless(anticaptcha_key=self.anticaptcha_key) as nocaptcha: + with NoCaptchaTaskProxyless.aioNoCaptchaTaskProxyless( + anticaptcha_key=self.anticaptcha_key + ) as nocaptcha: # check response type - assert type(nocaptcha) is python3_anticaptcha.NoCaptchaTaskProxyless.NoCaptchaTaskProxyless + assert ( + type(nocaptcha) + is python3_anticaptcha.NoCaptchaTaskProxyless.NoCaptchaTaskProxyless + ) response = yield nocaptcha.captcha_handler( - websiteURL='https://www.google.com/recaptcha/api2/demo', - websiteKey='6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-' - ) + websiteURL="https://www.google.com/recaptcha/api2/demo", + websiteKey="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-", + ) # check response type assert type(response) is dict # check all dict keys - assert ['errorId', 'errorCode', 'errorDescription'] == list(response.keys()) + assert ["errorId", "errorCode", "errorDescription"] == list(response.keys()) # AntiCaptcha Control def test_control(self): # prepare client - result = AntiCaptchaControl.AntiCaptchaControl(anticaptcha_key = self.anticaptcha_key) + result = AntiCaptchaControl.AntiCaptchaControl( + anticaptcha_key=self.anticaptcha_key + ) # check response type assert type(result) is python3_anticaptcha.AntiCaptchaControl.AntiCaptchaControl - + # get balance response = result.get_balance() # check response type assert type(response) is dict # check all dict keys - assert ['errorId', 'errorCode', 'errorDescription'] == list(response.keys()) + assert ["errorId", "errorCode", "errorDescription"] == list(response.keys()) # complaint on result response = result.complaint_on_result(reported_id=432423342) # check response type assert type(response) is dict # check all dict keys - assert ['errorId', 'errorCode', 'errorDescription'] == list(response.keys()) + assert ["errorId", "errorCode", "errorDescription"] == list(response.keys()) def test_control_context(self): # prepare client - with AntiCaptchaControl.AntiCaptchaControl(anticaptcha_key = self.anticaptcha_key) as result: + with AntiCaptchaControl.AntiCaptchaControl( + anticaptcha_key=self.anticaptcha_key + ) as result: # check response type - assert type(result) is python3_anticaptcha.AntiCaptchaControl.AntiCaptchaControl - + assert ( + type(result) + is python3_anticaptcha.AntiCaptchaControl.AntiCaptchaControl + ) + # get balance response = result.get_balance() # check response type assert type(response) is dict # check all dict keys - assert ['errorId', 'errorCode', 'errorDescription'] == list(response.keys()) + assert ["errorId", "errorCode", "errorDescription"] == list(response.keys()) # complaint on result response = result.complaint_on_result(reported_id=432423342) # check response type assert type(response) is dict # check all dict keys - assert ['errorId', 'errorCode', 'errorDescription'] == list(response.keys()) + assert ["errorId", "errorCode", "errorDescription"] == list(response.keys()) @asyncio.coroutine def test_aiocontrol(self): # prepare client - result = AntiCaptchaControl.aioAntiCaptchaControl(anticaptcha_key = self.anticaptcha_key) + result = AntiCaptchaControl.aioAntiCaptchaControl( + anticaptcha_key=self.anticaptcha_key + ) # check response type assert type(result) is python3_anticaptcha.AntiCaptchaControl.AntiCaptchaControl - + # get balance response = yield result.get_balance() # check response type assert type(response) is dict # check all dict keys - assert ['errorId', 'errorCode', 'errorDescription'] == list(response.keys()) + assert ["errorId", "errorCode", "errorDescription"] == list(response.keys()) # complaint on result response = yield result.complaint_on_result(reported_id=432423342) # check response type assert type(response) is dict # check all dict keys - assert ['errorId', 'errorCode', 'errorDescription'] == list(response.keys()) + assert ["errorId", "errorCode", "errorDescription"] == list(response.keys()) @asyncio.coroutine def test_aiocontrol_context(self): # prepare client - with AntiCaptchaControl.aioAntiCaptchaControl(anticaptcha_key = self.anticaptcha_key) as result: + with AntiCaptchaControl.aioAntiCaptchaControl( + anticaptcha_key=self.anticaptcha_key + ) as result: # check response type - assert type(result) is python3_anticaptcha.AntiCaptchaControl.AntiCaptchaControl - + assert ( + type(result) + is python3_anticaptcha.AntiCaptchaControl.AntiCaptchaControl + ) + # get balance response = yield result.get_balance() # check response type assert type(response) is dict # check all dict keys - assert ['errorId', 'errorCode', 'errorDescription'] == list(response.keys()) + assert ["errorId", "errorCode", "errorDescription"] == list(response.keys()) # complaint on result response = yield result.complaint_on_result(reported_id=432423342) # check response type assert type(response) is dict # check all dict keys - assert ['errorId', 'errorCode', 'errorDescription'] == list(response.keys()) + assert ["errorId", "errorCode", "errorDescription"] == list(response.keys())