#10712·parse-server

MongoDB transaction specs are skipped in CI

Author: mtrezzaCreated Sep 28, 2026Updated Sep 28, 2026

Issue

The transaction specs don't run in the MongoDB CI jobs, because they are only defined if MONGODB_TOPOLOGY is replicaset, while CI sets it to replset.

  • spec/ParseServerRESTController.spec.js, spec/batch.spec.js and spec/MongoStorageAdapter.spec.js only define their transactions specs if process.env.MONGODB_TOPOLOGY === 'replicaset' (the first two also with Postgres).
  • #8761 (Parse Server 7.0.0) changed MONGODB_TOPOLOGY in .github/workflows/ci.yml from replicaset to replset for mongodb-runner 5, which expects -t replset, but didn't change the specs. Since then, transactions are only tested with Postgres. The logs of the MongoDB 7, ReplicaSet jobs don't contain these specs; the logs of the PostgreSQL jobs do.
  • Running the specs locally with MONGODB_TOPOLOGY=replicaset against a replica set started by mongodb-runner:
    • The 6 specs in ParseServerRESTController.spec.js and spec/batch.spec.js pass.
    • The specs in MongoStorageAdapter.spec.js fail with MongoServerSelectionError: Server selection timed out after 30000 ms. They connect with ?replicaSet=replicaset, but mongodb-runner names the replica set replSet-<uuid>, unless --replSet is passed to mongod.

Source: parse-community/parse-server