62 lines
1.7 KiB
Python
62 lines
1.7 KiB
Python
import requests
|
|
import os
|
|
import json
|
|
|
|
# Manually load .env
|
|
try:
|
|
with open('.env', 'r') as f:
|
|
for line in f:
|
|
line = line.strip()
|
|
if line and not line.startswith('#'):
|
|
key, value = line.split('=', 1)
|
|
os.environ[key] = value
|
|
except FileNotFoundError:
|
|
print("Warning: .env file not found")
|
|
|
|
API_URL = os.getenv("API_URL")
|
|
API_TOKEN = os.getenv("API_TOKEN")
|
|
|
|
headers = {"Authorization": f"Token {API_TOKEN}"}
|
|
|
|
print(f"Testing API at: {API_URL}")
|
|
|
|
def test_endpoint(path):
|
|
url = f"{API_URL}{path}"
|
|
print(f"\n--- Testing {url} ---")
|
|
try:
|
|
response = requests.get(url, headers=headers, timeout=5)
|
|
print(f"Status Code: {response.status_code}")
|
|
try:
|
|
data = response.json()
|
|
print("Response JSON (truncated):")
|
|
print(json.dumps(data, indent=2)[:500] + "..." if len(str(data)) > 500 else json.dumps(data, indent=2))
|
|
return data
|
|
except json.JSONDecodeError:
|
|
print("Response is not JSON")
|
|
print(response.text[:200])
|
|
return None
|
|
except Exception as e:
|
|
print(f"Error: {e}")
|
|
return None
|
|
|
|
# Test Root API
|
|
test_endpoint("")
|
|
|
|
# Test Search Parameters
|
|
target_id = "K1Uw_YVgCBsww"
|
|
print(f"\n--- Testing Search Params for {target_id} ---")
|
|
|
|
# Test Page Size
|
|
print(f"\n--- Testing Page Size ---")
|
|
|
|
sizes = [12, 50, 100]
|
|
|
|
for size in sizes:
|
|
url = f"/video/?page_size={size}"
|
|
print(f"Testing {url}...")
|
|
data = test_endpoint(url)
|
|
if data and isinstance(data, dict) and 'data' in data:
|
|
count = len(data['data'])
|
|
print(f"Requested {size}, got {count} items.")
|
|
if 'paginate' in data:
|
|
print(f"Pagination meta: {data['paginate']}")
|