Byparr/tests/main_test.py

31 lines
781 B
Python
Raw Normal View History

2024-09-13 18:28:36 +00:00
from http import HTTPStatus
2024-09-13 18:04:37 +00:00
import pytest
2024-09-13 18:28:36 +00:00
from starlette.testclient import TestClient
2024-09-13 18:04:37 +00:00
2024-09-13 18:28:36 +00:00
from main import app
2024-09-13 18:04:37 +00:00
from src.models.requests import LinkRequest
2024-09-13 18:28:36 +00:00
client = TestClient(app)
2024-09-13 18:04:37 +00:00
test_websites = [
2024-09-13 19:22:37 +00:00
"https://ext.to/",
"https://btmet.com/",
2024-10-18 14:27:43 +00:00
"https://extratorrent.st/", # github is blocking these
"https://idope.se/", # github is blocking these
2024-09-13 18:04:37 +00:00
]
@pytest.mark.parametrize("website", test_websites)
2024-09-13 18:28:36 +00:00
def test_bypass(website: str):
response = client.post(
"/v1",
2024-09-13 18:48:31 +00:00
json=LinkRequest(
2024-10-18 13:45:43 +00:00
url=website, maxTimeout=120 * len(test_websites), cmd="request.get"
2024-09-13 18:48:31 +00:00
).model_dump(),
2024-09-13 18:28:36 +00:00
)
2024-10-18 13:55:56 +00:00
if response.status_code == HTTPStatus.TOO_MANY_REQUESTS:
# if rate limited
assert True
2024-09-13 18:28:36 +00:00
assert response.status_code == HTTPStatus.OK