Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v6.0 | RuCaptcha API v2 release #170

Merged
merged 194 commits into from
Dec 8, 2023
Merged
Changes from 1 commit
Commits
Show all changes
194 commits
Select commit Hold shift + click to select a range
d2d5196
Update myst-parser requirement from ==1.0.* to ==2.0.*
dependabot[bot] Jun 19, 2023
c2eaacf
Merge pull request #159 from AndreiDrang/dependabot/pip/myst-parser-e…
AndreiDrang Jun 19, 2023
753a178
Update autodoc-pydantic requirement from ==1.8.* to ==1.9.*
dependabot[bot] Jul 10, 2023
7afdc82
Bump black from 23.3.0 to 23.7.0
dependabot[bot] Jul 17, 2023
a840cd0
Merge pull request #163 from AndreiDrang/dependabot/pip/black-23.7.0
AndreiDrang Jul 27, 2023
47cc781
Merge pull request #162 from AndreiDrang/dependabot/pip/autodoc-pydan…
AndreiDrang Jul 27, 2023
c6cf0b4
Update autodoc-pydantic requirement from ==1.9.* to ==2.0.*
dependabot[bot] Aug 7, 2023
8133316
Merge pull request #164 from AndreiDrang/dependabot/pip/autodoc-pydan…
AndreiDrang Aug 7, 2023
0ad5f59
Update README.md
AndreiDrang Sep 4, 2023
a93c41e
Bump black from 23.7.0 to 23.9.1
dependabot[bot] Sep 11, 2023
36d3a08
Merge pull request #165 from AndreiDrang/dependabot/pip/black-23.9.1
AndreiDrang Sep 12, 2023
32bfea1
Api V2 implementation
AndreiDrang Sep 25, 2023
830a33a
Merge branch 'master' of github.com:AndreiDrang/python-rucaptcha
AndreiDrang Sep 25, 2023
d52226c
python 3.7 remove
AndreiDrang Sep 25, 2023
7a1ad40
Update dependabot.yml
AndreiDrang Sep 25, 2023
f98dff9
Merge pull request #167 from AndreiDrang/AndreiDrang-patch-1
AndreiDrang Sep 25, 2023
3e204ab
[github-actions] Bump actions/setup-python from 3 to 4
dependabot[bot] Sep 25, 2023
1d47c89
[github-actions] Bump actions/checkout from 3 to 4
dependabot[bot] Sep 25, 2023
72c5e84
upd
AndreiDrang Sep 25, 2023
04ff4ee
Merge branch 'master' of github.com:AndreiDrang/python-rucaptcha
AndreiDrang Sep 25, 2023
97b13ca
Merge pull request #168 from AndreiDrang/dependabot/github_actions/ac…
AndreiDrang Sep 25, 2023
07973a6
Merge branch 'master' into dependabot/github_actions/actions/checkout-4
AndreiDrang Sep 25, 2023
a5eaa6d
Merge pull request #169 from AndreiDrang/dependabot/github_actions/ac…
AndreiDrang Sep 25, 2023
f15f274
fix: src/requirements.txt to reduce vulnerabilities
snyk-bot Sep 29, 2023
781de77
fix: docs/requirements.txt to reduce vulnerabilities
snyk-bot Sep 29, 2023
545cdf4
Merge pull request #173 from AndreiDrang/snyk-fix-3276b63e636f724b362…
AndreiDrang Oct 1, 2023
c77890b
Merge pull request #172 from AndreiDrang/snyk-fix-494cb4b71fa1fe9dc34…
AndreiDrang Oct 1, 2023
86502dc
Update requirements.txt
AndreiDrang Oct 3, 2023
7de8784
Update requirements.txt
AndreiDrang Oct 3, 2023
eea28af
Update requirements.txt
AndreiDrang Oct 3, 2023
f720547
Bump pydantic from 2.4.0 to 2.4.2
dependabot[bot] Oct 3, 2023
9f0457d
upd tests
AndreiDrang Oct 3, 2023
cde94c4
Update base.py
AndreiDrang Oct 3, 2023
a0359f9
Update enums.py
AndreiDrang Oct 3, 2023
c0cbeba
Update serializer.py
AndreiDrang Oct 3, 2023
3d6fdcb
Update image_captcha.py
AndreiDrang Oct 3, 2023
f605e35
Update test_image.py
AndreiDrang Oct 3, 2023
f3ea756
Update test_text.py
AndreiDrang Oct 3, 2023
7c0cf3c
Update test_image.py
AndreiDrang Oct 3, 2023
d2b77d7
Merge pull request #174 from AndreiDrang/dependabot/pip/pydantic-2.4.2
AndreiDrang Oct 3, 2023
4c4108b
Update test_image.py
AndreiDrang Oct 3, 2023
728795b
Merge branch 'master' of github.com:AndreiDrang/python-rucaptcha
AndreiDrang Oct 3, 2023
e803de3
Update enums.py
AndreiDrang Oct 3, 2023
a8b9454
Update test_image.py
AndreiDrang Oct 3, 2023
2caa5e0
Create RuCaptchaHigh.png
AndreiDrang Oct 7, 2023
bc566b3
Update RuCaptchaLow.png
AndreiDrang Oct 7, 2023
181acc0
Update README.md
AndreiDrang Oct 7, 2023
a0176ad
Create RuCaptchaMedium.png
AndreiDrang Oct 7, 2023
abe3327
Merge branch 'master' of github.com:AndreiDrang/python-rucaptcha
AndreiDrang Oct 7, 2023
950b5cf
Create drawing.svg
AndreiDrang Oct 7, 2023
eeabb5f
upd docs and image captcha
AndreiDrang Oct 8, 2023
000f477
Update Makefile
AndreiDrang Oct 8, 2023
5fce1a6
Create .python-version
AndreiDrang Oct 8, 2023
938a5f1
Update conftest.py
AndreiDrang Oct 8, 2023
cc593c8
Bump black from 23.9.1 to 23.10.0
dependabot[bot] Oct 23, 2023
82f9c03
Merge pull request #175 from AndreiDrang/dependabot/pip/black-23.10.0
AndreiDrang Oct 27, 2023
0e9953b
Update conf.py
AndreiDrang Oct 30, 2023
eefa625
Update info.md
AndreiDrang Oct 30, 2023
68b2ff5
Update enums.py
AndreiDrang Nov 13, 2023
4a023b1
Update turnstile.py
AndreiDrang Nov 13, 2023
79b99ab
Update base.py
AndreiDrang Nov 13, 2023
5b5bd70
Update config.py
AndreiDrang Nov 13, 2023
638d62c
Update result_handler.py
AndreiDrang Nov 13, 2023
8ae92ad
Update serializer.py
AndreiDrang Nov 13, 2023
a58fc02
Update turnstile.py
AndreiDrang Nov 13, 2023
f8afdbf
Update turnstile.py
AndreiDrang Nov 13, 2023
afe19e3
Update result_handler.py
AndreiDrang Nov 13, 2023
d9f425b
Update enums.py
AndreiDrang Nov 13, 2023
0608d40
Update result_handler.py
AndreiDrang Nov 13, 2023
a95f050
Update control.py
AndreiDrang Dec 6, 2023
d3503a5
Update enums.py
AndreiDrang Dec 6, 2023
24c966d
Update base.py
AndreiDrang Dec 6, 2023
8b66851
Update serializer.py
AndreiDrang Dec 6, 2023
fded7db
Update text_captcha.py
AndreiDrang Dec 6, 2023
9622f40
Update result_handler.py
AndreiDrang Dec 6, 2023
baef51f
Update requirements.txt
AndreiDrang Dec 6, 2023
4ad28b0
Update README.md
AndreiDrang Dec 6, 2023
a4630ac
Update control.py
AndreiDrang Dec 6, 2023
ed648dd
Update serializer.py
AndreiDrang Dec 6, 2023
e3de819
Update base.py
AndreiDrang Dec 6, 2023
a72f0a8
Update image_captcha.py
AndreiDrang Dec 6, 2023
f0550c2
Update test_control.py
AndreiDrang Dec 6, 2023
04fdeef
Update test_image.py
AndreiDrang Dec 6, 2023
2c4d7b7
Update test_text.py
AndreiDrang Dec 6, 2023
67dd495
Update text_captcha.py
AndreiDrang Dec 6, 2023
b3171fa
Update serializer.py
AndreiDrang Dec 6, 2023
086e261
Update test_core.py
AndreiDrang Dec 6, 2023
9953f43
Update build.yml
AndreiDrang Dec 6, 2023
fc1ae47
Update install.yml
AndreiDrang Dec 6, 2023
520605a
Update lint.yml
AndreiDrang Dec 6, 2023
c34a9fb
Update test.yml
AndreiDrang Dec 6, 2023
cb05887
Update README.md
AndreiDrang Dec 6, 2023
64765be
Update config.py
AndreiDrang Dec 6, 2023
c5e3295
Update result_handler.py
AndreiDrang Dec 6, 2023
5e6e4ad
Update setup.py
AndreiDrang Dec 6, 2023
233aa2e
Update test_text.py
AndreiDrang Dec 6, 2023
aba401c
[github-actions] Bump actions/setup-python from 4 to 5
dependabot[bot] Dec 6, 2023
85290aa
Update test_text.py
AndreiDrang Dec 6, 2023
94d79ee
Update test_image.py
AndreiDrang Dec 6, 2023
20a52b4
Update test_core.py
AndreiDrang Dec 6, 2023
93e33fa
Update serializer.py
AndreiDrang Dec 6, 2023
d1d562a
Update test_core.py
AndreiDrang Dec 6, 2023
7203f52
Update serializer.py
AndreiDrang Dec 6, 2023
d145c57
Update audio_captcha.py
AndreiDrang Dec 6, 2023
fbd270b
Update enums.py
AndreiDrang Dec 6, 2023
ccff95b
Update test_audio.py
AndreiDrang Dec 6, 2023
d6b9ad6
Merge pull request #189 from AndreiDrang/dependabot/github_actions/ac…
AndreiDrang Dec 6, 2023
97a429b
ypd tests
AndreiDrang Dec 6, 2023
0e58c04
Merge branch 'master' of github.com:AndreiDrang/python-rucaptcha
AndreiDrang Dec 6, 2023
129540e
Update enums.py
AndreiDrang Dec 6, 2023
74406a6
Delete yandex_smart_captcha.py
AndreiDrang Dec 6, 2023
3f9c98b
Update test_audio.py
AndreiDrang Dec 6, 2023
430475a
Update capy_puzzle.py
AndreiDrang Dec 6, 2023
026b725
Update fun_captcha.py
AndreiDrang Dec 6, 2023
4736d63
Update gee_test.py
AndreiDrang Dec 6, 2023
e2f7ac9
Update test_audio.py
AndreiDrang Dec 6, 2023
0794fd7
upd enums
AndreiDrang Dec 6, 2023
8c119c1
upd tests
AndreiDrang Dec 6, 2023
68f221a
Update Makefile
AndreiDrang Dec 6, 2023
cda0108
Update gee_test.py
AndreiDrang Dec 6, 2023
839fa69
Update test_geetest.py
AndreiDrang Dec 6, 2023
4f5a259
Update test_image.py
AndreiDrang Dec 6, 2023
f4bd9da
Update gee_test.py
AndreiDrang Dec 6, 2023
5686a89
Update test_geetest.py
AndreiDrang Dec 6, 2023
2fc7514
Update test_geetest.py
AndreiDrang Dec 6, 2023
02cbbcc
Update gee_test.py
AndreiDrang Dec 6, 2023
ef7c9d6
Update amazon_waf.py
AndreiDrang Dec 6, 2023
06dc59b
Update test_amazon.py
AndreiDrang Dec 6, 2023
fe463ee
Update amazon_waf.py
AndreiDrang Dec 6, 2023
02e2c4e
Update capy_puzzle.py
AndreiDrang Dec 6, 2023
dc48cf5
Update test_capypuzzle.py
AndreiDrang Dec 6, 2023
b17d38e
Update conf.py
AndreiDrang Dec 6, 2023
2389999
Update index.rst
AndreiDrang Dec 6, 2023
275577a
Update info.rst
AndreiDrang Dec 6, 2023
54ad1d5
Update info.rst
AndreiDrang Dec 6, 2023
78326ad
Delete example.rst
AndreiDrang Dec 6, 2023
f200a51
Update gee_test.py
AndreiDrang Dec 6, 2023
5722ff0
Update test_geetest.py
AndreiDrang Dec 6, 2023
03af6b1
Update fun_captcha.py
AndreiDrang Dec 7, 2023
d61c6ef
Update test_funcaptcha.py
AndreiDrang Dec 7, 2023
b28305f
Update test_geetest.py
AndreiDrang Dec 7, 2023
11b5a61
Update amazon_waf.py
AndreiDrang Dec 7, 2023
d3bd82f
Update fun_captcha.py
AndreiDrang Dec 7, 2023
f8ce970
Update test_key_captcha.py
AndreiDrang Dec 7, 2023
db124cc
Update key_captcha.py
AndreiDrang Dec 7, 2023
08891fd
Update conf.py
AndreiDrang Dec 7, 2023
0152efd
Delete lemin_cropped_captcha.py
AndreiDrang Dec 7, 2023
b81fb44
Create lemin_captcha.py
AndreiDrang Dec 7, 2023
40f263a
Update test_funcaptcha.py
AndreiDrang Dec 7, 2023
40ea462
Update test_lemin.py
AndreiDrang Dec 7, 2023
32b9b47
Update lemin_example.py
AndreiDrang Dec 7, 2023
553d133
Update enums.py
AndreiDrang Dec 7, 2023
13d6de6
Update example.rst
AndreiDrang Dec 7, 2023
e8f2f97
remove examples folder
AndreiDrang Dec 7, 2023
5e1cba7
Update turnstile.py
AndreiDrang Dec 7, 2023
7a5f0bf
Update test_funcaptcha.py
AndreiDrang Dec 7, 2023
e8015d5
Update test_turnstile.py
AndreiDrang Dec 7, 2023
dcea062
Update hcaptcha.py
AndreiDrang Dec 7, 2023
8c512b3
Update test_hcaptcha.py
AndreiDrang Dec 7, 2023
1bb6c95
Update conftest.py
AndreiDrang Dec 7, 2023
65a0a92
Update conftest.py
AndreiDrang Dec 7, 2023
6e2b50f
Update re_captcha.py
AndreiDrang Dec 7, 2023
2368a59
Update test_recaptcha.py
AndreiDrang Dec 7, 2023
0ab5885
Update re_captcha.py
AndreiDrang Dec 7, 2023
f659412
Update rotate_captcha.py
AndreiDrang Dec 7, 2023
0a8b885
Update test_rotate.py
AndreiDrang Dec 7, 2023
280d90f
Update base.py
AndreiDrang Dec 7, 2023
e521d9a
Update rotate_captcha.py
AndreiDrang Dec 7, 2023
ba2d6ea
Update test_rotate.py
AndreiDrang Dec 7, 2023
6cb2adf
Update image_captcha.py
AndreiDrang Dec 7, 2023
1283349
Update rotate_captcha.py
AndreiDrang Dec 7, 2023
5c481a9
Update test_rotate.py
AndreiDrang Dec 7, 2023
404bedf
Update base.py
AndreiDrang Dec 7, 2023
10780d2
Update audio_captcha.py
AndreiDrang Dec 7, 2023
d0e5163
Update image_captcha.py
AndreiDrang Dec 7, 2023
bb6a97c
Update rotate_captcha.py
AndreiDrang Dec 7, 2023
4a84e36
Update test_rotate.py
AndreiDrang Dec 7, 2023
4bcacda
Update test_rotate.py
AndreiDrang Dec 7, 2023
ccb4f6f
Update rotate_captcha.py
AndreiDrang Dec 7, 2023
1c29527
Update serializer.py
AndreiDrang Dec 7, 2023
0a800c9
Update base.py
AndreiDrang Dec 7, 2023
2767acb
upd
AndreiDrang Dec 7, 2023
d3f1f5d
Update test_capypuzzle.py
AndreiDrang Dec 7, 2023
98bb411
Update base.py
AndreiDrang Dec 8, 2023
cec25e8
Update config.py
AndreiDrang Dec 8, 2023
7165cfc
Update test_lemin.py
AndreiDrang Dec 8, 2023
4bda42a
Update test_key_captcha.py
AndreiDrang Dec 8, 2023
122b455
Update test_geetest.py
AndreiDrang Dec 8, 2023
6b0c3fc
Update conf.py
AndreiDrang Dec 8, 2023
cb79bd8
Update index.rst
AndreiDrang Dec 8, 2023
c573a8b
Update info.rst
AndreiDrang Dec 8, 2023
e2cb5c7
Update example.rst
AndreiDrang Dec 8, 2023
a53de1e
Update info.md
AndreiDrang Dec 8, 2023
eda564e
upd docs and typehinting
AndreiDrang Dec 8, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update test_image.py
AndreiDrang committed Oct 3, 2023
commit 7c0cf3c1a84479487c2a887d6c36eff14d4b5fee
91 changes: 41 additions & 50 deletions tests/test_image.py
Original file line number Diff line number Diff line change
@@ -42,15 +42,14 @@ def test_basic_file(self, save_format):
assert instance.params.rucaptcha_key == self.RUCAPTCHA_KEY
result = instance.captcha_handler(captcha_file=self.captcha_file)
assert isinstance(result, dict) is True
if result["error"] is False:
assert result["error"] is False

if not result["errorId"]:
assert result["status"] == "ready"
assert isinstance(result["solution"]["text"], str) is True
assert isinstance(result["taskId"], int) is True
assert result["errorBody"] is None
assert isinstance(result["captchaSolve"], str) is True
else:
assert result["error"] is True
assert result["errorBody"] == "ERROR_CAPTCHA_UNSOLVABLE"
assert result.keys() == GetTaskResultRequestSer().dict().keys()
assert result["errorId"] == 1
assert result["status"] == "ERROR_CAPTCHA_UNSOLVABLE"

@pytest.mark.parametrize("save_format", [SaveFormatsEnm.TEMP, SaveFormatsEnm.CONST])
def test_basic_base64(self, save_format):
@@ -62,14 +61,14 @@ def test_basic_base64(self, save_format):
result = instance.captcha_handler(captcha_base64=f.read())

assert isinstance(result, dict) is True
if result["error"] is False:
assert result["error"] is False

if not result["errorId"]:
assert result["status"] == "ready"
assert isinstance(result["solution"]["text"], str) is True
assert isinstance(result["taskId"], int) is True
assert result["errorBody"] is None
assert isinstance(result["captchaSolve"], str) is True
else:
assert result["error"] is True
assert result["errorBody"] == "ERROR_CAPTCHA_UNSOLVABLE"
assert result["errorId"] == 1
assert result["status"] == "ERROR_CAPTCHA_UNSOLVABLE"
assert result.keys() == GetTaskResultRequestSer().dict().keys()

