Skip to content

Conversation

@sumeruchat
Copy link
Contributor

@sumeruchat sumeruchat commented Jul 1, 2025

Business Critical Integration Test Setup - MOB-11527

🎯 Overview

This PR implements the foundational infrastructure for Business Critical Integration Testing for the Iterable Swift SDK. This is setup only - actual test implementations for push notifications, in-app messages, embedded messages, and deep linking will follow in separate PRs.

IMPORTANT: To trigger the business critical push notifications integration test on a pr we should add the label "BCIT" or "BCIT-PUSH" to the pull request. Similar patter will be followed with all the other BCIT test suites

🏗️ What This PR Delivers

Core Infrastructure:

  • ✅ Complete local testing environment setup scripts
  • ✅ GitHub Actions workflow for automated CI/CD integration
  • ✅ iOS Simulator configuration and management
  • ✅ Iterable API integration with real backend validation
  • ✅ Test configuration management system
  • ✅ Comprehensive documentation and setup guides

Key Components Added:

  1. Setup Scripts (scripts/setup-local-environment.sh) - Automated environment configuration
  2. GitHub Actions Workflow (.github/workflows/integration-test-push-notification.yml) - CI/CD pipeline
  3. Validation Scripts (scripts/validate-setup.sh) - Environment verification
  4. Test Runner Framework (scripts/run-tests.sh) - Unified test execution
  5. Configuration Management (integration-test-app/config/test-config.json) - Centralized settings

🚀 Ready for Integration Testing

This setup enables:

  • Local Development: Developers can run integration tests on their Mac
  • GitHub Actions: Automated testing on every PR and manual triggers
  • Real API Validation: Tests against actual Iterable backend services
  • Scalable Framework: Ready for 4 critical test suites (MOB-11463, MOB-11464, MOB-11465, MOB-11466)

🔧 Technical Details

  • Uses latest macOS runners with Xcode latest-stable
  • Supports manual workflow triggers with branch/commit selection
  • Prefixed environment variables (BCIT_*) for clean separation
  • Comprehensive error handling and cleanup procedures
  • Ready for parallel test execution across multiple scenarios

📋 What's Next

Following PRs will implement the actual test suites:

  • MOB-11464: In-App Message Integration Tests
  • MOB-11465: Embedded Message Integration Tests
  • MOB-11466: Deep Linking Integration Tests

This PR establishes the foundation that all subsequent business critical integration tests will build upon.

🎯 Success Criteria

  • ✅ Local environment setup works end-to-end
  • ✅ GitHub Actions workflow runs successfully
  • ✅ API key configuration and validation works
  • ✅ iOS Simulator setup and management functions
  • ✅ Ready to accept actual test implementations

Reference: MOB-11527 - iOS SDK setup

- Add comprehensive GitHub Actions workflows for parallel test execution
- Implement complete test suites for push notifications, in-app messages, embedded messages, and deep linking
- Add backend integration layer for API validation and metrics verification
- Create production-ready test infrastructure with proper error handling and cleanup
- Support for real Iterable API testing with server keys and certificates

Framework provides end-to-end validation of all business critical SDK workflows.
@codecov
Copy link

codecov bot commented Jul 1, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 69.57%. Comparing base (6e2fdec) to head (b5d8665).
⚠️ Report is 880 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff             @@
##           master     #918       +/-   ##
===========================================
- Coverage   85.19%   69.57%   -15.63%     
===========================================
  Files          91      104       +13     
  Lines        6301     8581     +2280     
===========================================
+ Hits         5368     5970      +602     
- Misses        933     2611     +1678     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

sumeruchat added 22 commits July 1, 2025 18:39
…ation-tests

* master:
  MOB-11819: Prepare for Release 6.5.13 (#930)
  MOB-11622: Improve multi-window support (#926)
  Revert "Reapply "test commit""
  Reapply "test commit"
  Revert "test commit"
  test commit
  Make Repository more AI agent friendly - add readme and test and build scripts for AI agents (#924)
  Fix compilation errors in multi-window support
  MOB-11622: Fix InApp messages displaying in wrong window with Stage Manager (#917)
  [MOB-8537] updates action runner logic to check allowed protocols (#769)
@sumeruchat sumeruchat merged commit efaf943 into master Aug 29, 2025
5 of 6 checks passed
@sumeruchat sumeruchat deleted the feature/MOB-10966-business-critical-integration-tests branch August 29, 2025 14:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

BCIT Run Business Critical Integration Tests BCIT-PUSH Run business criticial push notification integration test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants