File: auth_config_down.js

package info (click to toggle)
mongodb 1%3A2.4.10-5
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 82,464 kB
  • sloc: cpp: 740,225; ansic: 152,098; sh: 13,820; python: 11,864; makefile: 1,012; perl: 922; pascal: 617; java: 452; lisp: 222; asm: 174
file content (48 lines) | stat: -rw-r--r-- 1,325 bytes parent folder | download | duplicates (3)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
//
// Tests authorization when a config server is down
//

var st = new ShardingTest({ shards : 1,
                            mongos : 1,
                            verbose : 1,
                            keyFile : "jstests/libs/key1",
                            other : { separateConfig : true, sync : true } })

var mongos = st.s0
var configs = st._configServers

printjson( configs )
st.printShardingStatus()

mongos.getCollection( "foo.bar" ).insert({ hello : "world" })
assert.eq( null, mongos.getDB( "foo" ).getLastError() )

var stopOrder = [ 1, 0 ]

for( var i = 0; i < stopOrder.length; i++ ){
    
    var configToStop = configs[ stopOrder[i] ]
    
    jsTest.log( "Stopping config server " + stopOrder[i] + " : " + configToStop )
    
    MongoRunner.stopMongod( configToStop )
    
    jsTest.log( "Starting mongos with auth..." )
    
    var mongosWithAuth = MongoRunner.runMongos({ keyFile : "jstests/libs/key1",
                                                 configdb : mongos.savedOptions.configdb })

    var res = null;
    try {
        res = mongosWithAuth.getCollection("foo.bar").findOne();
    }
    catch (e) {
        print("Caught exception: " + tojson(e));
    }
    assert.neq(null, res, "Test FAILED: unable to find document using mongos with auth");
}

jsTest.log( "DONE!" )

st.stop()