@pytest.mark.asyncio
@@ -79,14 +78,14 @@ async def test_aio_basic_link(self, save_format):
assert instance.params.rucaptcha_key == self.RUCAPTCHA_KEY
result = await instance.aio_captcha_handler(captcha_link=self.captcha_url)
assert isinstance(result, dict) is True
if result["error"] is False:
assert result["error"] is False

if not result["errorId"]:
assert result["status"] == "ready"
assert isinstance(result["solution"]["text"], str) is True
assert isinstance(result["taskId"], int) is True
assert result["errorBody"] is None
assert isinstance(result["captchaSolve"], str) is True
else:
assert result["error"] is True
assert result["errorBody"] == "ERROR_CAPTCHA_UNSOLVABLE"
assert result["errorId"] == 1
assert result["status"] == "ERROR_CAPTCHA_UNSOLVABLE"
assert result.keys() == GetTaskResultRequestSer().dict().keys()

@pytest.mark.asyncio
@@ -96,14 +95,14 @@ async def test_aio_basic_file(self, save_format):
assert instance.params.rucaptcha_key == self.RUCAPTCHA_KEY
result = await instance.aio_captcha_handler(captcha_file=self.captcha_file)
assert isinstance(result, dict) is True
if result["error"] is False:
assert result["error"] is False

if not result["errorId"]:
assert result["status"] == "ready"
assert isinstance(result["solution"]["text"], str) is True
assert isinstance(result["taskId"], int) is True
assert result["errorBody"] is None
assert isinstance(result["captchaSolve"], str) is True
else:
assert result["error"] is True
assert result["errorBody"] == "ERROR_CAPTCHA_UNSOLVABLE"
assert result["errorId"] == 1
assert result["status"] == "ERROR_CAPTCHA_UNSOLVABLE"
assert result.keys() == GetTaskResultRequestSer().dict().keys()

@pytest.mark.asyncio
@@ -116,14 +115,14 @@ async def test_aio_basic_base64(self, save_format):
with open(self.captcha_file, "rb") as f:
result = await instance.aio_captcha_handler(captcha_base64=f.read())
assert isinstance(result, dict) is True
if result["error"] is False:
assert result["error"] is False

if not result["errorId"]:
assert result["status"] == "ready"
assert isinstance(result["solution"]["text"], str) is True
assert isinstance(result["taskId"], int) is True
assert result["errorBody"] is None
assert isinstance(result["captchaSolve"], str) is True
else:
assert result["error"] is True
assert result["errorBody"] == "ERROR_CAPTCHA_UNSOLVABLE"
assert result["errorId"] == 1
assert result["status"] == "ERROR_CAPTCHA_UNSOLVABLE"
assert result.keys() == GetTaskResultRequestSer().dict().keys()

