#!/bin/bash # Test a specific SDK using unsandbox # Usage: test-sdk.sh LANGUAGE set -e LANG=${1:-python} RESULTS_DIR="test-results-$LANG" mkdir -p "$RESULTS_DIR" echo "Testing $LANG SDK via unsandbox..." # Use unsandbox API to test the SDK # This is the unfair advantage - we test without installing locally curl -s -X POST https://api.unsandbox.com/execute \ -H "Authorization: Bearer ${UNSANDBOX_API_KEY}" \ -H "Content-Type: application/json" \ -d "{ \"language\": \"$LANG\", \"code\": \"print(\\\"$LANG SDK test: OK\\\")\" }" > "$RESULTS_DIR/output.json" # Check result RESULT=$(cat "$RESULTS_DIR/output.json" | jq -r '.stdout' 2>/dev/null || echo "ERROR") if [[ "$RESULT" == *"OK"* ]]; then echo "✓ $LANG test passed" EXIT_CODE=0 else echo "✗ $LANG test failed: $RESULT" EXIT_CODE=1 fi # Generate JUnit XML cat > "$RESULTS_DIR/test-results.xml" << EOF EOF if [ $EXIT_CODE -eq 0 ]; then echo " $RESULT" >> "$RESULTS_DIR/test-results.xml" else echo " $RESULT" >> "$RESULTS_DIR/test-results.xml" fi cat >> "$RESULTS_DIR/test-results.xml" << EOF EOF exit $EXIT_CODE