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

[EXTERNAL] Add awaitCustomerInfo / coroutines tests to TrustedEntitlementsInformationalModeIntegrationTest (#1077) via @pablo-guardiola #1107

Conversation

tonidero
Copy link
Contributor

Checklist

  • If applicable, unit tests
  • If applicable, create follow-up issues for purchases-ios and hybrids

Motivation

Why is this change required? What problem does it solve?

Follow up from
#1071 (comment)

Description

Describe your changes in detail

  • Adds awaitCustomerInfo / coroutines tests to TrustedEntitlementsInformationalModeIntegrationTest

Please describe in detail how you tested your changes

  • Run integration tests locally ✅

Contributed by @pablo-guardiola

…tlementsInformationalModeIntegrationTest` (#1077)

<!-- Thank you for contributing to Purchases! Before pressing the
"Create Pull Request" button, please provide the following: -->

### Checklist
- [ ] If applicable, unit tests
- [ ] If applicable, create follow-up issues for `purchases-ios` and
hybrids

### Motivation
**Why is this change required? What problem does it solve?**

Follow up from
#1071 (comment)

<!-- Please link to issues following this format: Resolves #999999 -->

### Description
**Describe your changes in detail**

- Adds `awaitCustomerInfo` / coroutines tests to
`TrustedEntitlementsInformationalModeIntegrationTest`

**Please describe in detail how you tested your changes**

- Run integration tests locally ✅ 

cc @tonidero @vegaro @NachoSoto
@tonidero tonidero added the test label Jun 28, 2023
@codecov
Copy link

codecov bot commented Jun 28, 2023

Codecov Report

Merging #1107 (d55a980) into main (6423df7) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1107   +/-   ##
=======================================
  Coverage   85.12%   85.12%           
=======================================
  Files         183      183           
  Lines        6493     6493           
  Branches      917      917           
=======================================
  Hits         5527     5527           
  Misses        601      601           
  Partials      365      365           

@tonidero tonidero marked this pull request as ready for review June 28, 2023 08:45
@tonidero tonidero requested a review from a team June 28, 2023 08:45
@tonidero tonidero changed the title [EXTERNAL] Add awaitCustomerInfo / coroutines tests to TrustedEntitlementsInformationalModeIntegrationTest (#1077) by @pablo-guardiola [EXTERNAL] Add awaitCustomerInfo / coroutines tests to TrustedEntitlementsInformationalModeIntegrationTest (#1077) via @pablo-guardiola Jun 28, 2023
Copy link
Contributor

@NachoSoto NachoSoto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yessssss! This will make writing new tests so much easier.

Screenshot 2023-06-28 at 08 42 04

)
}
fun initialCustomerInfoIsVerified() = runTestActivityLifecycleScope {
val receivedCustomerInfo = Purchases.sharedInstance.awaitCustomerInfo()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So. Much. Better 🥳

@tonidero tonidero merged commit 5a5c66d into main Jun 29, 2023
2 checks passed
@tonidero tonidero deleted the external/pablo-guardiola/pg-trusted-entitlements-integration-tests-coroutines branch June 29, 2023 06:00
tonidero added a commit that referenced this pull request Jul 5, 2023
…tinuing (#1120)

### Description
Looks like our new coroutine test infrastructure added in #1077 / #1107
wasn't waiting for the code to be executed before continuing. In some
cases the `@After` code was actually executed before the test, in those
cases, the test was failing. In this PR I change it to a blocking method
so the test finishes before continuing.
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.

3 participants