Repository navigation
Remove third-party network calls from required test jobs #10722
Copy link
Copy link
Closed
Labels
state:releasedReleased as stable versionReleased as stable versionstate:released-alphaReleased as alpha versionReleased as alpha version
Description
Issue
Part of #10681.
Three specs send requests to servers of Apple and Facebook, so their result depends on these servers.
test validate_receipt endpoint>should fail at appstore validationinspec/PurchaseValidation.spec.jssends a receipt to the App Store receipt validation athttps://buy.itunes.apple.com/verifyReceiptand expects the status21002that Apple returns for an invalid receipt. The spec fails if Apple is unreachable, responds with an HTTP error, or doesn't respond within the spec timeout of 20 s:After a timeout, the request of the spec to Parse Server is still waiting for Apple. The next spec that restarts Parse Server withError: Timeout - Async function did not complete within 20000ms (set by jasmine.DEFAULT_TIMEOUT_INTERVAL)reconfigureServercloses the connection of that request, and fails withError: socket hang up.apple signin auth adapter>should throw error if public key used to encode token is not availableand the same spec infacebook limited auth adapterinspec/AuthenticationAdapters.spec.jsdownload the public keys fromhttps://appleid.apple.com/auth/keysandhttps://www.facebook.com/.well-known/oauth/openid/jwks/. The adapters report any error of the download as the missing key that the specs expect, so the specs pass whether the download succeeds or fails. They fail if the server doesn't respond within 20 s, becausejwks-rsaonly cancels the download after 30 s without a response.- Holding the connections to Apple and Facebook open without a response reproduces the failures locally with MongoDB and PostgreSQL: the 3 specs time out, and the next spec that restarts Parse Server fails with
socket hang up. - Of the 292 failed test jobs in CI runs from July 1 to September 29, 2026, 5 failed only because of the App Store spec: between September 22 and 24, in
MongoDB 7,MongoDB 8,PostgreSQL 16,PostgreSQL 17andRedis Cachejobs, once in a push toalpha. In each of them, the App Store spec timed out and one other spec failed withsocket hang up. The other two specs never timed out. Logs of earlier runs have expired. - The
LineAdapter E2E Test>should handle error when no code is providedfailure in Flaky and misconfigured CI checks block dependency PRs #10681 was one of these 5 jobs. The spec doesn't send a request to LINE; it was the first spec that restarted Parse Server after the App Store spec timed out. - A trace of all connections and DNS lookups in a full local test run with MongoDB and with PostgreSQL found no other spec that sends a request to a server other than
localhost. Two specs try to connect to host names that don't exist, and only need the lookup to fail:httpRequest>should fail gracefully(not), and the Parse Server thatServer Url Checks>does not have unhandled promise rejection in the case of load errorstarts fromspec/support/FailingServer.js(doesnotexist). The specs that only run in theRedis Cachejob, and the Parse Server processes thatspec/CLI.spec.jsstarts, weren't traced; they only connect tolocalhost.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
state:releasedReleased as stable versionReleased as stable versionstate:released-alphaReleased as alpha versionReleased as alpha version
Activity
parse-github-assistant commentedon Sep 29, 2026
🚀 Thanks for opening this issue!
parseplatformorg commentedon Sep 30, 2026
🎉 This change has been released in version 9.10.2-alpha.6
parseplatformorg commentedon Oct 2, 2026
🎉 This change has been released in version 9.10.2