Add tests and documentation
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Simple debug test for API functionality.
|
||||
"""
|
||||
|
||||
import json
|
||||
import sys
|
||||
import os
|
||||
|
||||
# Add current directory to path
|
||||
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
from api_routes import QueueManagerAPI
|
||||
from database import SQLiteDatabase
|
||||
from queue_service import QueueService
|
||||
|
||||
|
||||
def test_api_debug():
|
||||
"""Debug API functionality."""
|
||||
print("Testing API functionality...")
|
||||
|
||||
# Create database and service
|
||||
database = SQLiteDatabase(":memory:")
|
||||
database.initialize()
|
||||
queue_service = QueueService(database)
|
||||
|
||||
# Create API
|
||||
api = QueueManagerAPI(queue_service=queue_service)
|
||||
client = api.app.test_client()
|
||||
|
||||
# Test workflow data
|
||||
workflow_data = {
|
||||
"name": "Debug Test Workflow",
|
||||
"nodes": [
|
||||
{"id": "1", "type": "LoadImage", "inputs": {}},
|
||||
{"id": "2", "type": "SaveImage", "inputs": {"images": ["1", 0]}}
|
||||
],
|
||||
"links": [["1", 0, "2", 0]]
|
||||
}
|
||||
|
||||
print("1. Testing POST /api/queue/items...")
|
||||
response = client.post('/api/queue/items',
|
||||
data=json.dumps({
|
||||
'workflow_name': workflow_data['name'],
|
||||
'workflow_data': workflow_data
|
||||
}),
|
||||
content_type='application/json')
|
||||
|
||||
print(f" Status: {response.status_code}")
|
||||
print(f" Response: {response.data.decode()}")
|
||||
|
||||
if response.status_code == 201:
|
||||
response_data = json.loads(response.data)
|
||||
print(f" Item created: {response_data.get('item', {}).get('id', 'NO ID')}")
|
||||
|
||||
item_id = response_data['item']['id']
|
||||
|
||||
print(f"\n2. Testing GET /api/queue/items/{item_id}...")
|
||||
response = client.get(f'/api/queue/items/{item_id}')
|
||||
print(f" Status: {response.status_code}")
|
||||
print(f" Response: {response.data.decode()}")
|
||||
|
||||
if response.status_code == 200:
|
||||
item_data = json.loads(response.data)
|
||||
print(f" Item workflow_name: {item_data.get('item', {}).get('workflow_name', 'NO NAME')}")
|
||||
|
||||
print("\n3. Testing GET /api/queue/items...")
|
||||
response = client.get('/api/queue/items')
|
||||
print(f" Status: {response.status_code}")
|
||||
print(f" Response: {response.data.decode()}")
|
||||
|
||||
print("\n4. Testing filter...")
|
||||
response = client.post('/api/queue/items/filter',
|
||||
data=json.dumps({'status': ['pending']}),
|
||||
content_type='application/json')
|
||||
print(f" Status: {response.status_code}")
|
||||
print(f" Response: {response.data.decode()}")
|
||||
|
||||
database.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_api_debug()
|
||||
Reference in New Issue
Block a user