[DRIVERS-567] Resync read write concern tests to add new read concern levels Created: 06/Sep/18  Updated: 02/Mar/21

Status: Implementing
Project: Drivers
Component/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Jonathan Ma Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on CXX-1649 Resync read write concern tests to ad... Backlog
depends on RUBY-1696 Add read/write concern spec runner & ... Closed
depends on PYTHON-1643 Resync read write concern tests to ad... Closed
depends on CSHARP-2382 Resync read write concern tests to ad... Closed
depends on GODRIVER-547 Resync read write concern tests to ad... Closed
depends on JAVA-2969 Resync read write concern tests to ad... Closed
depends on MOTOR-270 Resync read write concern tests to ad... Closed
depends on NODE-1666 Resync read write concern tests to ad... Closed
depends on PHPC-1268 Resync read write concern tests to ad... Closed
depends on RUBY-1452 Resync read write concern tests to ad... Closed
depends on CDRIVER-2821 Resync read write concern tests to ad... Closed
Gantt Dependency
has to be done after DRIVERS-451 Resync tests to update handling of in... Implementing
Driver Compliance:
Key Status/Resolution FixVersion
NODE-1666 Done
SCALA-444 Done
PYTHON-1643 Fixed 4.1
CSHARP-2382 Fixed 2.10.0
PERL-996 Fixed 2.1.0
RUBY-1452 Duplicate
JAVA-2969 Fixed
CXX-1649 Backlog
PHPC-1268 Won't Fix
MOTOR-270 Won't Fix
GODRIVER-547 Done 0.0.14
CDRIVER-2821 Fixed 1.14.0
RUBY-1696 Fixed 2.11.0

 Description   

The read-write-concern spec tests were updated to include tests for the following read concerns:

  • linearizable
  • snapshot
  • available

Tests should be synced to d0406ba.

Please note that previous test changes in DRIVERS-451 will also be included as part of this ticket. 



 Comments   
Comment by Ross Lawley [ 23/Oct/18 ]

Hi david.golden, you're correct the Java tests are unit tests that ensure the driver produces the expected read concern document for each value in the json tests. The Java driver also has operation tests that ensure that the command document sent to the server for a given operation is in the expected format. With that combination of tests we can be confident that the readConcern value that is sent to the server is in the correct / expected format.

The Java driver already has tests that ensure arbitrary string values for the readConcern level aren't supported. It looks like read-concern.json just seems to test the happy path - so adding some "valid": false examples would be good.

Adding interaction tests with the server would certainly help ensure there are no accidental regressions / unexpected changes in server behavior in the future. However, that work isn't scheduled at this time.

Generated at Thu Feb 08 08:21:50 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.