summaryrefslogtreecommitdiff
path: root/jstests/auth/logs_include_client_info.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/auth/logs_include_client_info.js')
-rw-r--r--jstests/auth/logs_include_client_info.js34
1 files changed, 28 insertions, 6 deletions
diff --git a/jstests/auth/logs_include_client_info.js b/jstests/auth/logs_include_client_info.js
index 31594a60de5..8d5115cc328 100644
--- a/jstests/auth/logs_include_client_info.js
+++ b/jstests/auth/logs_include_client_info.js
@@ -1,5 +1,6 @@
// This test just checks that the success/failure messages for authentication include the IP
// address of the client attempting to authenticate.
+load("jstests/libs/logv2_helpers.js");
(function() {
const conn = MongoRunner.runMongod({auth: ""});
@@ -18,12 +19,33 @@ failConn.getDB("admin").auth("root", "toot");
const log = assert.commandWorked(admin.runCommand({getLog: "global"})).log;
-const successRegex =
- /Successfully authenticated as principal root on admin from client (?:\d{1,3}\.){3}\d{1,3}:\d+/;
-const failRegex =
- /SASL SCRAM-SHA-\d+ authentication failed for root on admin from client (?:\d{1,3}\.){3}\d{1,3}:\d+/;
+if (isJsonLog(conn)) {
+ function checkAuthSuccess(element, index, array) {
+ const log = JSON.parse(element);
+
+ return log.id === 20250 && log.attr.principalName === "root" &&
+ log.attr.authDB === "admin" && /(?:\d{1,3}\.){3}\d{1,3}:\d+/.test(log.attr.client);
+ }
+
+ function checkSCRAMfail(element, index, array) {
+ const log = JSON.parse(element);
+
+ return log.id === 20249 && /SCRAM-SHA-\d+/.test(log.attr.mechanism) &&
+ log.attr.principalName === "root" && log.attr.authDB === "admin" &&
+ /(?:\d{1,3}\.){3}\d{1,3}:\d+/.test(log.attr.client);
+ }
+
+ assert(log.some(checkAuthSuccess));
+ assert(log.some(checkSCRAMfail));
+} else {
+ const successRegex =
+ /Successfully authenticated as principal root on admin from client (?:\d{1,3}\.){3}\d{1,3}:\d+/;
+ const failRegex =
+ /SASL SCRAM-SHA-\d+ authentication failed for root on admin from client (?:\d{1,3}\.){3}\d{1,3}:\d+/;
+
+ assert(log.some((line) => successRegex.test(line)));
+ assert(log.some((line) => failRegex.test(line)));
+}
-assert(log.some((line) => successRegex.test(line)));
-assert(log.some((line) => failRegex.test(line)));
MongoRunner.stopMongod(conn);
})();