mongo/jstests/httpinterface/network_options.js

94 lines
3.3 KiB
JavaScript

// Tests for command line option canonicalization. See SERVER-13379.
import {testGetCmdLineOptsMongod} from "jstests/libs/command_line/test_parsed_options.js";
let baseName = "jstests_core_network_options";
// Object Check
jsTest.log('Testing "objcheck" command line option');
let expectedResult = {"parsed": {"net": {"wireObjectCheck": true}}};
testGetCmdLineOptsMongod({objcheck: ""}, expectedResult);
jsTest.log('Testing "noobjcheck" command line option');
expectedResult = {
"parsed": {"net": {"wireObjectCheck": false}},
};
testGetCmdLineOptsMongod({noobjcheck: ""}, expectedResult);
jsTest.log('Testing "net.wireObjectCheck" config file option');
expectedResult = {
"parsed": {
"config": "jstests/libs/config_files/enable_objcheck.json",
"net": {"wireObjectCheck": true},
},
};
testGetCmdLineOptsMongod({config: "jstests/libs/config_files/enable_objcheck.json"}, expectedResult);
jsTest.log("Testing with no explicit network option setting");
expectedResult = {
"parsed": {"net": {}},
};
testGetCmdLineOptsMongod({}, expectedResult);
jsTest.log("Testing with no explicit network option setting");
expectedResult = {
"parsed": {"net": {}},
};
testGetCmdLineOptsMongod({}, expectedResult);
// Unix Socket
if (!_isWindows()) {
jsTest.log('Testing "nounixsocket" command line option');
expectedResult = {"parsed": {"net": {"unixDomainSocket": {"enabled": false}}}};
testGetCmdLineOptsMongod({nounixsocket: ""}, expectedResult);
jsTest.log('Testing "net.wireObjectCheck" config file option');
expectedResult = {
"parsed": {
"config": "jstests/libs/config_files/enable_unixsocket.json",
"net": {"unixDomainSocket": {"enabled": true}},
},
};
testGetCmdLineOptsMongod({config: "jstests/libs/config_files/enable_unixsocket.json"}, expectedResult);
jsTest.log("Testing with no explicit network option setting");
expectedResult = {"parsed": {"net": {}}};
testGetCmdLineOptsMongod({}, expectedResult);
}
jsTest.log('Testing explicitly disabled "objcheck" config file option');
expectedResult = {
"parsed": {
"config": "jstests/libs/config_files/disable_objcheck.ini",
"net": {"wireObjectCheck": false},
},
};
testGetCmdLineOptsMongod({config: "jstests/libs/config_files/disable_objcheck.ini"}, expectedResult);
jsTest.log('Testing explicitly disabled "noobjcheck" config file option');
expectedResult = {
"parsed": {
"config": "jstests/libs/config_files/disable_noobjcheck.ini",
"net": {"wireObjectCheck": true},
},
};
testGetCmdLineOptsMongod({config: "jstests/libs/config_files/disable_noobjcheck.ini"}, expectedResult);
jsTest.log('Testing explicitly disabled "ipv6" config file option');
expectedResult = {
"parsed": {"config": "jstests/libs/config_files/disable_ipv6.ini", "net": {"ipv6": false}},
};
testGetCmdLineOptsMongod({config: "jstests/libs/config_files/disable_ipv6.ini"}, expectedResult);
if (!_isWindows()) {
jsTest.log('Testing explicitly disabled "nounixsocket" config file option');
expectedResult = {
"parsed": {
"config": "jstests/libs/config_files/disable_nounixsocket.ini",
"net": {"unixDomainSocket": {"enabled": true}},
},
};
testGetCmdLineOptsMongod({config: "jstests/libs/config_files/disable_nounixsocket.ini"}, expectedResult);
}
print(baseName + " succeeded.");