Init Repo
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
"""
|
||||
Test script for task status endpoint error cases
|
||||
"""
|
||||
import requests
|
||||
import json
|
||||
|
||||
BASE_URL = "http://localhost:8000"
|
||||
|
||||
def test_nonexistent_project():
|
||||
"""Test accessing task statuses for a non-existent project"""
|
||||
|
||||
# Login
|
||||
login_response = requests.post(
|
||||
f"{BASE_URL}/auth/login",
|
||||
json={
|
||||
"email": "admin@vfx.com",
|
||||
"password": "admin123"
|
||||
}
|
||||
)
|
||||
|
||||
if login_response.status_code != 200:
|
||||
print(f"❌ Login failed: {login_response.status_code}")
|
||||
return
|
||||
|
||||
token = login_response.json()["access_token"]
|
||||
headers = {"Authorization": f"Bearer {token}"}
|
||||
|
||||
print("✅ Login successful")
|
||||
|
||||
# Try to access task statuses for non-existent project
|
||||
nonexistent_project_id = 99999
|
||||
print(f"\n--- Testing with non-existent project ID: {nonexistent_project_id} ---")
|
||||
|
||||
response = requests.get(
|
||||
f"{BASE_URL}/projects/{nonexistent_project_id}/task-statuses",
|
||||
headers=headers
|
||||
)
|
||||
|
||||
print(f"Status Code: {response.status_code}")
|
||||
|
||||
if response.status_code == 404:
|
||||
print("✅ Correctly returned 404 Not Found")
|
||||
data = response.json()
|
||||
print(f"Response: {json.dumps(data, indent=2)}")
|
||||
|
||||
if "detail" in data and "not found" in data["detail"].lower():
|
||||
print("✅ Error message is appropriate")
|
||||
else:
|
||||
print("❌ Error message is not appropriate")
|
||||
else:
|
||||
print(f"❌ Expected 404 but got {response.status_code}")
|
||||
print(response.text)
|
||||
|
||||
|
||||
def test_unauthorized_access():
|
||||
"""Test accessing task statuses without authentication"""
|
||||
|
||||
print("\n--- Testing without authentication ---")
|
||||
|
||||
response = requests.get(
|
||||
f"{BASE_URL}/projects/1/task-statuses"
|
||||
)
|
||||
|
||||
print(f"Status Code: {response.status_code}")
|
||||
|
||||
if response.status_code in [401, 403]:
|
||||
print(f"✅ Correctly returned {response.status_code} (Unauthorized/Forbidden)")
|
||||
print(f"Response: {response.json()}")
|
||||
else:
|
||||
print(f"❌ Expected 401 or 403 but got {response.status_code}")
|
||||
print(response.text)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_nonexistent_project()
|
||||
test_unauthorized_access()
|
||||
Reference in New Issue
Block a user