0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-12-01 01:21:03 +01:00
mongodb/jstests/readonly/temp_collection.js

45 lines
1.6 KiB
JavaScript

// Tests that the server is able to restart in read-only mode with data files that contain one or
// more temporary collections. See SERVER-24719 for details.
// @tags: [requires_replication]
'use strict';
load('jstests/readonly/lib/read_only_test.js');
runReadOnlyTest((function() {
return {
name: 'temp_collection',
load: function(writableCollection) {
var collName = writableCollection.getName();
var writableDB = writableCollection.getDB();
writableDB[collName].drop();
assert.commandWorked(writableDB.runCommand({
applyOps: [{
op: "c",
ns: writableDB.getName() + ".$cmd",
o: {create: collName, temp: true}
}]
}));
var collectionInfos = writableDB.getCollectionInfos();
var collectionExists = false;
collectionInfos.forEach(info => {
if (info.name === collName) {
assert(info.options.temp,
'The collection is not marked as a temporary one\n' +
tojson(collectionInfos));
collectionExists = true;
}
});
assert(collectionExists, 'Can not find collection in collectionInfos');
assert.writeOK(writableCollection.insert({a: 1}));
},
exec: function(readableCollection) {
assert.eq(
readableCollection.count(), 1, 'There should be 1 document in the temp collection');
}
};
})());