-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix integration tests and change to a different project #1123
Conversation
protected var latestPurchasesUpdatedListener: BillingAbstract.PurchasesUpdatedListener? = null | ||
protected var latestStateListener: BillingAbstract.StateListener? = null | ||
internal var latestPurchasesUpdatedListener: BillingAbstract.PurchasesUpdatedListener? = null | ||
private var latestStateListener: BillingAbstract.StateListener? = null |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Had to change the visibility of these after #1106, otherwise it wouldn't compile
@@ -91,7 +91,7 @@ class PurchasesIntegrationTest : BasePurchasesIntegrationTest() { | |||
onSuccess = { offerings -> | |||
assertThat(offerings.current).isNotNull | |||
assertThat(offerings.current?.availablePackages?.size).isEqualTo(1) | |||
assertThat(offerings.current?.monthly?.product?.sku).isEqualTo(Constants.productIdToPurchase) | |||
assertThat(offerings.current?.annual?.product?.sku).isEqualTo(Constants.productIdToPurchase) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed the project to a new one that only has an annual sku. The idea behind that is that we plan to have a real purchase of an annual sku so we can do better integration tests
@@ -21,7 +21,7 @@ abstract class BaseOfflineEntitlementsIntegrationTest : BasePurchasesIntegration | |||
) | |||
|
|||
// Hack until we get a running token for production API tests. After that, we can just use "entitlementsToVerify" | |||
private val expectedEntitlements = entitlementsToVerify.ifEmpty { listOf("pro_cat", "another_pro_4") } | |||
private val expectedEntitlements = entitlementsToVerify.ifEmpty { listOf("pro_cat") } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needed as part of the changes to the new project.
@@ -16,11 +16,11 @@ internal class ProductionBackendIntegrationTest: BaseBackendIntegrationTest() { | |||
ensureBlockFinishes { latch -> | |||
backend.getProductEntitlementMapping( | |||
onSuccessHandler = { productEntitlementMapping -> | |||
assertThat(productEntitlementMapping.mappings.size).isEqualTo(36) | |||
assertThat(productEntitlementMapping.mappings["annual_freetrial"]).isEqualTo( | |||
assertThat(productEntitlementMapping.mappings.size).isEqualTo(2) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also needed as part of the changes to the new project.
Codecov Report
@@ Coverage Diff @@
## main #1123 +/- ##
=======================================
Coverage 84.81% 84.81%
=======================================
Files 180 180
Lines 6169 6169
Branches 916 916
=======================================
Hits 5232 5232
Misses 573 573
Partials 364 364 |
### Description After #1123, we fixed the production integration tests but we broke the load shedder integration tests (since the load shedder is using monthly skus and the production app is using annual skus)... This fixes it so it works for both.
**This is an automatic release.** ### New Features * `Trusted Entitlements`: made API stable (#1105) via NachoSoto (@NachoSoto) This new feature prevents MitM attacks between the SDK and the RevenueCat server. With verification enabled, the SDK ensures that the response created by the server was not modified by a third-party, and the entitlements received are exactly what was sent. This is 100% opt-in. `EntitlementInfos` have a new `VerificationResult` property, which will indicate the validity of the responses when this feature is enabled. ```kotlin fun configureRevenueCat() { val configuration = PurchasesConfiguration.Builder(context, apiKey) .entitlementVerificationMode(EntitlementVerificationMode.INFORMATIONAL) .build() Purchases.configure(configuration) } ``` ### Experimental features * Add await offerings (#1096) via Cesar de la Vega (@vegaro) ### Bugfixes * Fix issue updating customer info on app open (#1128) via Toni Rico (@tonidero) ### Dependency Updates * Bump fastlane-plugin-revenuecat_internal from `13773d2` to `b2108fb` (#1095) via dependabot[bot] (@dependabot[bot]) ### Other Changes * [PurchaseTester] Add option to purchase an arbitrary product id (#1099) via Mark Villacampa (@MarkVillacampa) * Fix release path after module refactor (#1129) via Toni Rico (@tonidero) * Fix load shedder integration tests (#1125) via Toni Rico (@tonidero) * Trusted entitlements: New trusted entitlements signature format (#1117) via Toni Rico (@tonidero) * Fix integration tests and change to a different project (#1123) via Toni Rico (@tonidero) * Move files into src/main/kotlin (#1122) via Cesar de la Vega (@vegaro) * Remove public module (#1113) via Cesar de la Vega (@vegaro) * Remove common module (#1106) via Cesar de la Vega (@vegaro) * Fix flaky integration tests: Wait for coroutines to finish before continuing (#1120) via Toni Rico (@tonidero) * Move amazon module into purchases (#1112) via Cesar de la Vega (@vegaro) * Trusted entitlements: Add IntermediateSignatureHelper to handle intermediate signature verification process (#1110) via Toni Rico (@tonidero) * Trusted entitlements: Add Signature type to process new signature response format (#1109) via Toni Rico (@tonidero) * [EXTERNAL] Add `awaitCustomerInfo` / coroutines tests to `TrustedEntitlementsInformationalModeIntegrationTest` (#1077) via @pablo-guardiola (#1107) via Toni Rico (@tonidero) * Remove feature:google module (#1104) via Cesar de la Vega (@vegaro) * Remove identity module (#1103) via Cesar de la Vega (@vegaro) * Remove subscriber attributes module (#1102) via Cesar de la Vega (@vegaro) * Delete utils module (#1098) via Cesar de la Vega (@vegaro) * Remove strings module (#1097) via Cesar de la Vega (@vegaro) * Update CHANGELOG.md to include external contribution (#1100) via Cesar de la Vega (@vegaro) * [EXTERNAL] Add missing `fetchPolicy` parameter to `awaitCustomerInfo` API (#1086) via @pablo-guardiola (#1090) via Toni Rico (@tonidero) --------- Co-authored-by: revenuecat-ops <[email protected]> Co-authored-by: Toni Rico <[email protected]>
Description
This fixes a couple of things: