Integration Tests: actually verify that entitlement is active#1880
Merged
Conversation
vegaro
approved these changes
Sep 1, 2022
Contributor
Author
|
This is failing, I wonder if it's the same issue we've been discussing. |
0108b93 to
bc9b7a9
Compare
Contributor
Author
|
This makes TRIAGE-82 even more reproducible. |
`verifyEntitlementWentThrough` was only looking for an entitlement inside of `EntitlementInfos.all`, but not verifying that it's active.
bc9b7a9 to
f7a1451
Compare
aboedo
approved these changes
Sep 9, 2022
NachoSoto
added a commit
that referenced
this pull request
Sep 9, 2022
…test Follow up to #1880. The duplicated and unnecessary `verifyEntitlementWentThrough` (that's already done by `purchaseWeeklyOffering`) didn't pass the new `verifyEntitlementIsActive`, which lead to false negatives due to the short expiration rate in weekly subscriptions.
NachoSoto
pushed a commit
that referenced
this pull request
Sep 23, 2022
**This is an automatic release.** ### Bugfixes * `Purchases.beginRefundRequest`: ensured errors are `PublicError` (#1913) via NachoSoto (@NachoSoto) * `PurchaseTesterSwiftUI`: fixed macOS target (#1915) via NachoSoto (@NachoSoto) ### Other Changes * `SnapshotTesting`: require version 1.9.0 to keep supporting iOS 12/13 tests (#1931) via NachoSoto (@NachoSoto) * Fixed `tvOS` tests (#1928) via NachoSoto (@NachoSoto) * `pre-commit` hook: also verify leftover API keys in `PurchaseTester` (#1914) via NachoSoto (@NachoSoto) * `CircleCI`: changed iOS 12/13 to use Xcode 13 (#1918) via NachoSoto (@NachoSoto) * `PurchaseTesterSwiftUI`: removed unnecessary `UIApplicationDelegate` (#1916) via NachoSoto (@NachoSoto) * `CircleCI`: changed all jobs to use Xcode 14 (#1909) via NachoSoto (@NachoSoto) * `Atomic`: added unit test to verify `value`'s setter (#1905) via NachoSoto (@NachoSoto) * `spm build` CI job: changed to release build (#1903) via NachoSoto (@NachoSoto) * `StoreKitUnitTests`: compile on iOS 11.0+ (#1904) via NachoSoto (@NachoSoto) * `Purchases`: only expose testing data on `DEBUG` (#1902) via NachoSoto (@NachoSoto) * `Integration Tests`: added test to verify re-subscription behavior (#1898) via NachoSoto (@NachoSoto) * `IntegrationTests`: simplified `testExpireSubscription` to fix flaky test (#1899) via NachoSoto (@NachoSoto) * `Integration Tests`: actually verify that entitlement is active (#1880) via NachoSoto (@NachoSoto)
NachoSoto
added a commit
that referenced
this pull request
Sep 28, 2022
…xpires` to fix flakiness Fixes [CSDK-479]. ### Changes: - Removed extra `verifyEntitlementWentThrough`. #1880 introduced a change so that weekly subscriptions aren't verified, because they expire within a second. This make the test flaky due to that race condition. - Removed `assertNoActiveSubscription`: I tried calling `SKTestSession.disableAutoRenewForTransaction`, but sometimes the server still thinks the subscription has auto-renewed. This was making the test flaky. Turns out that even if it's not active, the eligibility test still passes as expected.
NachoSoto
added a commit
that referenced
this pull request
Sep 29, 2022
…xpires` to fix flakiness (#1952) Fixes [CSDK-479]. ### Changes: - Removed extra `verifyEntitlementWentThrough`. #1880 introduced a change so that weekly subscriptions aren't verified, because they expire within a second. This make the test flaky due to that race condition. - Removed `assertNoActiveSubscription`: I tried calling `SKTestSession.disableAutoRenewForTransaction`, but sometimes the server still thinks the subscription has auto-renewed. This was making the test flaky. Turns out that even if it's not active, the eligibility test still passes as expected. - Removed call to `syncPurchases`. It doesn't matter what state the server is in, as long as locally `SKTestSession` has an expired subscription. This, together with #1945, should fix the last of the issues causing flaky integration tests 🤞🏻 [CSDK-479]: https://revenuecats.atlassian.net/browse/CSDK-479?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
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.
verifyEntitlementWentThroughwas only looking for an entitlement inside ofEntitlementInfos.all, but not verifying that it's active.