File: find-network-timeout-error.yml

package info (click to toggle)
ruby-mongo 2.23.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 15,020 kB
  • sloc: ruby: 110,810; makefile: 5
file content (119 lines) | stat: -rw-r--r-- 3,385 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
---
description: find-network-timeout-error

schemaVersion: "1.10"

runOnRequirements:
    # failCommand appName requirements
  - minServerVersion: "4.4"
    serverless: forbid
    topologies: [ single, replicaset, sharded ]

createEntities:
  - client:
      id: &setupClient setupClient
      useMultipleMongoses: false

initialData: &initialData
  - collectionName: &collectionName find-network-timeout-error
    databaseName: &databaseName sdam-tests
    documents:
      - _id: 1
      - _id: 2

tests:
  - description: Ignore network timeout error on find
    operations:
      - name: failPoint
        object: testRunner
        arguments:
          client: *setupClient
          failPoint:
            configureFailPoint: failCommand
            mode:
              times: 1
            data:
              failCommands:
                - find
              blockConnection: true
              blockTimeMS: 500
              appName: findNetworkTimeoutErrorTest
      - name: createEntities
        object: testRunner
        arguments:
          entities:
            - client:
                id: &client client
                useMultipleMongoses: false
                observeEvents:
                  - commandStartedEvent
                  - serverDescriptionChangedEvent
                  - poolClearedEvent
                uriOptions:
                  retryWrites: false
                  retryReads: false
                  appname: findNetworkTimeoutErrorTest
                  # Set a short socket timeout to ensure the find command times out.
                  socketTimeoutMS: 250
            - database:
                id: &database database
                client: *client
                databaseName: *databaseName
            - collection:
                id: &collection collection
                database: *database
                collectionName: *collectionName
      - name: find
        object: *collection
        arguments:
          filter:
            _id: 1
        expectError:
          isError: true
      # Perform another operation to ensure the node is still usable.
      - name: insertOne
        object: *collection
        arguments:
          document:
            _id: 3
      # Assert the server was not marked Unknown and the pool was not cleared.
      - name: assertEventCount
        object: testRunner
        arguments:
          client: *client
          event:
            serverDescriptionChangedEvent:
              newDescription:
                type: Unknown
          count: 0
      - name: assertEventCount
        object: testRunner
        arguments:
          client: *client
          event:
            poolClearedEvent: {}
          count: 0
    expectEvents:
      - client: *client
        eventType: command
        events:
          - commandStartedEvent:
              command:
                find: find-network-timeout-error
              commandName: find
              databaseName: *databaseName
          - commandStartedEvent:
              command:
                insert: find-network-timeout-error
                documents:
                  - _id: 3
              commandName: insert
              databaseName: *databaseName

    outcome:
      - collectionName: *collectionName
        databaseName: *databaseName
        documents:
          - _id: 1
          - _id: 2
          - _id: 3