...

Text file src/go.mongodb.org/mongo-driver/testdata/server-selection/logging/operation-id.yml

Documentation: go.mongodb.org/mongo-driver/testdata/server-selection/logging

     1
     2description: "operation-id"
     3
     4schemaVersion: "1.14"
     5
     6runOnRequirements:
     7  - topologies:
     8      - single
     9
    10createEntities:
    11  - client:
    12      id: &client client
    13      uriOptions:
    14        retryWrites: false # so we don't retry after hitting a failpoint
    15        heartbeatFrequencyMS: 500
    16        appName: &appName loggingClient
    17        serverSelectionTimeoutMS: 2000 # avoid hanging for 30s in test expecting SS failure due to timeout
    18      observeLogMessages:
    19        serverSelection: debug
    20      observeEvents:
    21        - serverDescriptionChangedEvent
    22        - topologyDescriptionChangedEvent
    23  - database:
    24      id: &database database
    25      client: *client
    26      databaseName: &databaseName logging-tests
    27  - collection:
    28      id: &collection collection
    29      database: *database
    30      collectionName: &collectionName server-selection
    31  - client:
    32      id: &failPointClient failPointClient
    33
    34tests:
    35  - description: "Successful bulkWrite operation: log messages have operationIds"
    36    operations:
    37      # ensure we've discovered the server so it is immediately available
    38      # and no extra "waiting for suitable server" messages are emitted.
    39      # expected topology events reflect initial server discovery and server connect event.
    40      - name: waitForEvent
    41        object: testRunner
    42        arguments:
    43          client: *client
    44          event:
    45            topologyDescriptionChangedEvent: {}
    46          count: 2
    47      - name: bulkWrite
    48        object: *collection
    49        arguments:
    50          requests:
    51            - insertOne:
    52                document: { x: 1 }
    53    expectLogMessages:
    54      - client: *client
    55        messages:
    56          - level: debug
    57            component: serverSelection
    58            data:
    59              message: "Server selection started"
    60              operationId: { $$type: [int, long] }
    61              operation: insert
    62          - level: debug
    63            component: serverSelection
    64            data:
    65              message: "Server selection succeeded"
    66              operationId: { $$type: [int, long] }
    67              operation: insert
    68
    69  - description: "Failed bulkWrite operation: log messages have operationIds"
    70    runOnRequirements:
    71      - minServerVersion: "4.4" # failCommand appname support
    72    operations:
    73      # fail all hello/legacy hello commands for the main client.
    74      - name: failPoint
    75        object: testRunner
    76        arguments:
    77          client: *failPointClient
    78          failPoint:
    79            configureFailPoint: failCommand
    80            mode: alwaysOn
    81            data:
    82              failCommands: ["hello", "ismaster"]
    83              appName: *appName
    84              closeConnection: true
    85      # wait until we've marked the server unknown due
    86      # to a failed heartbeat.
    87      - name: waitForEvent
    88        object: testRunner
    89        arguments:
    90          client: *client
    91          event:
    92            serverDescriptionChangedEvent:
    93              newDescription:
    94                type: Unknown
    95          count: 1
    96      - name: bulkWrite
    97        object: *collection
    98        arguments:
    99          requests:
   100            - insertOne:
   101                document: { x: 1 }
   102        expectError:
   103          isClientError: true # server selection timeout
   104    expectLogMessages:
   105      - client: *client
   106        messages:
   107          - level: debug
   108            component: serverSelection
   109            data:
   110              message: "Server selection started"
   111              operationId: { $$type: [int, long] }
   112              operation: insert
   113          - level: info
   114            component: serverSelection
   115            data:
   116              message: "Waiting for suitable server to become available"
   117              operationId: { $$type: [int, long] }
   118              operation: insert
   119          - level: debug
   120            component: serverSelection
   121            data:
   122              message: "Server selection failed"
   123              operationId: { $$type: [int, long] }
   124              operation: insert

View as plain text