Skip to content

Add property based convergence test on Json.Object #1313

Description

@Yeongeunn

Description:

Related to #1288.

Add property-based convergence tests for Json.Object.

The test will:

  • reuse the PBT helper introduced in Add property based convergence test on Json.Counter #1300;
  • set up multiple clients and documents with manual sync;
  • generate Object assignment and deletion operations with intermediate syncs;
  • run the final sync drain after the generated operations finish;
  • assert that all replicas have identical toSortedJSON() output;
  • report reproducible failures using the fast-check seed and path.

For the initial scope, the test will use root-level keys and primitive JSON
values (number, string, boolean, and null). Nested Object and Array
values are out of scope for this first target.

Why:

Existing Object integration tests cover hand-written concurrent scenarios,
but cannot explore many combinations of client selection, keys, values,
operations, and sync ordering.

Property-based tests can generate these combinations and verify that all
replicas converge after concurrent Object assignment and deletion operations.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions