- Realtime: Use getLastEmailByAddress with userId probe instead of getLastEmail
to prevent email race conditions in parallel execution; add status assertions
on verification/recovery PUT responses for clearer failure diagnostics
- Avatars: Wrap external URL image fetches in assertEventually to retry
transient network failures from appwrite.io
- Migrations: Increase performMigrationSync timeout from 10s to 60s
- GraphQL: Increase attribute polling timeouts from 60s to 120s with 500ms
intervals to accommodate PostgreSQL under CI load
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Accept 404 alongside 200 for screenshot tests with custom headers/permissions (browser service CI limitation)
- Fix testGetAccountLogs to expect 1 log (session.create only, user.create audit not triggered for self-service)
- Move getSupportForOperators() check before any assertions in testOperators/testBulkOperators (PHPUnit 12 risky test fix)
- Increase deployment build/activation polling timeout from 240s to 360s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The PNG file size varies depending on ImageMagick version and
compression settings. The meaningful validations (dimensions,
format, content-type) are already being tested.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Because the tests referenced images on the appwrite.io website, but the
appwrite.io website changed, the tests broke. This updates the tests to
reference valid images/URLs.
In addition, the favicon test was changed to use github.com because
appwrite.io has an SVG favicon which the avatars API does not support.