["test:integration:client-e2e"]
description = """
Run end-to-end cipherstash-client tests (encrypt, decrypt, lock context) with docker compose.

NOTE: If switching from dev to test environment, you must first run:
  mise --env test run docker:down && mise --env test run docker:up && mise --env test run db:reset
to ensure containers are recreated with test environment configuration.
"""
depends = ["guard-mise-env"]
run = """
mise x -- cargo test -p cipherstash-client --test client_e2e --features test-utils -- --ignored
"""

["test:integration:client-e2e:setup"]
description = """
Ensure test environment is properly set up by restarting all services and resetting databases.
This is the same process that CI uses and ensures containers are recreated with test environment configuration.
"""
depends = ["guard-mise-env"]
run = """
echo "Stopping all services..."
mise --env test run docker:down

echo "Starting all services with test environment..."
mise --env test run docker:up

echo "Resetting databases..."
mise --env test run db:reset

echo "Test environment is ready!"
"""

["test:integration:client-eql-e2e"]
description = """
Run end-to-end cipherstash-client EQL tests with docker compose.

NOTE: If switching from dev to test environment, you must first run:
  mise --env test run docker:down && mise --env test run docker:up && mise --env test run db:reset
to ensure containers are recreated with test environment configuration.
"""
depends = ["guard-mise-env"]
run = """
mise x -- cargo test -p cipherstash-client --test client_eql_e2e --features test-utils,tokio -- --ignored
"""
