|
| 1 | +import os |
| 2 | + |
| 3 | +import pytest |
| 4 | + |
| 5 | +from capmonster_python import DataDomeTask, DataDomeMetadata, CapmonsterClient |
| 6 | + |
| 7 | +API_KEY = os.getenv("API_KEY") |
| 8 | +WEBSITE_URL = "https://antoinevastel.com/bots/datadome" |
| 9 | +METADATA = DataDomeMetadata( |
| 10 | + captchaUrl="https://geo.captcha-delivery.com/captcha/?initialCid=AHrlqAAAAAMAJxx4dfgwjzwAQW0ctQ%3D%3D&hash" |
| 11 | + "=D66B23AC3F48A302A7654416846381&cid=d3k5rbDsu8cq0kmPHISS3hsC3f4qeL_K12~G33PrE4fbkmDYSul6l0Ze_aG5sUHLKG0676UpTv6GFvUgIActglZF33GTodOoRhEDkMMsuWTodlYa3YYQ9xKy9J89PAWh&t=fe&referer=https%3A%2F%2Fantoinevastel.com%2Fbots%2Fdatadome&s=21705&e=04fc682817ba89bf8fa4b18031fa53294fa0fb7449d95c036a1986413e6dfc7d", |
| 12 | + datadomeCookie="datadome=d3k5rbDsu8cq0kmPHISS3hsC3f4qeL_K12~G33PrE4fbkmDYSul6l0Ze_aG5sUHLKG0676UpTv6GFvUgIActglZF33GTodOoRhEDkMMsuWTodlYa3YYQ9xKy9J89PAWh" |
| 13 | +) |
| 14 | + |
| 15 | + |
| 16 | +def test_to_request(): |
| 17 | + task = DataDomeTask( |
| 18 | + websiteURL="https://example.com", |
| 19 | + metadata=DataDomeMetadata( |
| 20 | + htmlPageBase64="base64_example", |
| 21 | + datadomeCookie="cookie1=value1; cookie2=value2;" |
| 22 | + ) |
| 23 | + ) |
| 24 | + result = task.to_request() |
| 25 | + assert result["type"] == "CustomTask" |
| 26 | + assert result["class"] == "DataDome" |
| 27 | + assert result["metadata"]["htmlPageBase64"] == "base64_example" |
| 28 | + assert result["metadata"]["datadomeCookie"] == "cookie1=value1; cookie2=value2;" |
| 29 | + |
| 30 | + |
| 31 | +@pytest.mark.skipif(API_KEY is None, reason="API_KEY is not set") |
| 32 | +async def test_create_task_async(): |
| 33 | + client = CapmonsterClient(API_KEY, timeout=30.0) |
| 34 | + task_id = client.create_task(task=DataDomeTask(websiteURL=WEBSITE_URL, metadata=METADATA)) |
| 35 | + assert task_id != 0 |
| 36 | + assert task_id != 0 |
| 37 | + |
| 38 | + |
| 39 | +@pytest.mark.asyncio |
| 40 | +@pytest.mark.skipif(API_KEY is None, reason="API_KEY is not set") |
| 41 | +async def test_create_task_async(): |
| 42 | + client = CapmonsterClient(API_KEY, timeout=30.0) |
| 43 | + task_id = await client.create_task_async(task=DataDomeTask(websiteURL=WEBSITE_URL, metadata=METADATA)) |
| 44 | + assert task_id != 0 |
0 commit comments