|
|
from math import inf |
|
|
|
|
|
import pytest |
|
|
from fastapi.testclient import TestClient |
|
|
|
|
|
|
|
|
@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/wallpaper/") as client: |
|
|
client.headers["Cache-Control"] = "no-cache" |
|
|
yield client |
|
|
|
|
|
|
|
|
def test_wallpaper(client: TestClient): |
|
|
response = client.get("wallpaper", params={"category": "girl"}) |
|
|
assert response.status_code == 200 |
|
|
assert response.json().get("msg") == "success" |
|
|
|
|
|
|
|
|
def test_wallpaper_limit(client: TestClient): |
|
|
response = client.get("wallpaper", params={"category": "girl", "limit": "21"}) |
|
|
|
|
|
assert response.status_code == 200 |
|
|
assert response.json()["msg"] == "success" |
|
|
assert len(response.json()["res"]["wallpaper"]) == 21 |
|
|
|
|
|
|
|
|
def test_wallpaper_skip(client: TestClient): |
|
|
response_1 = client.get( |
|
|
"wallpaper", params={"category": "girl", "limit": "20", "skip": "20"} |
|
|
) |
|
|
response_2 = client.get( |
|
|
"wallpaper", params={"category": "girl", "limit": "40", "skip": "0"} |
|
|
) |
|
|
|
|
|
assert response_1.status_code == 200 and response_2.status_code == 200 |
|
|
assert ( |
|
|
response_1.json()["res"]["wallpaper"][0]["id"] |
|
|
== response_2.json()["res"]["wallpaper"][20]["id"] |
|
|
) |
|
|
|
|
|
|
|
|
def test_vertical(client: TestClient): |
|
|
response = client.get("vertical", params={"category": "girl"}) |
|
|
assert response.status_code == 200 |
|
|
assert response.json().get("msg") == "success" |
|
|
|
|
|
|
|
|
def test_vertical_limit(client: TestClient): |
|
|
response = client.get("vertical", params={"category": "girl", "limit": "21"}) |
|
|
assert response.status_code == 200 |
|
|
assert response.json().get("msg") == "success" |
|
|
assert len(response.json()["res"]["vertical"]) == 21 |
|
|
|
|
|
|
|
|
def test_vertical_skip(client: TestClient): |
|
|
response_1 = client.get( |
|
|
"vertical", params={"category": "girl", "limit": "20", "skip": "20"} |
|
|
) |
|
|
response_2 = client.get( |
|
|
"vertical", params={"category": "girl", "limit": "40", "skip": "0"} |
|
|
) |
|
|
|
|
|
assert response_1.status_code == 200 and response_2.status_code == 200 |
|
|
assert ( |
|
|
response_1.json()["res"]["vertical"][0]["id"] |
|
|
== response_2.json()["res"]["vertical"][20]["id"] |
|
|
) |
|
|
|