67 lines
2.3 KiB
Python
67 lines
2.3 KiB
Python
|
|
import requests
|
||
|
|
import sys
|
||
|
|
|
||
|
|
BASE_URL = "http://127.0.0.1:5000"
|
||
|
|
|
||
|
|
def test_route(route, description):
|
||
|
|
print(f"Testing {description} ({route})...", end=" ")
|
||
|
|
try:
|
||
|
|
response = requests.get(f"{BASE_URL}{route}")
|
||
|
|
if response.status_code == 200:
|
||
|
|
print("OK")
|
||
|
|
return True
|
||
|
|
else:
|
||
|
|
print(f"FAILED (Status: {response.status_code})")
|
||
|
|
# Print first 500 chars of response if error
|
||
|
|
print(response.text[:500])
|
||
|
|
return False
|
||
|
|
except requests.exceptions.ConnectionError:
|
||
|
|
print("FAILED (Connection Error - Is server running?)")
|
||
|
|
return False
|
||
|
|
except Exception as e:
|
||
|
|
print(f"FAILED ({e})")
|
||
|
|
return False
|
||
|
|
|
||
|
|
def main():
|
||
|
|
print("--- Smoke Test: Team Routes ---")
|
||
|
|
|
||
|
|
# 1. Clubhouse
|
||
|
|
if not test_route("/teams/", "Clubhouse Page"):
|
||
|
|
sys.exit(1)
|
||
|
|
|
||
|
|
# 2. Roster API
|
||
|
|
print("Testing Roster API...", end=" ")
|
||
|
|
try:
|
||
|
|
response = requests.get(f"{BASE_URL}/teams/api/roster")
|
||
|
|
if response.status_code == 200:
|
||
|
|
data = response.json()
|
||
|
|
if data.get('status') == 'success':
|
||
|
|
print(f"OK (Team: {data.get('team', {}).get('name')})")
|
||
|
|
|
||
|
|
# Check if roster has stats
|
||
|
|
roster = data.get('roster', [])
|
||
|
|
if roster:
|
||
|
|
p = roster[0]
|
||
|
|
# Check for L3 keys
|
||
|
|
if 'stats' in p and 'core_avg_rating' in p['stats']:
|
||
|
|
print(f" - Verified L3 Stats Key 'core_avg_rating' present: {p['stats']['core_avg_rating']}")
|
||
|
|
else:
|
||
|
|
print(f" - WARNING: L3 Stats Key 'core_avg_rating' MISSING in {p.get('stats', {}).keys()}")
|
||
|
|
else:
|
||
|
|
print(" - Roster is empty (Warning only)")
|
||
|
|
|
||
|
|
# Get Lineup ID for Detail Page Test
|
||
|
|
lineup_id = data.get('team', {}).get('id')
|
||
|
|
if lineup_id:
|
||
|
|
test_route(f"/teams/{lineup_id}", f"Team Detail Page (ID: {lineup_id})")
|
||
|
|
else:
|
||
|
|
print("FAILED (API returned error status)")
|
||
|
|
else:
|
||
|
|
print(f"FAILED (Status: {response.status_code})")
|
||
|
|
except Exception as e:
|
||
|
|
print(f"FAILED ({e})")
|
||
|
|
sys.exit(1)
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
main()
|