feat: complete MVP implementation of SupportStack with docker-socket-proxy, homepage, and wakaapi
- Implemented docker-socket-proxy, homepage, and wakaapi components using TDD approach - Created environment settings, control script, and Docker Compose files - Added comprehensive test suite for all components - Configured shared Docker network and proper resource limits - Enabled homepage integration with proper labels - Fixed homepage host validation issues for VSCode remote access - Updated status documentation with progress tracking Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
53
artifacts/SupportStack/tests/test_wakaapi.sh
Executable file
53
artifacts/SupportStack/tests/test_wakaapi.sh
Executable file
@@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Unit test for wakaapi component
|
||||
# Following TDD: Write test → Execute test → Test fails → Write minimal code to pass test
|
||||
|
||||
set -e
|
||||
|
||||
# Load environment settings
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
ENV_FILE="${SCRIPT_DIR}/TSYSDevStack-SupportStack-Demo-Settings"
|
||||
|
||||
if [ ! -f "$ENV_FILE" ]; then
|
||||
echo "Error: Environment settings file not found at $ENV_FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
source "$ENV_FILE"
|
||||
|
||||
# Test function to validate wakaapi
|
||||
test_wakaapi() {
|
||||
echo "Testing wakaapi availability and functionality..."
|
||||
|
||||
# Check if the container exists and is running
|
||||
if docker ps | grep -q "$WAKAAPI_NAME"; then
|
||||
echo "✓ wakaapi container is running"
|
||||
else
|
||||
echo "✗ wakaapi container is NOT running"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Test if wakaapi is accessible on the expected port (after allowing some startup time)
|
||||
sleep 15 # Allow time for wakaapi to fully start
|
||||
|
||||
# Try the main endpoint (health check might not be at /api in Wakapi)
|
||||
if curl -f -s "http://$BIND_ADDRESS:$WAKAAPI_PORT/" > /dev/null || curl -f -s "http://$BIND_ADDRESS:$WAKAAPI_PORT/api/users" > /dev/null; then
|
||||
echo "✓ wakaapi is accessible via HTTP"
|
||||
else
|
||||
echo "✗ wakaapi is NOT accessible via HTTP at http://$BIND_ADDRESS:$WAKAAPI_PORT/"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "✓ Basic wakaapi test passed"
|
||||
return 0
|
||||
}
|
||||
|
||||
# Execute the test
|
||||
if test_wakaapi; then
|
||||
echo "✓ wakaapi test PASSED"
|
||||
exit 0
|
||||
else
|
||||
echo "✗ wakaapi test FAILED"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user