...

Text file src/go.mongodb.org/mongo-driver/testdata/connection-monitoring-and-pooling/logging/connection-logging.yml

Documentation: go.mongodb.org/mongo-driver/testdata/connection-monitoring-and-pooling/logging

     1description: "connection-logging"
     2
     3schemaVersion: "1.13"
     4
     5runOnRequirements:
     6  - topologies:
     7    - single # The number of log messages is different for each topology since there is a connection pool per host.
     8
     9createEntities:
    10  - client:
    11      id: &failPointClient failPointClient
    12
    13tests:
    14  - description: "Create a client, run a command, and close the client"
    15    operations:
    16      - name: createEntities
    17        object: testRunner
    18        arguments:
    19          entities:
    20            - client:
    21                id: &client client
    22                observeLogMessages:
    23                  connection: debug
    24      - name: listDatabases
    25        object: *client
    26        arguments:
    27          filter: {}
    28      - name: close
    29        object: *client
    30    expectLogMessages:
    31      - client: *client
    32        messages:
    33          - level: debug
    34            component: connection
    35            data:
    36              message: "Connection pool created"
    37              serverHost: { $$type: string }
    38              serverPort: { $$type: [int, long] }
    39
    40          - level: debug
    41            component: connection
    42            data:
    43              message: "Connection pool ready"
    44              serverHost: { $$type: string }
    45              serverPort: { $$type: [int, long] }
    46
    47          - level: debug
    48            component: connection
    49            data:
    50              message: "Connection checkout started"
    51              serverHost: { $$type: string }
    52              serverPort: { $$type: [int, long] }
    53
    54          - level: debug
    55            component: connection
    56            data:
    57              message: "Connection created"
    58              driverConnectionId: { $$type: [int, long] }
    59              serverHost: { $$type: string }
    60              serverPort: { $$type: [int, long] }
    61
    62          - level: debug
    63            component: connection
    64            data:
    65              message: "Connection ready"
    66              driverConnectionId: { $$type: [int, long] }
    67              serverHost: { $$type: string }
    68              serverPort: { $$type: [int, long] }
    69              durationMS: { $$type: [double, int, long] }
    70
    71          - level: debug
    72            component: connection
    73            data:
    74              message: "Connection checked out"
    75              driverConnectionId: { $$type: [int, long] }
    76              serverHost: { $$type: string }
    77              serverPort: { $$type: [int, long] }
    78              durationMS: { $$type: [double, int, long] }
    79
    80          - level: debug
    81            component: connection
    82            data:
    83              message: "Connection checked in"
    84              driverConnectionId: { $$type: [int, long] }
    85              serverHost: { $$type: string }
    86              serverPort: { $$type: [int, long] }
    87
    88          #  The next three expected logs are for ending a session.
    89          - level: debug
    90            component: connection
    91            data:
    92              message: "Connection checkout started"
    93              serverHost: { $$type: string }
    94              serverPort: { $$type: [int, long] }
    95
    96          - level: debug
    97            component: connection
    98            data:
    99              message: "Connection checked out"
   100              driverConnectionId: { $$type: [int, long] }
   101              serverHost: { $$type: string }
   102              serverPort: { $$type: [int, long] }
   103              durationMS: { $$type: [double, int, long] }
   104
   105          - level: debug
   106            component: connection
   107            data:
   108              message: "Connection checked in"
   109              driverConnectionId: { $$type: [int, long] }
   110              serverHost: { $$type: string }
   111              serverPort: { $$type: [int, long] }
   112
   113          - level: debug
   114            component: connection
   115            data:
   116              message: "Connection closed"
   117              driverConnectionId: { $$type: [int, long] }
   118              serverHost: { $$type: string }
   119              serverPort: { $$type: [int, long] }
   120              reason: "Connection pool was closed"
   121
   122          - level: debug
   123            component: connection
   124            data:
   125              message: "Connection pool closed"
   126              serverHost: { $$type: string }
   127              serverPort: { $$type: [int, long] }
   128
   129  # This test exists to provide coverage of checkout failed and pool cleared events.
   130  - description: "Connection checkout fails due to error establishing connection"
   131    runOnRequirements:
   132      - auth: true
   133        minServerVersion: "4.0" # failCommand was added to mongod in 4.0
   134    operations:
   135      - name: createEntities
   136        object: testRunner
   137        arguments:
   138          entities:
   139            - client:
   140                id: &client client
   141                uriOptions:
   142                  retryReads: false
   143                  appname: &clientAppName clientAppName
   144                  # use a high heartbeatFrequencyMS to avoid a successful monitor check marking the pool as
   145                  # ready (and emitting another event) during the course of test execution.
   146                  heartbeatFrequencyMS: 10000
   147                observeLogMessages:
   148                  connection: debug
   149      - name: failPoint
   150        object: testRunner
   151        arguments:
   152          client: *failPointClient
   153          failPoint:
   154            configureFailPoint: failCommand
   155            mode: { times: 1 }
   156            data:
   157              failCommands: ["saslContinue"]
   158              closeConnection: true
   159              appName: *clientAppName
   160      - name: listDatabases
   161        object: *client
   162        arguments:
   163          filter: {}
   164        expectError:
   165          isClientError: true
   166
   167    expectLogMessages:
   168      - client: *client
   169        messages:
   170          - level: debug
   171            component: connection
   172            data:
   173              message: "Connection pool created"
   174              serverHost: { $$type: string }
   175              serverPort: { $$type: [int, long] }
   176
   177          - level: debug
   178            component: connection
   179            data:
   180              message: "Connection pool ready"
   181              serverHost: { $$type: string }
   182              serverPort: { $$type: [int, long] }
   183
   184          - level: debug
   185            component: connection
   186            data:
   187              message: "Connection checkout started"
   188              serverHost: { $$type: string }
   189              serverPort: { $$type: [int, long] }
   190
   191          - level: debug
   192            component: connection
   193            data:
   194              message: "Connection created"
   195              driverConnectionId: { $$type: [int, long] }
   196              serverHost: { $$type: string }
   197              serverPort: { $$type: [int, long] }
   198
   199          - level: debug
   200            component: connection
   201            data:
   202              message: "Connection pool cleared"
   203              serverHost: { $$type: string }
   204              serverPort: { $$type: [int, long] }
   205
   206          - level: debug
   207            component: connection
   208            data:
   209              message: "Connection closed"
   210              driverConnectionId: { $$type: [int, long] }
   211              serverHost: { $$type: string }
   212              serverPort: { $$type: [int, long] }
   213              reason: "An error occurred while using the connection"
   214              error: { $$exists: true }
   215              unordered: true
   216
   217          - level: debug
   218            component: connection
   219            data:
   220              message: "Connection checkout failed"
   221              serverHost: { $$type: string }
   222              serverPort: { $$type: [int, long] }
   223              reason: "An error occurred while trying to establish a new connection"
   224              error: { $$exists: true }
   225              durationMS: { $$type: [double, int, long] }
   226              unordered: true

View as plain text