summaryrefslogtreecommitdiff
path: root/jstests/core/apitest_db_profile_level.js
blob: 2172b4ed1cbbeeb02d65668daca3b95a68314c9e (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
33
34
35
36
37
38
39
40
/**
 *  Tests for setting of profile levels
 *  @tags: [does_not_support_stepdowns, requires_profiling]
 */

(function() {
    'use strict';

    /*
     *  be sure the public collection API is complete
     */
    assert(db.getProfilingLevel, "getProfilingLevel");
    assert(db.setProfilingLevel, "setProfilingLevel");

    // A test-specific database is used for profiler testing so as not to interfere with
    // other tests that modify profiler level, when run in parallel.
    var profileLevelDB = db.getSiblingDB("apitest_db_profile_level");

    profileLevelDB.setProfilingLevel(0);
    assert(profileLevelDB.getProfilingLevel() == 0, "prof level 0");

    profileLevelDB.setProfilingLevel(1);
    assert(profileLevelDB.getProfilingLevel() == 1, "p1");

    profileLevelDB.setProfilingLevel(2);
    assert(profileLevelDB.getProfilingLevel() == 2, "p2");

    profileLevelDB.setProfilingLevel(0);
    assert(profileLevelDB.getProfilingLevel() == 0, "prof level 0");

    var asserted = false;
    try {
        profileLevelDB.setProfilingLevel(10);
        assert(false);
    } catch (e) {
        asserted = true;
        assert(e.dbSetProfilingException);
    }
    assert(asserted, "should have asserted");
})();