Repository navigation
Add Maestro smoke e2e for the example app (Android + iOS) - #19
Draft
ahsanalidotme wants to merge 7 commits into
Draft
ahsanalidotme wants to merge 7 commits into
ahsanalidotme wants to merge 7 commits into
Conversation
Five flows per platform: consent prompt (offline), deferred allow and deny with a backend check of the flow's own click, re-engagement, and trackEvent with a value. The example shows onLink deliveries on an e2e-only panel so flows can assert it fired exactly once. Adds a native SDK version check (report-only), the e2e workflow and a TESTING.md.
Contributor
Author
|
Impact: no database changes. The published package doesn't change: no files under |
Newer Xcodes refuse AsyncStorage's resource bundle target at 13.0.
Matches the native Android example and the backend's e2e allowlist. The Kotlin namespace is unchanged.
…Android deferred flows on, strict version check, record error codes
Self-hosted runners aren't available to public repos, so the job never started. GitHub-hosted macOS is free and unlimited here.
GitHub's macOS image ships Homebrew Ruby 3.4, which no longer bundles kconv, so pod install failed. Use setup-ruby 3.3 as ios.yml does, and stop putting Homebrew ahead of it on PATH.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #18
What
onLinkcount, path, source,customData, consent, attribution,trackEventresult) and testIDs on the consent prompt. The SDK key for an e2e run comes from a gitignoredexample/e2e.config.local.jsonthat Metro resolves (defaults are committed: e2e off, placeholder key). iOS addskickflip://e2e/open?url=<link>(e2e builds only), which callshandleDeepLink, because an unsigned simulator build has no Associated Domains.e2e/flows/{android,ios}):consent_prompt(offline),deferred_allow,deferred_deny,reengagement,track_event. Deferred: Android uses the fake Play referrer (debug.linktrail.referrer), iOS uses the Safari interstitial's clipboard token. After each deferred flow the runner checksGET /v1/e2e/clicks/<token>(allow: recorded, attributed,click_token, 1 install; deny: nothing recorded).e2e/android.sh,e2e/ios.sh, a sharede2e/lib.sh, ande2e/sim-lock.sh(the same machine lock the iOS SDK e2e uses).e2e/check-native-versions.shcompares the pinned native SDKs with CocoaPods trunk and Maven Central. It only warns for now (NATIVE_VERSION_STRICT=truemakes it fail)..github/workflows/e2e.yml(pull_request + workflow_dispatch): Android on ubuntu with a KVM emulator, iOS on[self-hosted, macOS]under the simulator lock. WithoutLINKTRAIL_KEYandE2E_TOKEN, only the offline flow runs and the others are skipped with a notice. Fork PRs never run on the self-hosted Mac.Native SDK versions are unchanged.
Notes
The Android deferred flows are off (variable
E2E_ANDROID_DEFERRED), becauseio.linktrail:sdk0.0.5 has no debug fake referrer yet. Turn them on after the next Android release and version bump.The version check currently warns: iOS is pinned at
~> 0.0.11, and the latest on trunk is 0.1.0.Android example
applicationIdis nowio.linktrail.demo.store(same as the native Android example; in the backend e2e allowlist). iOS staysio.linktrail.kickflipdemo.