summaryrefslogtreecommitdiff
path: root/jstests/libs/check_uuids.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/libs/check_uuids.js')
-rw-r--r--jstests/libs/check_uuids.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/jstests/libs/check_uuids.js b/jstests/libs/check_uuids.js
new file mode 100644
index 00000000000..1eb5f748834
--- /dev/null
+++ b/jstests/libs/check_uuids.js
@@ -0,0 +1,27 @@
+// Contains helpers for checking UUIDs on collections.
+
+/**
+ * Verifies that all collections on all databases on the server with admin database adminDB have
+ * UUIDs if isDowngrade is false and don't have UUIDs if isDowngrade is true.
+ */
+function checkCollectionUUIDs(adminDB, isDowngrade) {
+ let databaseList = adminDB.runCommand({"listDatabases": 1}).databases;
+
+ databaseList.forEach(function(database) {
+ let currentDatabase = adminDB.getSiblingDB(database.name);
+ let collectionInfos = currentDatabase.getCollectionInfos();
+ for (let i = 0; i < collectionInfos.length; i++) {
+ // Always skip system.indexes due to SERVER-30500.
+ if (collectionInfos[i].name == "system.indexes") {
+ continue;
+ }
+ if (isDowngrade) {
+ assert(!collectionInfos[i].info.uuid,
+ "Unexpected uuid for collection: " + tojson(collectionInfos[i]));
+ } else {
+ assert(collectionInfos[i].info.uuid,
+ "Expect uuid for collection: " + tojson(collectionInfos[i]));
+ }
+ }
+ });
+}