Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-2234

Assert that a Ping operation succeeds in the initial DNS spec tests

    • Needed
    • Hide

      Drivers teams need to:

      1. Sync the initial DNS seedlist discovery spec tests at commit b2e35cb.
      2. Implement the updated test runner.
        1. Add support for reading the new "ping" boolean field in the initial DNS seedlist discovery spec tests.
        2. Run a "ping" operation as the last step of the initial DNS seedlist discovery spec tests unless "ping" false or "error" is true. Assert that the "ping" succeeded.

      Note that once drivers sync the initial DNS seedlist discovery spec tests at commit b2e35cb, that also completes DRIVERS-2224.

      Show
      Drivers teams need to: Sync the initial DNS seedlist discovery spec tests at commit b2e35cb. Implement the updated test runner. Add support for reading the new "ping" boolean field in the initial DNS seedlist discovery spec tests. Run a "ping" operation as the last step of the initial DNS seedlist discovery spec tests unless "ping" false or "error" is true . Assert that the "ping" succeeded. Note that once drivers sync the initial DNS seedlist discovery spec tests at commit b2e35cb , that also completes DRIVERS-2224 .
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-4312 Backlog
      CXX-2466 Backlog
      CSHARP-4099 Backlog
      GODRIVER-2333 Fixed 1.11.1
      JAVA-4532 Fixed 4.8.0
      NODE-4083 Backlog
      MOTOR-910 Duplicate
      PYTHON-3170 Fixed 4.7
      PHPLIB-812 Won't Do
      RUBY-2925 Backlog
      RUST-1219 Fixed 2.4.0
      SWIFT-1518 Won't Do
      $i18n.getText("admin.common.words.show")
      #scriptField, #scriptField *{ border: 1px solid black; } #scriptField{ border-collapse: collapse; } #scriptField td { text-align: center; /* Center-align text in table cells */ } #scriptField td.key { text-align: left; /* Left-align text in the Key column */ } #scriptField a { text-decoration: none; /* Remove underlines from links */ border: none; /* Remove border from links */ } /* Add green background color to cells with FixVersion */ #scriptField td.hasFixVersion { background-color: #00FF00; /* Green color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-4312 Backlog CXX-2466 Backlog CSHARP-4099 Backlog GODRIVER-2333 Fixed 1.11.1 JAVA-4532 Fixed 4.8.0 NODE-4083 Backlog MOTOR-910 Duplicate PYTHON-3170 Fixed 4.7 PHPLIB-812 Won't Do RUBY-2925 Backlog RUST-1219 Fixed 2.4.0 SWIFT-1518 Won't Do

      Summary

      Currently, the initial DNS seedlist discovery spec test runner description requires creating a MongoClient initialized with the URI specified in the test and asserting that either the host lists match the expected values or that an error was thrown/returned. However, it does not specify to run an operation or create a connection, which can lead to incorrectly configured tests passing. Some drivers (e.g. the Go driver) do create connections, which exposes test misconfigurations.

      Update the initial DNS seedlist discovery spec test runner description to require running a Ping operation with the created MongoClient in the no-error test cases.

      Motivation

      Who is the affected end user?

      Driver devs.

      How does this affect the end user?

      Driver devs can be blocked and/or confused about the test failures.

      How likely is it that this problem or use case will occur?

      The problem typically only occurs when the spec test or test environment changes.

      If the problem does occur, what are the consequences and how severe are they?

      Some drivers initial DNS seedlist discovery spec tests may pass while others fail using the same spec tests and configuration. Updates that introduce inconsistencies in the initial DNS seedlist discovery spec tests may go unrecognized in some drivers projects, but may impact . The result is that some drivers teams

      Is this issue urgent?

      No.

      Is this ticket required by a downstream team?

      No.

      Is this ticket only for tests?

      Yes.

            Assignee:
            matt.dale@mongodb.com Matt Dale
            Reporter:
            matt.dale@mongodb.com Matt Dale
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: