summaryrefslogtreecommitdiff
path: root/jstests/sharding/drop_sharded_db_tags_cleanup.js
blob: e5c89b7a551b20675e2deb71a942a44ffe9906ba (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
// Tests that dropping a database also removes the zones associated with the
// collections in the database.
(function() {
var st = new ShardingTest({shards: 1});
var configDB = st.s.getDB('config');
var shardName = configDB.shards.findOne()._id;

assert.commandWorked(st.s.adminCommand({addShardToZone: shardName, zone: 'x'}));
assert.commandWorked(st.s.adminCommand({enableSharding: 'test'}));
assert.commandWorked(st.s.adminCommand({shardCollection: 'test.user', key: {x: 1}}));
assert.commandWorked(
    st.s.adminCommand({updateZoneKeyRange: 'test.user', min: {x: 0}, max: {x: 10}, zone: 'x'}));

var tagDoc = configDB.tags.findOne();
assert.eq(1, configDB.tags.find().length());
assert.eq('test.user', tagDoc.ns);
assert.eq({x: 0}, tagDoc.min);
assert.eq({x: 10}, tagDoc.max);
assert.eq('x', tagDoc.tag);

var db = st.s.getDB("test");
db.dropDatabase();

assert.eq(null, configDB.tags.findOne());
assert.commandWorked(st.s.adminCommand({removeShardFromZone: shardName, zone: 'x'}));
assert.commandWorked(st.removeRangeFromZone('test.user', {x: 0}, {x: 10}));

st.stop();
})();