@@ -5,35 +5,45 @@ dbPath = "/data/db/" + baseName + "/";
55externalPath = "/data/db/" + baseName + "_external/"
66externalFile = externalPath + "export.json"
77
8+ function fileSize ( ) {
9+ var l = listFiles ( externalPath ) ;
10+ for ( var i = 0 ; i < l . length ; i ++ ) {
11+ if ( l [ i ] . name == externalFile )
12+ return l [ i ] . size ;
13+ }
14+ return - 1 ;
15+ }
16+
17+
818port = allocatePorts ( 1 ) [ 0 ] ;
919resetDbpath ( externalPath ) ;
1020
1121m = startMongod ( "--port" , port , "--dbpath" , dbPath , "--nohttpinterface" , "--bind_ip" , "127.0.0.1" ) ;
1222c = m . getDB ( baseName ) . getCollection ( baseName ) ;
1323c . save ( { a : 1 } ) ;
24+ assert ( c . findOne ( ) ) ;
1425
15- startMongoProgramNoConnect ( "mongodump" , "--host" , "127.0.0.1:" + port , "--out" , externalPath ) ;
16- sleep ( 3000 ) ;
26+ runMongoProgram ( "mongodump" , "--host" , "127.0.0.1:" + port , "--out" , externalPath ) ;
1727c . drop ( ) ;
18- startMongoProgramNoConnect ( "mongorestore" , "--host" , "127.0.0.1:" + port , "--dir" , externalPath ) ;
19- assert . soon ( function ( ) { return c . findOne ( ) && 1 == c . findOne ( ) . a ; } ) ;
28+ runMongoProgram ( "mongorestore" , "--host" , "127.0.0.1:" + port , "--dir" , externalPath ) ;
29+ assert ( c . findOne ( ) && 1 == c . findOne ( ) . a , "mongodump then restore has no data" ) ;
2030
2131resetDbpath ( externalPath ) ;
2232
23- startMongoProgramNoConnect ( "mongoexport" , "--host" , "127.0.0.1:" + port , "-d" , baseName , "-c" , baseName , "--out" , externalFile ) ;
24- sleep ( 3000 ) ;
33+ assert . eq ( - 1 , fileSize ( ) , "mongoexport prep invalid" ) ;
34+ runMongoProgram ( "mongoexport" , "--host" , "127.0.0.1:" + port , "-d" , baseName , "-c" , baseName , "--out" , externalFile ) ;
35+ assert . lt ( 10 , fileSize ( ) , "file size changed" ) ;
36+
2537c . drop ( ) ;
26- startMongoProgramNoConnect ( "mongoimportjson" , "--host" , "127.0.0.1:" + port , "-d" , baseName , "-c" , baseName , "--file" , externalFile ) ;
27- assert . soon ( function ( ) { return c . findOne ( ) && 1 == c . findOne ( ) . a ; } ) ;
38+ runMongoProgram ( "mongoimportjson" , "--host" , "127.0.0.1:" + port , "-d" , baseName , "-c" , baseName , "--file" , externalFile ) ;
39+ assert ( c . findOne ( ) && 1 == c . findOne ( ) . a ) ;
2840
2941stopMongod ( port ) ;
3042resetDbpath ( externalPath ) ;
3143
32- startMongoProgramNoConnect ( "mongodump" , "--dbpath" , dbPath , "--out" , externalPath ) ;
33- sleep ( 3000 ) ;
44+ runMongoProgram ( "mongodump" , "--dbpath" , dbPath , "--out" , externalPath ) ;
3445resetDbpath ( dbPath ) ;
35- startMongoProgramNoConnect ( "mongorestore" , "--dbpath" , dbPath , "--dir" , externalPath ) ;
36- sleep ( 5000 ) ;
46+ runMongoProgram ( "mongorestore" , "--dbpath" , dbPath , "--dir" , externalPath ) ;
3747m = startMongoProgram ( "mongod" , "--port" , port , "--dbpath" , dbPath , "--nohttpinterface" , "--bind_ip" , "127.0.0.1" ) ;
3848c = m . getDB ( baseName ) . getCollection ( baseName ) ;
3949assert ( c . findOne ( ) , "object missing a" ) ;
@@ -42,11 +52,9 @@ assert( 1 == c.findOne().a, "object wrong" );
4252stopMongod ( port ) ;
4353resetDbpath ( externalPath ) ;
4454
45- startMongoProgramNoConnect ( "mongoexport" , "--dbpath" , dbPath , "-d" , baseName , "-c" , baseName , "--out" , externalFile ) ;
46- sleep ( 3000 ) ;
55+ runMongoProgram ( "mongoexport" , "--dbpath" , dbPath , "-d" , baseName , "-c" , baseName , "--out" , externalFile ) ;
4756resetDbpath ( dbPath ) ;
48- startMongoProgramNoConnect ( "mongoimportjson" , "--dbpath" , dbPath , "-d" , baseName , "-c" , baseName , "--file" , externalFile ) ;
49- sleep ( 5000 ) ;
57+ runMongoProgram ( "mongoimportjson" , "--dbpath" , dbPath , "-d" , baseName , "-c" , baseName , "--file" , externalFile ) ;
5058m = startMongoProgram ( "mongod" , "--port" , port , "--dbpath" , dbPath , "--nohttpinterface" , "--bind_ip" , "127.0.0.1" ) ;
5159c = m . getDB ( baseName ) . getCollection ( baseName ) ;
5260assert ( c . findOne ( ) , "object missing b" ) ;
0 commit comments