28 lines
1.3 KiB
Bash
Executable File
28 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
# Only new, disposable containers; no production connection settings are consumed.
|
|
export COMPOSE_PROJECT_NAME="btcdata-archive-test-$$"
|
|
compose=(docker compose -f tests/integration/compose.yaml)
|
|
trap '"${compose[@]}" down -v' EXIT
|
|
"${compose[@]}" up -d
|
|
export TEST_PGHOST=127.0.0.1 TEST_PGPORT=15432 TEST_PGUSER=postgres TEST_PGPASSWORD=disposable-test
|
|
export TEST_S3_ENDPOINT_URL=http://127.0.0.1:19000
|
|
export TEST_S3_ACCESS_KEY=disposable-test TEST_S3_SECRET_KEY=disposable-test-secret
|
|
python - <<'PY'
|
|
import os, time
|
|
import boto3, psycopg
|
|
from botocore.config import Config
|
|
for attempt in range(90):
|
|
try:
|
|
with psycopg.connect(host=os.environ['TEST_PGHOST'], port=os.environ['TEST_PGPORT'], user='postgres', password='disposable-test', dbname='postgres', connect_timeout=2):
|
|
pass
|
|
boto3.client('s3', endpoint_url=os.environ['TEST_S3_ENDPOINT_URL'], aws_access_key_id='disposable-test', aws_secret_access_key='disposable-test-secret', region_name='us-east-1', config=Config(connect_timeout=2, read_timeout=2, retries={'max_attempts': 0}, s3={'addressing_style': 'path'})).list_buckets()
|
|
break
|
|
except Exception:
|
|
time.sleep(2)
|
|
else:
|
|
raise SystemExit('disposable PostgreSQL/RustFS did not become ready')
|
|
PY
|
|
python -m pytest -q tests/integration
|