#!/bin/bash

# Set Go path
export PATH=$PATH:/usr/local/go/bin

# Working directory
WORKDIR="/data/slow-query"

# Parameter initialization
DAY_ARG=""
RUN_ARG=""
SKIP_UNZIP=false

# Parse arguments
for arg in "$@"; do
  case $arg in
    -day=*)
      DAY_ARG="$arg"
      ;;
    -run=*)
      RUN_ARG="$arg"
      ;;
    --skip-unzip|--unzip=false)
      SKIP_UNZIP=true
      ;;
  esac
done

# Whether to execute decompression logic
if [[ "$SKIP_UNZIP" == false ]]; then
  echo "🧹 Cleaning old directories and unzipping..."
  rm -rf "$WORKDIR/__MACOSX"
  rm -rf "$WORKDIR/slowquerycheck"
  unzip -o "$WORKDIR/slowquerycheck.zip" -d "$WORKDIR"
fi

# Enter project directory
cd "$WORKDIR/slowquerycheck" || {
  echo "❌ Failed to enter slowquerycheck directory"
  exit 1
}

# Default -day parameter
if [[ -z "$DAY_ARG" ]]; then
  YESTERDAY=$(date -d "yesterday" +%Y%m%d)
  DAY_ARG="-day=$YESTERDAY"
fi

# Default -run parameter
if [[ -z "$RUN_ARG" ]]; then
  RUN_ARG="-run=TestPodSlowQuery"
fi

# Execute go test
echo "🚀 Running test with $RUN_ARG $DAY_ARG"
CGO_ENABLED=1 go test -v -timeout=0 "$RUN_ARG" "$DAY_ARG"


# Usage example
# chmod +x  run_once.sh

#  Default execution (auto decompression + default date and function)
# ./run_once.sh
# ./run_once.sh  -run=TestBinaryPlan

# Skip decompression
# ./run_once.sh  -run=TestBinaryPlan --skip-unzip

# Custom date and function
# ./run_once.sh -day=20240101 -run=TestBinaryPlan



