HibiAPI / test /test_sauce.py
DengFengLai's picture
DF.
0a1b571
from math import inf
from pathlib import Path
import pytest
from fastapi.testclient import TestClient
from pytest_httpserver import HTTPServer
LOCAL_SAUCE_PATH = Path(__file__).parent / "test_sauce.jpg"
@pytest.fixture(scope="package")
def client():
from hibiapi.app import app, application
application.RATE_LIMIT_MAX = inf
with TestClient(app, base_url="http://testserver/api/") as client:
yield client
@pytest.mark.xfail(reason="rate limit possible reached")
def test_sauce_url(client: TestClient, httpserver: HTTPServer):
httpserver.expect_request("/sauce").respond_with_data(LOCAL_SAUCE_PATH.read_bytes())
response = client.get("sauce/", params={"url": httpserver.url_for("/sauce")})
assert response.status_code == 200
data = response.json()
assert data["header"]["status"] == 0, data["header"]["message"]
@pytest.mark.xfail(reason="rate limit possible reached")
def test_sauce_file(client: TestClient):
with open(LOCAL_SAUCE_PATH, "rb") as file:
response = client.post("sauce/", files={"file": file})
assert response.status_code == 200
data = response.json()
assert data["header"]["status"] == 0, data["header"]["message"]