From 13fb7bdf665d6678f043c893043b758828424a34 Mon Sep 17 00:00:00 2001 From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com.> Date: Tue, 24 Jun 2025 14:02:48 +0100 Subject: [PATCH] remove bad testing --- testing/test_temp_files.sh | 256 -------------------------- testing/testdriver/temp_file_test.yml | 20 -- 2 files changed, 276 deletions(-) delete mode 100644 testing/test_temp_files.sh delete mode 100644 testing/testdriver/temp_file_test.yml diff --git a/testing/test_temp_files.sh b/testing/test_temp_files.sh deleted file mode 100644 index a5adb473a..000000000 --- a/testing/test_temp_files.sh +++ /dev/null @@ -1,256 +0,0 @@ -#!/bin/bash - -# This script tests the temporary file cleanup functionality in Stirling-PDF. -# It creates various temporary files inside a Docker container and verifies -# that they are properly cleaned up. - -# Find project root by locating build.gradle -find_root() { - local dir="$PWD" - while [[ "$dir" != "/" ]]; do - if [[ -f "$dir/build.gradle" ]]; then - echo "$dir" - return 0 - fi - dir="$(dirname "$dir")" - done - echo "Error: build.gradle not found" >&2 - exit 1 -} - -PROJECT_ROOT=$(find_root) -CONTAINER_NAME="stirling-pdf-temp-file-test" -COMPOSE_FILE="$PROJECT_ROOT/testing/testdriver/temp_file_test.yml" -SNAPSHOT_DIR="$PROJECT_ROOT/testing/file_snapshots" -SUCCESS=true - -# Create directories -mkdir -p "$SNAPSHOT_DIR" - -# Colors for output -GREEN='\033[0;32m' -RED='\033[0;31m' -YELLOW='\033[0;33m' -NC='\033[0m' # No Color - -# Function to check the health of the service -check_health() { - local service_name=$1 - local end=$((SECONDS+60)) - - echo -n "Waiting for $service_name to become healthy..." - until [ "$(docker inspect --format='{{json .State.Health.Status}}' "$service_name")" == '"healthy"' ] || [ $SECONDS -ge $end ]; do - sleep 3 - echo -n "." - if [ $SECONDS -ge $end ]; then - echo -e "\n$service_name health check timed out after 60 seconds." - echo "Printing logs for $service_name:" - docker logs "$service_name" - return 1 - fi - done - echo -e "\n$service_name is healthy!" - return 0 -} - -# Function to capture all files in /tmp and its subdirectories -capture_temp_files() { - local output_file=$1 - - echo "Capturing temporary files list..." - docker exec $CONTAINER_NAME sh -c "find /tmp -type f | sort" > "$output_file" - - # Count files - local count=$(wc -l < "$output_file") - echo "Found $count files in /tmp" -} - -# Function to create test temporary files in the container -create_test_files() { - echo "Creating test temporary files..." - - # Create files with various patterns in different directories - docker exec $CONTAINER_NAME sh -c ' - # Create files in /tmp - touch /tmp/output_123.pdf - touch /tmp/compressedPDF456.pdf - touch /tmp/stirling-pdf-789.tmp - touch /tmp/pdf-save-123-456.tmp - touch /tmp/pdf-stream-789-012.tmp - touch /tmp/PDFBox123.tmp - touch /tmp/input_test.pdf - touch /tmp/overlay-test.pdf - - # Create system-like temp files - touch /tmp/lu123abc.tmp - mkdir -p /tmp/ocr_process123 - touch /tmp/tmp_upload.tmp - touch /tmp/OSL_PIPE_1000_stirling - touch /tmp/random.tmp - - # Create Jetty files (should be preserved) - touch /tmp/jetty-123.tmp - touch /tmp/something-with-jetty-inside.tmp - - # Create nested directories with temp files - mkdir -p /tmp/stirling-pdf - touch /tmp/stirling-pdf/nested_output.pdf - - mkdir -p /tmp/webp_outputXYZ - touch /tmp/webp_outputXYZ/output_nested.pdf - - # Create an empty file (special case) - touch /tmp/empty.tmp - - # Create normal files (should be preserved) - touch /tmp/important.txt - - echo "Test files created successfully" - ' -} - -# Function to trigger cleanup by modifying settings -trigger_cleanup() { - echo "Triggering temporary file cleanup..." - - # Set aggressive cleanup settings and restart - docker exec $CONTAINER_NAME sh -c ' - echo "stirling.tempfiles.max-age-hours=0.001" >> /app/application.properties - echo "stirling.tempfiles.cleanup-interval-minutes=0.1" >> /app/application.properties - touch /app/restart-trigger - ' - - # Wait for cleanup to run - echo "Waiting for cleanup to run (30 seconds)..." - sleep 30 -} - -# Function to verify cleanup results -verify_cleanup() { - local before_file=$1 - local after_file=$2 - local status=true - - echo "Verifying cleanup results..." - - # Files that should be cleaned - local should_be_cleaned=( - "/tmp/output_123.pdf" - "/tmp/compressedPDF456.pdf" - "/tmp/stirling-pdf-789.tmp" - "/tmp/pdf-save-123-456.tmp" - "/tmp/pdf-stream-789-012.tmp" - "/tmp/PDFBox123.tmp" - "/tmp/input_test.pdf" - "/tmp/overlay-test.pdf" - "/tmp/lu123abc.tmp" - "/tmp/ocr_process123" - "/tmp/tmp_upload.tmp" - "/tmp/OSL_PIPE_1000_stirling" - "/tmp/random.tmp" - "/tmp/empty.tmp" - "/tmp/stirling-pdf/nested_output.pdf" - "/tmp/webp_outputXYZ/output_nested.pdf" - ) - - # Files that should be preserved - local should_be_preserved=( - "/tmp/jetty-123.tmp" - "/tmp/something-with-jetty-inside.tmp" - "/tmp/important.txt" - ) - - # Check files that should be cleaned - for file in "${should_be_cleaned[@]}"; do - if grep -q "$file" "$after_file"; then - echo -e "${RED}FAIL: $file was not cleaned up${NC}" - status=false - else - echo -e "${GREEN}PASS: $file was properly cleaned up${NC}" - fi - done - - # Check files that should be preserved - for file in "${should_be_preserved[@]}"; do - if grep -q "$file" "$after_file"; then - echo -e "${GREEN}PASS: $file was properly preserved${NC}" - else - echo -e "${RED}FAIL: $file was incorrectly cleaned up${NC}" - status=false - fi - done - - return $status -} - -# Main function -main() { - echo -e "${YELLOW}Starting temporary file cleanup test...${NC}" - - # Create special test compose file - cat > "$COMPOSE_FILE" << EOL -version: '3.8' -services: - stirling-pdf: - image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest-ultra-lite - container_name: $CONTAINER_NAME - environment: - - DOCKER_ENABLE_SECURITY=false - - APP_FILESYSTEM_DIRECTORY_BASE=/app/customFiles - - STIRLING_MACHINE_TYPE=Docker - - STIRLING_TEMPFILES_STARTUP_CLEANUP=false - - STIRLING_TEMPFILES_CLEANUP_INTERVAL_MINUTES=5 - - JAVA_OPTS=-Xmx500m - ports: - - 8080:8080 - healthcheck: - test: ["CMD-SHELL", "curl -f http://localhost:8080/actuator/health || exit 1"] - interval: 10s - timeout: 5s - retries: 3 - restart: unless-stopped -EOL - - # Start the container - docker-compose -f "$COMPOSE_FILE" up -d - - # Wait for container to be healthy - if ! check_health "$CONTAINER_NAME"; then - echo -e "${RED}Failed to start test container${NC}" - docker-compose -f "$COMPOSE_FILE" down - exit 1 - fi - - # Create temporary files - create_test_files - - # Capture initial state - BEFORE_FILE="$SNAPSHOT_DIR/temp_files_before.txt" - capture_temp_files "$BEFORE_FILE" - - # Trigger cleanup - trigger_cleanup - - # Capture final state - AFTER_FILE="$SNAPSHOT_DIR/temp_files_after.txt" - capture_temp_files "$AFTER_FILE" - - # Verify cleanup results - if verify_cleanup "$BEFORE_FILE" "$AFTER_FILE"; then - echo -e "${GREEN}Temporary file cleanup test PASSED${NC}" - else - echo -e "${RED}Temporary file cleanup test FAILED${NC}" - SUCCESS=false - fi - - # Clean up - docker-compose -f "$COMPOSE_FILE" down - - if $SUCCESS; then - exit 0 - else - exit 1 - fi -} - -main \ No newline at end of file diff --git a/testing/testdriver/temp_file_test.yml b/testing/testdriver/temp_file_test.yml deleted file mode 100644 index 6fef117f6..000000000 --- a/testing/testdriver/temp_file_test.yml +++ /dev/null @@ -1,20 +0,0 @@ -version: '3.8' -services: - stirling-pdf: - image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest-ultra-lite - container_name: stirling-pdf-temp-file-test - environment: - - DOCKER_ENABLE_SECURITY=false - - APP_FILESYSTEM_DIRECTORY_BASE=/app/customFiles - - STIRLING_MACHINE_TYPE=Docker - - STIRLING_TEMPFILES_STARTUP_CLEANUP=false - - STIRLING_TEMPFILES_CLEANUP_INTERVAL_MINUTES=5 - - JAVA_OPTS=-Xmx500m - ports: - - 8080:8080 - healthcheck: - test: ["CMD-SHELL", "curl -f http://localhost:8080/actuator/health || exit 1"] - interval: 10s - timeout: 5s - retries: 3 - restart: unless-stopped