"""
@@ -135,10 +134,8 @@ def test_no_captcha(self):
assert instance.params.rucaptcha_key == self.RUCAPTCHA_KEY
result = instance.captcha_handler()
assert isinstance(result, dict) is True
assert result["error"] is True
assert result["taskId"] is None
assert result["errorBody"] == ImageCaptcha.NO_CAPTCHA_ERR
assert result["captchaSolve"] == {}
assert result["errorId"] == 12
assert isinstance(result["solution"]["text"], str) is True
assert result.keys() == GetTaskResultRequestSer().dict().keys()

@pytest.mark.asyncio
@@ -147,30 +144,26 @@ async def test_aio_no_captcha(self):
assert instance.params.rucaptcha_key == self.RUCAPTCHA_KEY
result = await instance.aio_captcha_handler()
assert isinstance(result, dict) is True
assert result["error"] is True
assert result["taskId"] is None
assert result["errorBody"] == ImageCaptcha.NO_CAPTCHA_ERR
assert result["captchaSolve"] == {}
assert result["errorId"] == 12
assert isinstance(result["solution"]["text"], str) is True
assert result.keys() == GetTaskResultRequestSer().dict().keys()

def test_wrong_link(self):
instance = ImageCaptcha(rucaptcha_key=self.RUCAPTCHA_KEY)
assert instance.params.rucaptcha_key == self.RUCAPTCHA_KEY
result = instance.captcha_handler(captcha_link=self.get_random_string(length=50))
assert isinstance(result, dict) is True
assert result["error"] is True
assert result["taskId"] is None
assert result["captchaSolve"] == {}
assert result["errorId"] == 12
assert isinstance(result["solution"]["text"], str) is True
assert result.keys() == GetTaskResultRequestSer().dict().keys()

def test_wrong_base64(self):
instance = ImageCaptcha(rucaptcha_key=self.RUCAPTCHA_KEY)
assert instance.params.rucaptcha_key == self.RUCAPTCHA_KEY
result = instance.captcha_handler(captcha_base64=self.get_random_string(length=50).encode(encoding="UTF-8"))
assert isinstance(result, dict) is True
assert result["error"] is True
assert result["errorId"] == 15
assert result["taskId"] is None
assert result["captchaSolve"] == {}
assert result.keys() == GetTaskResultRequestSer().dict().keys()

@pytest.mark.asyncio
@@ -179,9 +172,8 @@ async def test_aio_wrong_link(self):
assert instance.params.rucaptcha_key == self.RUCAPTCHA_KEY
result = await instance.aio_captcha_handler(captcha_link=self.get_random_string(length=50))
assert isinstance(result, dict) is True
assert result["error"] is True
assert result["taskId"] is None
assert result["captchaSolve"] == {}
assert result["errorId"] == 12
assert isinstance(result["solution"]["text"], str) is True
assert result.keys() == GetTaskResultRequestSer().dict().keys()

@pytest.mark.asyncio
@@ -192,13 +184,12 @@ async def test_aio_wrong_base64(self):
captcha_base64=self.get_random_string(length=50).encode(encoding="UTF-8")
)
assert isinstance(result, dict) is True
assert result["error"] is True
assert result["errorId"] == 15
assert result["taskId"] is None
assert result["captchaSolve"] == {}
assert result.keys() == GetTaskResultRequestSer().dict().keys()


class TestDeathByImageCaptcha(BaseImageCaptcha, DeathByTest):
class XTestDeathByImageCaptcha(BaseImageCaptcha, DeathByTest):
"""
Success tests
"""