Files
mongo/jstests/tool/dumprestore1.js
Benety Goh 8ada566074 SERVER-4345 mongorestore will read from stdin when filename is "-"
check eof only on fifo files. restored original logic of checking bytes read against file length.
            mongorestore requires both --db and --collection when using stdin/fifo
2014-07-02 16:56:45 -04:00

32 lines
1.0 KiB
JavaScript

// dumprestore1.js
t = new ToolTest( "dumprestore1" );
c = t.startDB( "foo" );
assert.eq( 0 , c.count() , "setup1" );
c.save( { a : 22 } );
assert.eq( 1 , c.count() , "setup2" );
t.runTool( "dump" , "--out" , t.ext );
c.drop();
assert.eq( 0 , c.count() , "after drop" );
t.runTool( "restore" , "--dir" , t.ext );
assert.soon( "c.findOne()" , "no data after sleep" );
assert.eq( 1 , c.count() , "after restore 2" );
assert.eq( 22 , c.findOne().a , "after restore 2" );
// ensure that --collection is used with --db. See SERVER-7721
var ret = t.runTool( "dump" , "--collection" , "col" );
assert.neq( ret, 0, "mongodump should return failure code" );
t.stop();
// Ensure that --db and --collection are provided when filename is "-" (stdin).
ret = t.runTool( "restore" , "--collection" , "coll", "--dir", "-" );
assert.neq( ret, 0, "mongorestore should return failure code" );
t.stop();
ret = t.runTool( "restore" , "--db" , "db", "--dir", "-" );
assert.neq( ret, 0, "mongorestore should return failure code" );
t.stop();