Uploaded image for project: 'Ruby Driver'
  1. Ruby Driver
  2. RUBY-2287

Max staleness spec tests do not correctly assert all requirements

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 2.13.0.rc1
    • Affects Version/s: None
    • Component/s: Tests
    • Labels:
    • The driver now consistently validates minimum server versions in all topology types when max staleness is specified in server selectors.
    • Minor Change

      In NoKnownServers.yml if I change

      suitable_servers: []


      suitable_servers: [hello]


      suitable_servers: 123

      The tests all appear to pass anyway, which shouldn't be happening.

      The runner should be verified to:

      Fail tests when expected suitable servers are non-empty and actual suitable servers are empty
      Fail tests when expected suitable servers are empty and actual suitable servers are non-empty

      It appears that the spec runner performs some fixups to make the tests pass and thus does not necessarily test the actual driver behavior in all situations. As part of work on this ticket, the runner and driver code will be adjusted to make the runner test the driver as much as feasible (due to server selection implementation, there aren't public APIs for all of the data that the spec tests want to assert on).

            oleg.pudeyev@mongodb.com Oleg Pudeyev (Inactive)
            oleg.pudeyev@mongodb.com Oleg Pudeyev (Inactive)
            0 Vote for this issue
            2 Start watching this issue