Files

Apps under test (test fixtures)

The apps the Maestro flows drive. Each embeds an OpenObserve Mobile RUM SDK and exposes buttons that generate every telemetry type (views, actions, network, handled error, crash) plus a PII form for masking tests. These are fixtures, not products.

o2-rum-tester/ — React Native (Android/iOS)

A minimal RN app using @openobserve/mobile-react-native@0.1.0-alpha.5 (same SDK family as the ShopSphere alpha5 build). App id: com.o2rumtester. Screens/triggers are in App.tsx.

Build & install (Android):

cd o2-rum-tester
npm install                         # postinstall applies the SDK build fix (see below)
(cd android && ./gradlew assembleRelease)
adb install -r android/app/build/outputs/apk/release/app-release.apk

SDK build fix (scripts/patch-sdk.js, run on postinstall): alpha5's @openobserve/mobile-react-native-session-replay ships an un-rebranded Gradle project reference (:datadog_mobile-react-native) that breaks assembleRelease (o2-enterprise#2289). The postinstall script rewrites it to :openobserve_mobile-react-native and runs the SDK's required replace-react-require step. Idempotent — safe to re-run.

Endpoint / token: configured in App.tsx (customEndpoint + clientToken) to point at the org under test. Rotate the token via the dashboard's "Reset RUM Token".

Adding a native fixture

For the Android-native / iOS-native tracks, add sibling apps here (o2-native-android/, o2-native-ios/) using the respective OpenObserve native SDKs with the same triggers, then point new Maestro flows at their app ids. The API + UI verification layers are unchanged.