Add comprehensive test suite for API contracts and push notifications (#292-295) - #356
Open
owennashdev-ctrl wants to merge 4 commits into
Open
Conversation
…uest headers - Implement ContractTests.swift (iOS) verifying X-Nonce and X-Timestamp headers - Implement ApiContractTest.kt (Android) testing anti-replay header generation - Test pagination contract (cursor, limit query parameters) - Verify GET requests exclude anti-replay headers - Validate X-Nonce is 32 bytes hex-encoded - Validate X-Timestamp is valid Unix epoch seconds - Ensure all mutating requests follow shared/api-contract.md
… payloads - Implement PushPayloadGoldenTests.swift (iOS) with golden samples - Implement PushPayloadGoldenTest.kt (Android) with FCM payload samples - Test TTL warning notification structure (ttl_remaining, event_type) - Test check-in reminder notification structure (reminder_id) - Test vault expired notification structure (expired_at in ISO8601) - Validate consistent payload shape across notification types - Ensure title, body, and vault_id present in all payloads - Prevent silent breakage when backend changes field names
…arity bugs - Implement RegressionParityTests.swift (iOS) for issues ethos-protocol#87, ethos-protocol#109, ethos-protocol#115 - Implement RegressionParityTest.kt (Android) mirroring iOS tests - Issue ethos-protocol#87: Test deposit/withdraw endpoints and anti-replay headers - Issue ethos-protocol#109: Test beneficiary acceptance requires token, POST with anti-replay - Issue ethos-protocol#115: Test TOTP re-verify (challenge2FA excludes provisioning data) - Validate beneficiary update is possible on both platforms - Ensure consistent mutating request behavior across platforms
- Add FLAKY_TESTS.md documentation for tracking quarantined tests - Document identification, quarantine, and re-enabling process - Create @flaky annotation for marking intermittent tests - Add analyze_test_flakiness.py script for parsing test logs - Extend README Testing section with flakiness detection procedures - Enable systematic tracking of emulator/device timing issues - Document CI integration points for automated detection
|
@owennashdev-ctrl Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
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.
Summary
Implements 4 testing improvements as part of the Stellar Wave program:
Implementation Details
Issue #292 - Contract Tests
Issue #293 - Golden-File Tests
Issue #294 - Regression Suite
Issue #295 - Flakiness Process
Testing
All tests implemented only—no test of tests:
Files Changed
Test Files
Documentation & Tooling
Closes #292
Closes #293
Closes #294
Closes #295