...

Text file src/go.mongodb.org/mongo-driver/testdata/convenient-transactions/callback-aborts.json

Documentation: go.mongodb.org/mongo-driver/testdata/convenient-transactions

     1{
     2  "runOn": [
     3    {
     4      "minServerVersion": "4.0",
     5      "topology": [
     6        "replicaset"
     7      ]
     8    },
     9    {
    10      "minServerVersion": "4.1.8",
    11      "topology": [
    12        "sharded"
    13      ]
    14    }
    15  ],
    16  "database_name": "withTransaction-tests",
    17  "collection_name": "test",
    18  "data": [],
    19  "tests": [
    20    {
    21      "description": "withTransaction succeeds if callback aborts",
    22      "useMultipleMongoses": true,
    23      "operations": [
    24        {
    25          "name": "withTransaction",
    26          "object": "session0",
    27          "arguments": {
    28            "callback": {
    29              "operations": [
    30                {
    31                  "name": "insertOne",
    32                  "object": "collection",
    33                  "arguments": {
    34                    "session": "session0",
    35                    "document": {
    36                      "_id": 1
    37                    }
    38                  },
    39                  "result": {
    40                    "insertedId": 1
    41                  }
    42                },
    43                {
    44                  "name": "abortTransaction",
    45                  "object": "session0"
    46                }
    47              ]
    48            }
    49          }
    50        }
    51      ],
    52      "expectations": [
    53        {
    54          "command_started_event": {
    55            "command": {
    56              "insert": "test",
    57              "documents": [
    58                {
    59                  "_id": 1
    60                }
    61              ],
    62              "ordered": true,
    63              "lsid": "session0",
    64              "txnNumber": {
    65                "$numberLong": "1"
    66              },
    67              "startTransaction": true,
    68              "autocommit": false,
    69              "readConcern": null,
    70              "writeConcern": null
    71            },
    72            "command_name": "insert",
    73            "database_name": "withTransaction-tests"
    74          }
    75        },
    76        {
    77          "command_started_event": {
    78            "command": {
    79              "abortTransaction": 1,
    80              "lsid": "session0",
    81              "txnNumber": {
    82                "$numberLong": "1"
    83              },
    84              "autocommit": false,
    85              "readConcern": null,
    86              "startTransaction": null,
    87              "writeConcern": null
    88            },
    89            "command_name": "abortTransaction",
    90            "database_name": "admin"
    91          }
    92        }
    93      ],
    94      "outcome": {
    95        "collection": {
    96          "data": []
    97        }
    98      }
    99    },
   100    {
   101      "description": "withTransaction succeeds if callback aborts with no ops",
   102      "useMultipleMongoses": true,
   103      "operations": [
   104        {
   105          "name": "withTransaction",
   106          "object": "session0",
   107          "arguments": {
   108            "callback": {
   109              "operations": [
   110                {
   111                  "name": "abortTransaction",
   112                  "object": "session0"
   113                }
   114              ]
   115            }
   116          }
   117        }
   118      ],
   119      "expectations": [],
   120      "outcome": {
   121        "collection": {
   122          "data": []
   123        }
   124      }
   125    },
   126    {
   127      "description": "withTransaction still succeeds if callback aborts and runs extra op",
   128      "useMultipleMongoses": true,
   129      "operations": [
   130        {
   131          "name": "withTransaction",
   132          "object": "session0",
   133          "arguments": {
   134            "callback": {
   135              "operations": [
   136                {
   137                  "name": "insertOne",
   138                  "object": "collection",
   139                  "arguments": {
   140                    "session": "session0",
   141                    "document": {
   142                      "_id": 1
   143                    }
   144                  },
   145                  "result": {
   146                    "insertedId": 1
   147                  }
   148                },
   149                {
   150                  "name": "abortTransaction",
   151                  "object": "session0"
   152                },
   153                {
   154                  "name": "insertOne",
   155                  "object": "collection",
   156                  "arguments": {
   157                    "session": "session0",
   158                    "document": {
   159                      "_id": 2
   160                    }
   161                  },
   162                  "result": {
   163                    "insertedId": 2
   164                  }
   165                }
   166              ]
   167            }
   168          }
   169        }
   170      ],
   171      "expectations": [
   172        {
   173          "command_started_event": {
   174            "command": {
   175              "insert": "test",
   176              "documents": [
   177                {
   178                  "_id": 1
   179                }
   180              ],
   181              "ordered": true,
   182              "lsid": "session0",
   183              "txnNumber": {
   184                "$numberLong": "1"
   185              },
   186              "startTransaction": true,
   187              "autocommit": false,
   188              "readConcern": null,
   189              "writeConcern": null
   190            },
   191            "command_name": "insert",
   192            "database_name": "withTransaction-tests"
   193          }
   194        },
   195        {
   196          "command_started_event": {
   197            "command": {
   198              "abortTransaction": 1,
   199              "lsid": "session0",
   200              "txnNumber": {
   201                "$numberLong": "1"
   202              },
   203              "autocommit": false,
   204              "readConcern": null,
   205              "startTransaction": null,
   206              "writeConcern": null
   207            },
   208            "command_name": "abortTransaction",
   209            "database_name": "admin"
   210          }
   211        },
   212        {
   213          "command_started_event": {
   214            "command": {
   215              "insert": "test",
   216              "documents": [
   217                {
   218                  "_id": 2
   219                }
   220              ],
   221              "ordered": true,
   222              "lsid": "session0",
   223              "autocommit": null,
   224              "readConcern": null,
   225              "startTransaction": null,
   226              "writeConcern": null
   227            },
   228            "command_name": "insert",
   229            "database_name": "withTransaction-tests"
   230          }
   231        }
   232      ],
   233      "outcome": {
   234        "collection": {
   235          "data": [
   236            {
   237              "_id": 2
   238            }
   239          ]
   240        }
   241      }
   242    }
   243  ]
   244}

View as plain text