@@ -1,123 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Test script for Temporal service
|
||||
set -e
|
||||
|
||||
echo "Testing Temporal service..."
|
||||
|
||||
# Check if service is running
|
||||
if ! curl -s http://localhost:8080/health > /dev/null; then
|
||||
echo "Error: Temporal service is not running on port 8080"
|
||||
echo "Please start it with: ./temporal-service"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✓ Service is running"
|
||||
|
||||
# Test health endpoint
|
||||
echo "Testing health endpoint..."
|
||||
HEALTH_RESPONSE=$(curl -s http://localhost:8080/health)
|
||||
if [[ $HEALTH_RESPONSE == *"healthy"* ]]; then
|
||||
echo "✓ Health check passed"
|
||||
else
|
||||
echo "✗ Health check failed: $HEALTH_RESPONSE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Test list schedules (should be empty initially)
|
||||
echo "Testing list schedules..."
|
||||
LIST_RESPONSE=$(curl -s -X POST http://localhost:8080/jobs \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"action": "list"}')
|
||||
|
||||
if [[ $LIST_RESPONSE == *"\"success\":true"* ]]; then
|
||||
echo "✓ List schedules works"
|
||||
else
|
||||
echo "✗ List schedules failed: $LIST_RESPONSE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create a test recipe file
|
||||
TEST_RECIPE="/tmp/test-recipe.yaml"
|
||||
cat > $TEST_RECIPE << EOF
|
||||
version: "1.0.0"
|
||||
title: "Test Recipe"
|
||||
description: "A test recipe for the scheduler"
|
||||
prompt: "This is a test prompt for scheduled execution."
|
||||
EOF
|
||||
|
||||
echo "Created test recipe at $TEST_RECIPE"
|
||||
|
||||
# Test create schedule
|
||||
echo "Testing create schedule..."
|
||||
CREATE_RESPONSE=$(curl -s -X POST http://localhost:8080/jobs \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"action\": \"create\", \"job_id\": \"test-job\", \"cron\": \"0 */6 * * *\", \"recipe_path\": \"$TEST_RECIPE\"}")
|
||||
|
||||
if [[ $CREATE_RESPONSE == *"\"success\":true"* ]]; then
|
||||
echo "✓ Create schedule works"
|
||||
else
|
||||
echo "✗ Create schedule failed: $CREATE_RESPONSE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Test list schedules again (should have one job)
|
||||
echo "Testing list schedules with job..."
|
||||
LIST_RESPONSE=$(curl -s -X POST http://localhost:8080/jobs \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"action": "list"}')
|
||||
|
||||
if [[ $LIST_RESPONSE == *"test-job"* ]]; then
|
||||
echo "✓ Job appears in list"
|
||||
else
|
||||
echo "✗ Job not found in list: $LIST_RESPONSE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Test pause schedule
|
||||
echo "Testing pause schedule..."
|
||||
PAUSE_RESPONSE=$(curl -s -X POST http://localhost:8080/jobs \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"action": "pause", "job_id": "test-job"}')
|
||||
|
||||
if [[ $PAUSE_RESPONSE == *"\"success\":true"* ]]; then
|
||||
echo "✓ Pause schedule works"
|
||||
else
|
||||
echo "✗ Pause schedule failed: $PAUSE_RESPONSE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Test unpause schedule
|
||||
echo "Testing unpause schedule..."
|
||||
UNPAUSE_RESPONSE=$(curl -s -X POST http://localhost:8080/jobs \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"action": "unpause", "job_id": "test-job"}')
|
||||
|
||||
if [[ $UNPAUSE_RESPONSE == *"\"success\":true"* ]]; then
|
||||
echo "✓ Unpause schedule works"
|
||||
else
|
||||
echo "✗ Unpause schedule failed: $UNPAUSE_RESPONSE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Test delete schedule
|
||||
echo "Testing delete schedule..."
|
||||
DELETE_RESPONSE=$(curl -s -X POST http://localhost:8080/jobs \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"action": "delete", "job_id": "test-job"}')
|
||||
|
||||
if [[ $DELETE_RESPONSE == *"\"success\":true"* ]]; then
|
||||
echo "✓ Delete schedule works"
|
||||
else
|
||||
echo "✗ Delete schedule failed: $DELETE_RESPONSE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Clean up
|
||||
rm -f $TEST_RECIPE
|
||||
|
||||
echo ""
|
||||
echo "🎉 All tests passed!"
|
||||
echo ""
|
||||
echo "The Temporal service is working correctly."
|
||||
echo "You can now integrate it with the Rust scheduler."
|
||||
Reference in New Issue
Block a user