{ "description": "redacted-commands", "schemaVersion": "1.13", "runOnRequirements": [ { "minServerVersion": "5.0", "auth": false } ], "createEntities": [ { "client": { "id": "client", "useMultipleMongoses": false, "observeLogMessages": { "command": "debug" } } }, { "client": { "id": "failPointClient", "useMultipleMongoses": false } }, { "database": { "id": "database", "client": "client", "databaseName": "logging-redaction-tests" } } ], "tests": [ { "description": "authenticate command and resulting server-generated error are redacted", "operations": [ { "name": "runCommand", "object": "database", "arguments": { "commandName": "authenticate", "command": { "authenticate": 1, "mechanism": "MONGODB-X509", "user": "CN=myName,OU=myOrgUnit,O=myOrg,L=myLocality,ST=myState,C=myCountry", "db": "$external" } }, "expectError": { "isClientError": false } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "authenticate", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "failureIsRedacted": true, "data": { "message": "Command failed", "commandName": "authenticate", "failure": { "$$exists": true } } } ] } ] }, { "description": "network error in response to authenticate is not redacted", "operations": [ { "name": "failPoint", "object": "testRunner", "arguments": { "client": "failPointClient", "failPoint": { "configureFailPoint": "failCommand", "mode": { "times": 1 }, "data": { "failCommands": [ "authenticate" ], "closeConnection": true } } } }, { "name": "runCommand", "object": "database", "arguments": { "commandName": "authenticate", "command": { "authenticate": 1, "mechanism": "MONGODB-X509", "user": "CN=myName,OU=myOrgUnit,O=myOrg,L=myLocality,ST=myState,C=myCountry" } }, "expectError": { "isClientError": true } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "authenticate", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "failureIsRedacted": false, "data": { "message": "Command failed", "commandName": "authenticate", "failure": { "$$exists": true } } } ] } ] }, { "description": "saslStart command and resulting server-generated error are redacted", "operations": [ { "name": "runCommand", "object": "database", "arguments": { "commandName": "saslStart", "command": { "saslStart": 1, "payload": "definitely-invalid-payload", "db": "admin" } }, "expectError": { "isClientError": false } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "saslStart", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "failureIsRedacted": true, "data": { "message": "Command failed", "commandName": "saslStart", "failure": { "$$exists": true } } } ] } ] }, { "description": "network error in response to saslStart is not redacted", "operations": [ { "name": "failPoint", "object": "testRunner", "arguments": { "client": "failPointClient", "failPoint": { "configureFailPoint": "failCommand", "mode": { "times": 1 }, "data": { "failCommands": [ "saslStart" ], "closeConnection": true } } } }, { "name": "runCommand", "object": "database", "arguments": { "commandName": "saslStart", "command": { "saslStart": 1, "payload": "ZmFrZXNhc2xwYXlsb2Fk", "mechanism": "MONGODB-X509" } }, "expectError": { "isClientError": true } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "saslStart", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "failureIsRedacted": false, "data": { "message": "Command failed", "commandName": "saslStart", "failure": { "$$exists": true } } } ] } ] }, { "description": "saslContinue command and resulting server-generated error are redacted", "operations": [ { "name": "runCommand", "object": "database", "arguments": { "commandName": "saslContinue", "command": { "saslContinue": 1, "conversationId": 0, "payload": "definitely-invalid-payload" } }, "expectError": { "isClientError": false } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "saslContinue", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "failureIsRedacted": true, "data": { "message": "Command failed", "commandName": "saslContinue", "failure": { "$$exists": true } } } ] } ] }, { "description": "network error in response to saslContinue is not redacted", "operations": [ { "name": "failPoint", "object": "testRunner", "arguments": { "client": "failPointClient", "failPoint": { "configureFailPoint": "failCommand", "mode": { "times": 1 }, "data": { "failCommands": [ "saslContinue" ], "closeConnection": true } } } }, { "name": "runCommand", "object": "database", "arguments": { "commandName": "saslContinue", "command": { "saslContinue": 1, "conversationId": 0, "payload": "ZmFrZXNhc2xwYXlsb2Fk" } }, "expectError": { "isClientError": true } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "saslContinue", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "failureIsRedacted": false, "data": { "message": "Command failed", "commandName": "saslContinue", "failure": { "$$exists": true } } } ] } ] }, { "description": "getnonce command and server reply are redacted", "runOnRequirements": [ { "maxServerVersion": "6.1.99" } ], "operations": [ { "name": "runCommand", "object": "database", "arguments": { "commandName": "getnonce", "command": { "getnonce": 1 } } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "getnonce", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "data": { "message": "Command succeeded", "commandName": "getnonce", "reply": { "$$matchAsDocument": {} } } } ] } ] }, { "description": "network error in response to getnonce is not redacted", "runOnRequirements": [ { "maxServerVersion": "6.1.99" } ], "operations": [ { "name": "failPoint", "object": "testRunner", "arguments": { "client": "failPointClient", "failPoint": { "configureFailPoint": "failCommand", "mode": { "times": 1 }, "data": { "failCommands": [ "getnonce" ], "closeConnection": true } } } }, { "name": "runCommand", "object": "database", "arguments": { "commandName": "getnonce", "command": { "getnonce": 1 } }, "expectError": { "isClientError": true } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "getnonce", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "failureIsRedacted": false, "data": { "message": "Command failed", "commandName": "getnonce", "failure": { "$$exists": true } } } ] } ] }, { "description": "createUser command and resulting server-generated error are redacted", "operations": [ { "name": "runCommand", "object": "database", "arguments": { "commandName": "createUser", "command": { "createUser": "private", "pwd": {}, "roles": [] } }, "expectError": { "isClientError": false } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "createUser", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "failureIsRedacted": true, "data": { "message": "Command failed", "commandName": "createUser", "failure": { "$$exists": true } } } ] } ] }, { "description": "network error in response to createUser is not redacted", "operations": [ { "name": "failPoint", "object": "testRunner", "arguments": { "client": "failPointClient", "failPoint": { "configureFailPoint": "failCommand", "mode": { "times": 1 }, "data": { "failCommands": [ "createUser" ], "closeConnection": true } } } }, { "name": "runCommand", "object": "database", "arguments": { "commandName": "createUser", "command": { "createUser": "private", "pwd": "pwd", "roles": [] } }, "expectError": { "isClientError": true } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "createUser", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "failureIsRedacted": false, "data": { "message": "Command failed", "commandName": "createUser", "failure": { "$$exists": true } } } ] } ] }, { "description": "updateUser command and resulting server-generated error are redacted", "operations": [ { "name": "runCommand", "object": "database", "arguments": { "commandName": "updateUser", "command": { "updateUser": "private", "pwd": {}, "roles": [] } }, "expectError": { "isClientError": false } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "updateUser", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "failureIsRedacted": true, "data": { "message": "Command failed", "commandName": "updateUser", "failure": { "$$exists": true } } } ] } ] }, { "description": "network error in response to updateUser is not redacted", "operations": [ { "name": "failPoint", "object": "testRunner", "arguments": { "client": "failPointClient", "failPoint": { "configureFailPoint": "failCommand", "mode": { "times": 1 }, "data": { "failCommands": [ "updateUser" ], "closeConnection": true } } } }, { "name": "runCommand", "object": "database", "arguments": { "commandName": "updateUser", "command": { "updateUser": "private", "pwd": "pwd", "roles": [] } }, "expectError": { "isClientError": true } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "updateUser", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "failureIsRedacted": false, "data": { "message": "Command failed", "commandName": "updateUser", "failure": { "$$exists": true } } } ] } ] }, { "description": "copydbgetnonce command and resulting server-generated error are redacted", "runOnRequirements": [ { "maxServerVersion": "3.6.99" } ], "operations": [ { "name": "runCommand", "object": "database", "arguments": { "commandName": "copydbgetnonce", "command": { "copydbgetnonce": "private" } }, "expectError": { "isClientError": false } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "copydbgetnonce", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "failureIsRedacted": true, "data": { "message": "Command failed", "commandName": "copydbgetnonce", "failure": { "$$exists": true } } } ] } ] }, { "description": "network error in response to copydbgetnonce is not redacted", "runOnRequirements": [ { "maxServerVersion": "3.6.99" } ], "operations": [ { "name": "failPoint", "object": "testRunner", "arguments": { "client": "failPointClient", "failPoint": { "configureFailPoint": "failCommand", "mode": { "times": 1 }, "data": { "failCommands": [ "copydbgetnonce" ], "closeConnection": true } } } }, { "name": "runCommand", "object": "database", "arguments": { "commandName": "copydbgetnonce", "command": { "copydbgetnonce": "private" } }, "expectError": { "isClientError": true } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "copydbgetnonce", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "failureIsRedacted": false, "data": { "message": "Command failed", "commandName": "copydbgetnonce", "failure": { "$$exists": true } } } ] } ] }, { "description": "copydbsaslstart command and resulting server-generated error are redacted", "runOnRequirements": [ { "maxServerVersion": "4.0.99" } ], "operations": [ { "name": "runCommand", "object": "database", "arguments": { "commandName": "copydbsaslstart", "command": { "copydbsaslstart": "private" } }, "expectError": { "isClientError": false } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "copydbsaslstart", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "failureIsRedacted": true, "data": { "message": "Command failed", "commandName": "copydbsaslstart", "failure": { "$$exists": true } } } ] } ] }, { "description": "network error in response to copydbsaslstart is not redacted", "runOnRequirements": [ { "maxServerVersion": "4.0.99" } ], "operations": [ { "name": "failPoint", "object": "testRunner", "arguments": { "client": "failPointClient", "failPoint": { "configureFailPoint": "failCommand", "mode": { "times": 1 }, "data": { "failCommands": [ "copydbsaslstart" ], "closeConnection": true } } } }, { "name": "runCommand", "object": "database", "arguments": { "commandName": "copydbsaslstart", "command": { "copydbsaslstart": "private" } }, "expectError": { "isClientError": true } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "copydbgetnonce", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "failureIsRedacted": false, "data": { "message": "Command failed", "commandName": "copydbgetnonce", "failure": { "$$exists": true } } } ] } ] }, { "description": "copydb command and resulting server-generated error are redacted", "runOnRequirements": [ { "maxServerVersion": "4.0.99" } ], "operations": [ { "name": "runCommand", "object": "database", "arguments": { "commandName": "copydb", "command": { "copydb": "private" } }, "expectError": { "isClientError": false } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "copydb", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "failureIsRedacted": true, "data": { "message": "Command failed", "commandName": "copydb", "failure": { "$$exists": true } } } ] } ] }, { "description": "network error in response to copydb is not redacted", "runOnRequirements": [ { "maxServerVersion": "4.0.99" } ], "operations": [ { "name": "failPoint", "object": "testRunner", "arguments": { "client": "failPointClient", "failPoint": { "configureFailPoint": "failCommand", "mode": { "times": 1 }, "data": { "failCommands": [ "copydb" ], "closeConnection": true } } } }, { "name": "runCommand", "object": "database", "arguments": { "commandName": "copydb", "command": { "copydb": "private" } }, "expectError": { "isClientError": true } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "copydb", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "failureIsRedacted": false, "data": { "message": "Command failed", "commandName": "copydb", "failure": { "$$exists": true } } } ] } ] }, { "description": "hello with speculative authenticate command and server reply are redacted", "runOnRequirements": [ { "minServerVersion": "4.9" } ], "operations": [ { "name": "runCommand", "object": "database", "arguments": { "commandName": "hello", "command": { "hello": 1, "speculativeAuthenticate": { "saslStart": 1 } } } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "hello", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "data": { "message": "Command succeeded", "commandName": "hello", "reply": { "$$matchAsDocument": {} } } } ] } ] }, { "description": "legacy hello with speculative authenticate command and server reply are redacted", "operations": [ { "name": "runCommand", "object": "database", "arguments": { "commandName": "ismaster", "command": { "ismaster": 1, "speculativeAuthenticate": { "saslStart": 1 } } } }, { "name": "runCommand", "object": "database", "arguments": { "commandName": "isMaster", "command": { "isMaster": 1, "speculativeAuthenticate": { "saslStart": 1 } } } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "ismaster", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "data": { "message": "Command succeeded", "commandName": "ismaster", "reply": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "isMaster", "command": { "$$matchAsDocument": {} } } }, { "level": "debug", "component": "command", "data": { "message": "Command succeeded", "commandName": "isMaster", "reply": { "$$matchAsDocument": {} } } } ] } ] }, { "description": "hello without speculative authenticate command and server reply are not redacted", "runOnRequirements": [ { "minServerVersion": "4.9" } ], "operations": [ { "name": "runCommand", "object": "database", "arguments": { "commandName": "hello", "command": { "hello": 1 } } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "hello", "command": { "$$matchAsDocument": { "$$matchAsRoot": { "hello": 1 } } } } }, { "level": "debug", "component": "command", "data": { "message": "Command succeeded", "commandName": "hello", "reply": { "$$matchAsDocument": { "$$matchAsRoot": { "ok": 1, "isWritablePrimary": true } } } } } ] } ] }, { "description": "legacy hello without speculative authenticate command and server reply are not redacted", "operations": [ { "name": "runCommand", "object": "database", "arguments": { "commandName": "ismaster", "command": { "ismaster": 1 } } }, { "name": "runCommand", "object": "database", "arguments": { "commandName": "isMaster", "command": { "isMaster": 1 } } } ], "expectLogMessages": [ { "client": "client", "messages": [ { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "ismaster", "command": { "$$matchAsDocument": { "$$matchAsRoot": { "ismaster": 1 } } } } }, { "level": "debug", "component": "command", "data": { "message": "Command succeeded", "commandName": "ismaster", "reply": { "$$matchAsDocument": { "$$matchAsRoot": { "ok": 1, "ismaster": true } } } } }, { "level": "debug", "component": "command", "data": { "message": "Command started", "databaseName": "logging-redaction-tests", "commandName": "isMaster", "command": { "$$matchAsDocument": { "$$matchAsRoot": { "isMaster": 1 } } } } }, { "level": "debug", "component": "command", "data": { "message": "Command succeeded", "commandName": "isMaster", "reply": { "$$matchAsDocument": { "$$matchAsRoot": { "ok": 1, "ismaster": true } } } } } ] } ] } ] }