Update Client Metadata Update Prose Tests 7 and 8

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Unknown
    • None
    • Component/s: Handshake
    • None
    • Needed - No Spec Changes
    • Hide

      Summary of necessary driver changes

      • Drivers should implement this ticket alongside DRIVERS-3262.
      • Drivers which already implemented DRIVERS-3262 should double-check their prose test implementations are consistent with the updated wording:
        • Metadata appends during vs. after MongoClient initialization.
        • Avoid requiring "DriverInfoOptions.name = null".

      Commits for syncing spec/prose tests
      (and/or refer to an existing language POC if needed)

      Context for other referenced/linked tickets

      • Client Metadata Update Prose Tests have been updated to clarify when metadata appends are expected to occur during vs. after MongoClient initialization.
      • Test Case 1 for Prose Test 7 and 8 is "removed" (strikethrough) in order to avoid requiring "DriverInfoOptions.name = null" despite the DriverInfoOptions specification stating "name" is not an optional field. An exemption is left for drivers whose API may nevertheless permit a null value as an extension.
      Show
      Summary of necessary driver changes Drivers should implement this ticket alongside DRIVERS-3262 . Drivers which already implemented DRIVERS-3262 should double-check their prose test implementations are consistent with the updated wording: Metadata appends during vs. after MongoClient initialization. Avoid requiring "DriverInfoOptions.name = null" . Commits for syncing spec/prose tests (and/or refer to an existing language POC if needed) https://github.com/mongodb/specifications/commit/290ee48973ed0dc8a7c54668e35b19cb012e94ed Context for other referenced/linked tickets Client Metadata Update Prose Tests have been updated to clarify when metadata appends are expected to occur during vs.  after MongoClient initialization. Test Case 1 for Prose Test 7 and 8 is "removed" (strikethrough) in order to avoid requiring "DriverInfoOptions.name = null"  despite the DriverInfoOptions specification stating "name" is not an optional field. An exemption is left for drivers whose API may nevertheless permit a null value as an extension.
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-6277 In Progress
      CXX-3442 Needs Triage
      CSHARP-5953 Needs Triage
      GODRIVER-3848 Needs Triage
      JAVA-6153 Needs Triage
      NODE-7501 Needs Triage
      PYTHON-5769 Needs Triage
      PHPLIB-1819 Needs Triage
      RUBY-3796 Needs Triage
      RUST-2391 Needs Triage
      $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 */ } #scriptField td.willNotDo { background-color: #FF0000; /* Red color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-6277 In Progress CXX-3442 Needs Triage CSHARP-5953 Needs Triage GODRIVER-3848 Needs Triage JAVA-6153 Needs Triage NODE-7501 Needs Triage PYTHON-5769 Needs Triage PHPLIB-1819 Needs Triage RUBY-3796 Needs Triage RUST-2391 Needs Triage

      Summary

      Prose Tests 7 and 8 in the Client Metadata Update Prose Tests are not meaningfully different from one another due to using the same set of initial metadata may need clarification to distinguish when a prose test expects metadata to be appended during MongoClient initialization vs. after MongoClient initialization (different driver APIs). Additionally, Case 1 for each Prose Test requires DriverInfoOptions.name == null, which is not allowed by the DriverInfoOptions specification (name is not an optional field).

      Motivation

      Who is the affected end user?

      Drivers implementing DRIVERS-3262.

      How does this affect the end user?

      Existing implementations of Prose Tests 7 and 8 should be updated.

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

      Drivers that have already implemented DRIVERS-3262 should update the prose tests. Drivers that have not yet implemented DRIVERS-3262 should implement the updated prose test specification.

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

      Likely minor: the logic for "empty == unset" that is already being tested by the current Prose Tests are likely applicable to the updated Prose Tests. Implementations of metadata appends during vs. after client initialization are likely not significantly different from one another (code reuse).

      Is this issue urgent?

      No.

      Is this ticket required by a downstream team?

      No.

      Is this ticket only for tests?

      Yes.

      Acceptance Criteria

      All Drivers which implement DRIVERS-3262 also implement the updated Prose Tests 7 and 8.

            Assignee:
            Ezra Chung
            Reporter:
            Ezra Chung
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: