Add missing maxctrl test cases
Code coverage revealed that some parts of the code could be easily tested. Added these missing test cases and removed some dead code.
This commit is contained in:
parent
68c070c2c4
commit
5b45796da4
@ -303,14 +303,6 @@ module.exports = function() {
|
||||
// Perform a PATCH on a resource
|
||||
this.updateValue = function(host, resource, key, value) {
|
||||
var body = {}
|
||||
|
||||
// Convert string booleans into JSON booleans
|
||||
if (value == "true") {
|
||||
value = true
|
||||
} else if (value == "false") {
|
||||
value = false
|
||||
}
|
||||
|
||||
_.set(body, key, value)
|
||||
return doRequest(host, resource, null, { method: 'PATCH', body: body })
|
||||
}
|
||||
|
@ -171,10 +171,8 @@ exports.builder = function(yargs) {
|
||||
|
||||
var err = false;
|
||||
|
||||
if (argv.params) {
|
||||
err = validateParams(argv, argv.params)
|
||||
monitor.data.attributes.parameters = argv.params.reduce(to_obj, {})
|
||||
}
|
||||
err = validateParams(argv, argv.params)
|
||||
monitor.data.attributes.parameters = argv.params.reduce(to_obj, {})
|
||||
|
||||
if (argv.servers) {
|
||||
for (i = 0; i < argv.servers.length; i++) {
|
||||
@ -265,14 +263,12 @@ exports.builder = function(yargs) {
|
||||
}
|
||||
}
|
||||
|
||||
if (argv.params) {
|
||||
var err = validateParams(argv, argv.params)
|
||||
if (err) {
|
||||
return Promise.reject(err)
|
||||
}
|
||||
|
||||
filter.data.attributes.parameters = argv.params.reduce(to_obj, {})
|
||||
var err = validateParams(argv, argv.params)
|
||||
if (err) {
|
||||
return Promise.reject(err)
|
||||
}
|
||||
filter.data.attributes.parameters = argv.params.reduce(to_obj, {})
|
||||
|
||||
|
||||
return doRequest(host, 'filters', null, {method: 'POST', body: filter})
|
||||
})
|
||||
|
64
maxctrl/package-lock.json
generated
64
maxctrl/package-lock.json
generated
@ -273,6 +273,18 @@
|
||||
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/geojson": {
|
||||
"version": "7946.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.7.tgz",
|
||||
"integrity": "sha512-wE2v81i4C4Ol09RtsWFAqg3BUitWbHSpSlIo+bNdsCJijO9sjme+zm+73ZMCa/qMC8UEERxzGbvmr1cffo2SiQ==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "13.7.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-13.7.7.tgz",
|
||||
"integrity": "sha512-Uo4chgKbnPNlxQwoFmYIwctkQVkMMmsAoGGU4JKwLuvBefF0pCq4FybNSnfkfRCpC7ZW7kttcC/TrRtAJsvGtg==",
|
||||
"dev": true
|
||||
},
|
||||
"aggregate-error": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz",
|
||||
@ -911,6 +923,12 @@
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
|
||||
},
|
||||
"denque": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz",
|
||||
"integrity": "sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ==",
|
||||
"dev": true
|
||||
},
|
||||
"diff": {
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
|
||||
@ -2146,6 +2164,12 @@
|
||||
"integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
|
||||
"dev": true
|
||||
},
|
||||
"long": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
|
||||
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==",
|
||||
"dev": true
|
||||
},
|
||||
"lru-cache": {
|
||||
"version": "4.1.5",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
|
||||
@ -2185,6 +2209,31 @@
|
||||
"object-visit": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"mariadb": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/mariadb/-/mariadb-2.2.0.tgz",
|
||||
"integrity": "sha512-YXPF11u4NVgm3FLetJoAbq9Fb0a/RSwNrDHdmAqpqgYErWAOes/IVbOfvWPWZQ0hI88j/81f15AGJZAVuR3bGg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/geojson": "^7946.0.7",
|
||||
"@types/node": ">=8.0.0",
|
||||
"denque": "^1.4.1",
|
||||
"iconv-lite": "^0.5.1",
|
||||
"long": "^4.0.0",
|
||||
"moment-timezone": "^0.5.27"
|
||||
},
|
||||
"dependencies": {
|
||||
"iconv-lite": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.1.tgz",
|
||||
"integrity": "sha512-ONHr16SQvKZNSqjQT9gy5z24Jw+uqfO02/ngBSBoqChZ+W8qXX7GPRa1RoUnzGADw8K63R1BXUMzarCVQBpY8Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"safer-buffer": ">= 2.1.2 < 3"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"mem": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
|
||||
@ -2295,6 +2344,21 @@
|
||||
"supports-color": "5.4.0"
|
||||
}
|
||||
},
|
||||
"moment": {
|
||||
"version": "2.24.0",
|
||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
|
||||
"integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==",
|
||||
"dev": true
|
||||
},
|
||||
"moment-timezone": {
|
||||
"version": "0.5.28",
|
||||
"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.28.tgz",
|
||||
"integrity": "sha512-TDJkZvAyKIVWg5EtVqRzU97w0Rb0YVbfpqyjgu6GwXCAohVRqwZjf4fOzDE6p1Ch98Sro/8hQQi65WDXW5STPw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"moment": ">= 2.9.0"
|
||||
}
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||
|
@ -31,6 +31,7 @@
|
||||
"devDependencies": {
|
||||
"chai": "^3.5.0",
|
||||
"chai-as-promised": "^6.0.0",
|
||||
"mariadb": "^2.2.0",
|
||||
"mocha": "^5.2.0",
|
||||
"nyc": "^15.0.0"
|
||||
},
|
||||
|
@ -19,7 +19,7 @@ describe("Create/Destroy Commands", function() {
|
||||
})
|
||||
|
||||
it('monitor without parameters fails due to missing user parameter', function() {
|
||||
return verifyCommand('create monitor my-monitor mysqlmon', 'monitors/my-monitor')
|
||||
return doCommand('create monitor my-monitor mysqlmon')
|
||||
.should.be.rejected
|
||||
})
|
||||
|
||||
@ -273,5 +273,10 @@ describe("Create/Destroy Commands", function() {
|
||||
.should.be.fulfilled
|
||||
})
|
||||
|
||||
it('create filter with bad parameters', function() {
|
||||
return doCommand('create filter test-filter qlafilter count 10')
|
||||
.should.be.rejected
|
||||
})
|
||||
|
||||
after(stopMaxScale)
|
||||
});
|
||||
|
@ -1,4 +1,18 @@
|
||||
require('../test_utils.js')()
|
||||
const mariadb = require('mariadb');
|
||||
var conn
|
||||
|
||||
function createConnection() {
|
||||
return mariadb.createConnection({host: '127.0.0.1', port: 4006, user: 'maxuser', password: 'maxpwd'})
|
||||
.then(c => {
|
||||
conn = c
|
||||
})
|
||||
}
|
||||
|
||||
function closeConnection() {
|
||||
conn.end()
|
||||
conn = null
|
||||
}
|
||||
|
||||
var tests = [
|
||||
'list servers',
|
||||
@ -15,6 +29,7 @@ var tests = [
|
||||
'show services',
|
||||
'show monitors',
|
||||
'show sessions',
|
||||
'show session 1',
|
||||
'show filters',
|
||||
'show modules',
|
||||
'show maxscale',
|
||||
@ -30,10 +45,19 @@ var tests = [
|
||||
'show maxscale',
|
||||
'show logging',
|
||||
'show commands readwritesplit',
|
||||
'show qc_cache',
|
||||
'show dbusers RW-Split-Router',
|
||||
]
|
||||
|
||||
var rdns_tests = [
|
||||
'list sessions',
|
||||
'show sessions',
|
||||
'show session 1',
|
||||
]
|
||||
|
||||
describe("Diagnostic Commands", function() {
|
||||
before(startMaxScale)
|
||||
before(createConnection)
|
||||
|
||||
tests.forEach(function(i) {
|
||||
it(i, function() {
|
||||
@ -42,6 +66,14 @@ describe("Diagnostic Commands", function() {
|
||||
});
|
||||
})
|
||||
|
||||
rdns_tests.forEach(function(i) {
|
||||
it(i + ' with reverse DNS lookups', function() {
|
||||
return doCommand(i + ' --rdns')
|
||||
.should.be.fulfilled
|
||||
});
|
||||
})
|
||||
|
||||
after(closeConnection)
|
||||
after(stopMaxScale)
|
||||
});
|
||||
|
||||
|
@ -17,7 +17,7 @@ describe("Library invocation", function() {
|
||||
})
|
||||
|
||||
it('multiple hosts', function() {
|
||||
var opts = { extra_args: [ '--quiet', '--hosts', '127.0.0.1:8989', 'localhost:8989'] }
|
||||
var opts = { extra_args: [ '--quiet', '--hosts', '127.0.0.1:8989,localhost:8989'] }
|
||||
return ctrl.execute('list servers'.split(' '), opts)
|
||||
.should.be.fulfilled
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user