• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / supabase-swift / 29838134976
84%

Build:
DEFAULT BRANCH: main
Ran 21 Jul 2026 02:26PM UTC
Jobs 1
Files 96
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

21 Jul 2026 02:14PM UTC coverage: 83.737% (-0.03%) from 83.768%
29838134976

push

github

web-flow
test(auth): migrate AuthTests to Swift Testing, keep Mocker (Phase 5) (#1098)

* test(auth): migrate AuthTests to Swift Testing, keep Mocker

Same Phase 5 migration as #1098, but stays on Mocker for HTTP mocking
instead of Replay -- Replay isn't proven yet for all our cases, so we
stick with Mocker for now. Restores request-shape verification via
Mocker's .snapshotRequest curl assertions and per-request Mock() calls
everywhere, instead of Replay's stub-matching-failure-as-assertion
approach (which the original PR's own description notes only checks
method+path routing, weaker than what Mocker already gives for free).

AuthAdminOAuthTests, AuthClientTests, and AuthOAuthServerTests (the
three Mocker-touching suites) are nested under a shared
AuthMockerTests(.serialized) namespace and each carries the
cross-target .mockerSerialized trait (Sources/TestHelpers/MockerSerialization.swift,
same helper introduced for Storage/PostgREST/Functions), since Mocker's
mock registry is process-global across the whole test binary, not per
target.

PostgresQueryTests-style base-class-via-inheritance pattern doesn't
apply here (Auth never had one), but the same fixture-composition
philosophy carries through AuthMockerTests' shared setup.

AuthOAuthServerTests.swift is a new file added to main since PR #1098
branched (OAuth 2.1 authorization server support, SDK-1295) -- has no
Replay precedent, converted fresh following the same rules as the other
two Mocker suites.

Fixed a real deadlock risk while verifying under Swift Testing's
concurrent execution: RequestsTests.makeSUT called
`DispatchQueue.main.sync { assertSnapshot(...) }` from inside an async
fetch closure -- pre-existing in the original XCTest version too, but
XCTest's serial execution never exercised the interleaving that trips
it. Swapped for `await MainActor.run { ... }`, which suspends instead of
blocking a thread, eliminating the deadlock without losing the
curl-snapshot coverage.

Also fixed two real cross-... (continued)

8156 of 9740 relevant lines covered (83.74%)

38.67 hits per line

Coverage Regressions

Lines Coverage ∆ File
21
25.55
-11.68% Sources/Auth/Internal/Keychain.swift
3
97.35
-2.65% Sources/Helpers/AnyJSON/AnyJSON.swift
2
60.0
-40.0% Sources/Auth/Internal/URLOpener.swift
Jobs
ID Job ID Ran Files Coverage
1 29838134976.1 21 Jul 2026 02:26PM UTC 96
83.74
GitHub Action Run
Source Files on build 29838134976
  • Tree
  • List 96
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29838134976
  • 646cb9f8 on github
  • Prev Build on main (#29831734314)
  • Next Build on main (#29902945543)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc