WIP: test(e2e): accept the scan fixture's raw bytes as Base64 text #29
Draft
james.maes
wants to merge 2 commits from
feat/e2e-scan-base64-extra into main
pull from: feat/e2e-scan-base64-extra
merge into: QRun-IO:main
QRun-IO:main
QRun-IO:feat/session-user-activity
QRun-IO:fix/slow-link-timeouts
QRun-IO:fix/signout-idp-session
QRun-IO:fix/metadata-load-timeout
QRun-IO:ci/release-gates
QRun-IO:fix/widget-icon-string-main
QRun-IO:fix/restore-main-tree
QRun-IO:fix/widget-icon-string
QRun-IO:release/scanner-1.0.2-notes
QRun-IO:release/scanner-1.0.2
QRun-IO:fix/refresh-device-versions
QRun-IO:fix/company-signout-before-session-end
QRun-IO:test/available-scanner-photo-policy
QRun-IO:feature/gs1-record-photos
QRun-IO:docs/scanner-preview-publication
QRun-IO:feature/mobile-scanner-host
QRun-IO:feature/echo-scanner-presentation
QRun-IO:ci/qrun-android-publisher-main-20261102
QRun-IO:ci-proof/cache-interface-20261102
QRun-IO:ci-proof/android-shared-20261102
QRun-IO:archive/qrun-github-cutover-20261101/c55d3002b0d9/feature/echo-scanner-presentation
QRun-IO:migration/github-cutoff-reconcile-20261101
QRun-IO:archive/qrun-github-cutover-20261101/625a275de334/feature/mobile-scanner-host
QRun-IO:feature/orb-0.8-track
QRun-IO:feature/orb-0.7.17
QRun-IO:feature/orb-0712-stable-gate
QRun-IO:fix/package-token-0710
QRun-IO:fix/shared-publisher-context
QRun-IO:fix/current-registry
QRun-IO:feature/central-ci
No Reviewers
Labels
Clear labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
Something isn't working
Improvements or additions to documentation
This issue or pull request already exists
New feature or request
Good for newcomers
Extra attention is needed
This doesn't seem right
Further information is requested
This will not be worked on
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: QRun-IO/qqq-android#29
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What
The E2E scanner driver (
scanner-host/src/e2eonly) now also reads the fixture's raw bytes from a string extra,io.qrun.mobile.scanner.e2e.raw_data_base64(canonical padded Base64).Why
adb shell am broadcastcannot send a byte-array extra, so a hand-fired emulator scan could not carry raw bytes. Echo refuses a GS1-128 duplication without them, which made GS1 untestable from the command line.Behaviour
io.qrun.mobile.scanner.e2e.raw_datais unchanged and wins when both are present.IllegalArgumentExceptioninsideonReceiveafter the read was already cleared; it is now ignored the same way.Verified locally (Java 21, Windows)
:scanner-host:assembleE2e :scanner-host:testE2eUnitTest :scanner-host:lintE2e: build successful; 128 tests, 0 failures, 0 errors, 0 skipped (includes the newE2eRawDataTest, 3 tests); lint 0 errors, 1 warning (existingInsecureBaseConfigurationin the E2E network security config).testDebugUnitTest :scanner-host:lintDebug :scanner-host:assembleDebug: build successful; scanner-host 125, core 60, mobileapp 65 tests, 0 failures; lint 0 errors, 0 warnings.node scripts/ci/check-source-standards.mjsandnode --test scripts/ci/scanner-echo-guards.test.mjs: pass.am to-intent-uriand the device's broadcast history show all four string extras (value with spaces,]C1, Base64 with=) arriving intact from PowerShell 7 and Windows PowerShell 5.1.Not verified
ScannerEndToEndTest(which uses the byte-array extra) was not run.E2eRawDataTestlives in the newsrc/testE2esource set, which the shared CI workflow does not run (testDebugUnitTestonly).Note for reviewers
The E2E package signs in with
io.qrun.mobile.scanner.e2e.oauth://callback/oauth2redirect(docs/AUTHENTICATION.md), not the normal scanner callback. A server that advertises only the normal callback offers the E2E build no browser sign-in; docs/EMULATOR.md now says so.🤖 Generated with Claude Code
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.