Skip to content

test(e2e): verify #794 house_arrest VendDocuments fallback on App Store apps - #822

Open
danielpaulus wants to merge 1 commit into
mainfrom
test/e2e-794-house-arrest
Open

test(e2e): verify #794 house_arrest VendDocuments fallback on App Store apps#822
danielpaulus wants to merge 1 commit into
mainfrom
test/e2e-794-house-arrest

Conversation

@danielpaulus

Copy link
Copy Markdown
Owner

What

Adds a real-device e2e test (test/e2e/house_arrest_test.go, behind the e2e build tag) that verifies PR #794 — the house_arrest VendContainerVendDocuments fallback for App Store apps. This is a verification test only; it does not touch house_arrest.go or any other code.

The unit tests can't exercise the fallback: CI's apps are developer-signed, so VendContainer succeeds and the fallback stays dormant. Confirming it needs a real device with an App Store (non-developer-signed) app.

What the test does, per configured device

  1. Lists user apps via installationproxy and logs the full inventory (bundleID + ApplicationType + whether developer-signed via the get-task-allow entitlement).
  2. Picks an App Store app = ApplicationType User without get-task-allow (the kind that rejects VendContainer with InstallationLookupFailed). If found: asserts house_arrest.New succeeds and the returned AFC client can List("/") — proving the VendDocuments fallback produced a working connection.
  3. Picks a developer-signed app and asserts house_arrest.New still works via VendContainer (no regression).
  4. If no App Store app is installed, t.Skips with a loud message rather than failing.

Non-destructive: read-only directory listing only.

Real-device run result

Dispatched real-device.yml against this branch — run 31501985638, both jobs green.

  • macOS (office01) device 00008120-...401E: 3 user apps, all developer-signed. VendContainer no-regression path OK. No App Store app → fallback SKIPPED.
  • Linux (ganjalf) device 00008110-...401E: 2 user apps, all developer-signed. VendContainer no-regression path OK. No App Store app → fallback SKIPPED.

So the VendContainer happy path is confirmed unbroken on real devices, but the #794 VendDocuments fallback itself is not yet exercised — neither farm device has an App Store app. Installing any free App Store app on a farm device will flip the skip into a real assertion on the next run.

Do not merge without review.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com

…re apps

Adds a real-device e2e test (behind the e2e build tag) that classifies
installed user apps via installationproxy and, for an App Store app (User
type without the get-task-allow entitlement), calls house_arrest.New and
asserts it succeeds and returns a usable AFC connection — proving PR #794's
VendContainer -> VendDocuments fallback. Also exercises a developer-signed
app to prove the VendContainer path did not regress. Skips loudly when no
App Store app is installed on a device, since the fallback cannot be
exercised without one. Non-destructive: read-only directory listing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J8eMENxJ1nec9CeHp4tjWk
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant