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:
@ -303,14 +303,6 @@ module.exports = function() {
|
|||||||
// Perform a PATCH on a resource
|
// Perform a PATCH on a resource
|
||||||
this.updateValue = function(host, resource, key, value) {
|
this.updateValue = function(host, resource, key, value) {
|
||||||
var body = {}
|
var body = {}
|
||||||
|
|
||||||
// Convert string booleans into JSON booleans
|
|
||||||
if (value == "true") {
|
|
||||||
value = true
|
|
||||||
} else if (value == "false") {
|
|
||||||
value = false
|
|
||||||
}
|
|
||||||
|
|
||||||
_.set(body, key, value)
|
_.set(body, key, value)
|
||||||
return doRequest(host, resource, null, { method: 'PATCH', body: body })
|
return doRequest(host, resource, null, { method: 'PATCH', body: body })
|
||||||
}
|
}
|
||||||
|
@ -171,10 +171,8 @@ exports.builder = function(yargs) {
|
|||||||
|
|
||||||
var err = false;
|
var err = false;
|
||||||
|
|
||||||
if (argv.params) {
|
err = validateParams(argv, argv.params)
|
||||||
err = validateParams(argv, argv.params)
|
monitor.data.attributes.parameters = argv.params.reduce(to_obj, {})
|
||||||
monitor.data.attributes.parameters = argv.params.reduce(to_obj, {})
|
|
||||||
}
|
|
||||||
|
|
||||||
if (argv.servers) {
|
if (argv.servers) {
|
||||||
for (i = 0; i < argv.servers.length; i++) {
|
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)
|
||||||
var err = validateParams(argv, argv.params)
|
if (err) {
|
||||||
if (err) {
|
return Promise.reject(err)
|
||||||
return Promise.reject(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
filter.data.attributes.parameters = argv.params.reduce(to_obj, {})
|
|
||||||
}
|
}
|
||||||
|
filter.data.attributes.parameters = argv.params.reduce(to_obj, {})
|
||||||
|
|
||||||
|
|
||||||
return doRequest(host, 'filters', null, {method: 'POST', body: filter})
|
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==",
|
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
|
||||||
"dev": true
|
"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": {
|
"aggregate-error": {
|
||||||
"version": "3.0.1",
|
"version": "3.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz",
|
"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",
|
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
|
"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": {
|
"diff": {
|
||||||
"version": "3.5.0",
|
"version": "3.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
|
||||||
@ -2146,6 +2164,12 @@
|
|||||||
"integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
|
"integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
|
||||||
"dev": true
|
"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": {
|
"lru-cache": {
|
||||||
"version": "4.1.5",
|
"version": "4.1.5",
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
|
||||||
@ -2185,6 +2209,31 @@
|
|||||||
"object-visit": "^1.0.0"
|
"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": {
|
"mem": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
|
||||||
@ -2295,6 +2344,21 @@
|
|||||||
"supports-color": "5.4.0"
|
"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": {
|
"ms": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"chai": "^3.5.0",
|
"chai": "^3.5.0",
|
||||||
"chai-as-promised": "^6.0.0",
|
"chai-as-promised": "^6.0.0",
|
||||||
|
"mariadb": "^2.2.0",
|
||||||
"mocha": "^5.2.0",
|
"mocha": "^5.2.0",
|
||||||
"nyc": "^15.0.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() {
|
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
|
.should.be.rejected
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -273,5 +273,10 @@ describe("Create/Destroy Commands", function() {
|
|||||||
.should.be.fulfilled
|
.should.be.fulfilled
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('create filter with bad parameters', function() {
|
||||||
|
return doCommand('create filter test-filter qlafilter count 10')
|
||||||
|
.should.be.rejected
|
||||||
|
})
|
||||||
|
|
||||||
after(stopMaxScale)
|
after(stopMaxScale)
|
||||||
});
|
});
|
||||||
|
@ -1,4 +1,18 @@
|
|||||||
require('../test_utils.js')()
|
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 = [
|
var tests = [
|
||||||
'list servers',
|
'list servers',
|
||||||
@ -15,6 +29,7 @@ var tests = [
|
|||||||
'show services',
|
'show services',
|
||||||
'show monitors',
|
'show monitors',
|
||||||
'show sessions',
|
'show sessions',
|
||||||
|
'show session 1',
|
||||||
'show filters',
|
'show filters',
|
||||||
'show modules',
|
'show modules',
|
||||||
'show maxscale',
|
'show maxscale',
|
||||||
@ -30,10 +45,19 @@ var tests = [
|
|||||||
'show maxscale',
|
'show maxscale',
|
||||||
'show logging',
|
'show logging',
|
||||||
'show commands readwritesplit',
|
'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() {
|
describe("Diagnostic Commands", function() {
|
||||||
before(startMaxScale)
|
before(startMaxScale)
|
||||||
|
before(createConnection)
|
||||||
|
|
||||||
tests.forEach(function(i) {
|
tests.forEach(function(i) {
|
||||||
it(i, function() {
|
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)
|
after(stopMaxScale)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ describe("Library invocation", function() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
it('multiple hosts', 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)
|
return ctrl.execute('list servers'.split(' '), opts)
|
||||||
.should.be.fulfilled
|
.should.be.fulfilled
|
||||||
})
|
})
|
||||||
|
Reference in New Issue
Block a user