Skip to content

Fix flaky integration tests: Wait for coroutines to finish before continuing#1120

Merged
tonidero merged 3 commits into
mainfrom
fix-coroutines-integration-tests
Jul 5, 2023
Merged

Fix flaky integration tests: Wait for coroutines to finish before continuing#1120
tonidero merged 3 commits into
mainfrom
fix-coroutines-integration-tests

Conversation

@tonidero

@tonidero tonidero commented Jul 4, 2023

Copy link
Copy Markdown
Contributor

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 tonidero added the test label Jul 4, 2023
@tonidero tonidero marked this pull request as ready for review July 4, 2023 09:08
@tonidero tonidero requested a review from a team July 4, 2023 09:08
@codecov

codecov Bot commented Jul 4, 2023

Copy link
Copy Markdown

Codecov Report

Merging #1120 (2b3342e) into main (046add4) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1120   +/-   ##
=======================================
  Coverage   85.15%   85.15%           
=======================================
  Files         186      186           
  Lines        6556     6556           
  Branches      930      930           
=======================================
  Hits         5583     5583           
  Misses        601      601           
  Partials      372      372           

@pablo-guardiola pablo-guardiola left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Great catch @tonidero!

Also noticed in #1077 (comment)

Thanks for fixing 👌

@tonidero tonidero merged commit 575ee9c into main Jul 5, 2023
@tonidero tonidero deleted the fix-coroutines-integration-tests branch July 5, 2023 13:37
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 <ops@revenuecat.com>
Co-authored-by: Toni Rico <antonio.rico.diez@revenuecat.com>
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