summaryrefslogtreecommitdiff
path: root/jstests/core/no_db_created.js
blob: 3491914d470c5fba7cf892de5767e1450cf25efe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// checks that operations do not create a database

(function() {
    "use strict";
    var adminDB = db.getSiblingDB("admin");
    var noDB = function(db) {
        var dbName = db.getName();
        var dbsRes = assert.commandWorked(adminDB.runCommand("listDatabases"));
        dbsRes.databases.forEach(function(e) {
            assert.neq(
                dbName, e.name, "Found db which shouldn't exist:" + dbName + "; " + tojson(dbsRes));
        });
    };
    var mydb = db.getSiblingDB("neverCreated");
    mydb.dropDatabase();
    noDB(mydb);

    var coll = mydb.fake;

    // force:true is for replset passthroughs
    assert.commandFailed(coll.runCommand("compact", {force: true}));
    noDB(mydb);
    assert.writeOK(coll.insert({}));
    mydb.dropDatabase();

    assert.commandFailed(coll.runCommand("dropIndexes"));
    noDB(mydb);
    assert.writeOK(coll.insert({}));
    mydb.dropDatabase();

    assert.commandFailed(coll.runCommand("collMod", {expireAfterSeconds: 1}));
    noDB(mydb);
    assert.writeOK(coll.insert({}));
    mydb.dropDatabase();
}());