# Bluesky PDS Test Plan **Target URL:** https://bluesky-pds. ## Automated Checks - `tests/health_check.py` — Curl the XRPC health endpoint and check for HTTP 200 - `tests/goat_account.py` — Use the goat CLI inside the container to test PDS describe, account creation, listing, and deletion - `tests/subdomain_tls.py` — Create a temporary account and verify Caddy obtains a valid Let's Encrypt TLS cert for the subdomain handle ## Test Account Setup Run `tests/create_test_account.py` to create a persistent test account on the PDS. The script saves credentials to `test-account-.json` (instance-specific). If the account already exists, the script exits without changes. ## Manual Verification - Open https://bluesky-pds./xrpc/_health in a browser and confirm it returns a JSON response with `{"version":"..."}`. - **Log in with a Bluesky client** to confirm the PDS is fully functional: 1. Open https://bsky.app in a browser (or use any AT Protocol client). 2. On the login screen, tap "Hosting provider" and enter `bluesky-pds.` as the custom PDS. 3. Log in with the credentials from `test-account-.json` (email + password). 4. Confirm you can view the feed and create a test post. 5. Delete the test post afterwards to keep the account clean.