summaryrefslogtreecommitdiff
path: root/jstests/core/rename_stayTemp.js
blob: ccada6abf3930a049577a54ac8778917cca97532 (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
orig = 'rename_stayTemp_orig';
dest = 'rename_stayTemp_dest';

db[orig].drop();
db[dest].drop();

function ns(coll){ return db[coll].getFullName(); }

function istemp( name ) {
    var result = db.runCommand( "listCollections", { filter : { name : name } } );
    assert( result.ok );
    var collections = new DBCommandCursor( db.getMongo(), result ).toArray();
    assert.eq( 1, collections.length );
    return collections[0].options.temp ? true : false;
}

db.runCommand({create: orig, temp:1});
assert(istemp(orig));

db.adminCommand({renameCollection: ns(orig), to: ns(dest)});
assert(!istemp(dest));

db[dest].drop();

db.runCommand({create: orig, temp:1});
assert( istemp(orig) );

db.adminCommand({renameCollection: ns(orig), to: ns(dest), stayTemp: true});
assert( istemp(dest) );