Skip to content
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

Merged
merged 1 commit into from
Jul 6, 2023

Conversation

tonidero
Copy link
Contributor

@tonidero tonidero commented Jul 6, 2023

Description

This fixes a couple of things:

  • Fixes integration tests after the changes in Remove common module #1106. There were some compiler issues
  • Changes the project used by production integration tests and production backend integration tests to make it more stable (We were using a shared project before 😬 )

@tonidero tonidero added the test label Jul 6, 2023
protected var latestPurchasesUpdatedListener: BillingAbstract.PurchasesUpdatedListener? = null
protected var latestStateListener: BillingAbstract.StateListener? = null
internal var latestPurchasesUpdatedListener: BillingAbstract.PurchasesUpdatedListener? = null
private var latestStateListener: BillingAbstract.StateListener? = null
Copy link
Contributor Author

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)
Copy link
Contributor Author

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") }
Copy link
Contributor Author

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)
Copy link
Contributor Author

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.

@tonidero tonidero marked this pull request as ready for review July 6, 2023 10:40
@tonidero tonidero requested a review from a team July 6, 2023 10:40
@codecov
Copy link

codecov bot commented Jul 6, 2023

Codecov Report

Merging #1123 (528dea5) into main (ef34062) will not change coverage.
The diff coverage is n/a.

@@           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           

@tonidero tonidero merged commit 982d3f8 into main Jul 6, 2023
@tonidero tonidero deleted the fix-integration-tests-change-project branch July 6, 2023 16:13
tonidero added a commit that referenced this pull request Jul 7, 2023
### 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.
tonidero added a commit that referenced this pull request Jul 12, 2023
**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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants