MXS-1300: Improve test coverage
The tests now cover 100% of all source files with the exception of the call.js and common.js source files.
This commit is contained in:
@ -80,8 +80,10 @@ program
|
|||||||
.command(require('./call.js'))
|
.command(require('./call.js'))
|
||||||
.help()
|
.help()
|
||||||
.demandCommand(1, 'At least one command is required')
|
.demandCommand(1, 'At least one command is required')
|
||||||
.command('*', 'the default command', {}, () => {
|
.command('*', 'the default command', {}, function(argv) {
|
||||||
console.log('Unknown command. See output of `help` for a list of commands.')
|
maxctrl(argv, function() {
|
||||||
|
return error('Unknown command. See output of `help` for a list of commands.')
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
module.exports.execute = function(argv, opts) {
|
module.exports.execute = function(argv, opts) {
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
require('../test_utils.js')()
|
require('../test_utils.js')()
|
||||||
|
|
||||||
var ctrl = require('../lib/core.js')
|
|
||||||
var opts = { extra_args: [ '--quiet'] }
|
|
||||||
|
|
||||||
describe("Alter Commands", function() {
|
describe("Alter Commands", function() {
|
||||||
before(startMaxScale)
|
before(startMaxScale)
|
||||||
|
|
||||||
|
@ -90,6 +90,17 @@ describe("Create/Destroy Commands", function() {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('create server for service and monitor', function() {
|
||||||
|
return verifyCommand('create server server6 127.0.0.1 3005 --services RW-Split-Router --monitors MySQL-Monitor',
|
||||||
|
'servers/server6')
|
||||||
|
.then(function(res) {
|
||||||
|
res.data.relationships.services.data[0].id.should.equal("RW-Split-Router")
|
||||||
|
res.data.relationships.services.data.length.should.equal(1)
|
||||||
|
res.data.relationships.monitors.data[0].id.should.equal("MySQL-Monitor")
|
||||||
|
res.data.relationships.monitors.data.length.should.equal(1)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
it('create already existing server', function() {
|
it('create already existing server', function() {
|
||||||
return doCommand('create server server1 127.0.0.1 3000')
|
return doCommand('create server server1 127.0.0.1 3000')
|
||||||
.should.be.rejected
|
.should.be.rejected
|
||||||
@ -100,5 +111,27 @@ describe("Create/Destroy Commands", function() {
|
|||||||
.should.be.rejected
|
.should.be.rejected
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('create listener', function() {
|
||||||
|
return verifyCommand('create listener RW-Split-Router my-listener 4567',
|
||||||
|
'services/RW-Split-Router/listeners/my-listener')
|
||||||
|
.should.be.fulfilled
|
||||||
|
})
|
||||||
|
|
||||||
|
it('destroy listener', function() {
|
||||||
|
return doCommand('destroy listener RW-Split-Router my-listener')
|
||||||
|
.should.be.fulfilled
|
||||||
|
})
|
||||||
|
|
||||||
|
it('create user', function() {
|
||||||
|
return verifyCommand('create user testuser test',
|
||||||
|
'users/inet/testuser')
|
||||||
|
.should.be.fulfilled
|
||||||
|
})
|
||||||
|
|
||||||
|
it('destroy user', function() {
|
||||||
|
return doCommand('destroy user testuser')
|
||||||
|
.should.be.fulfilled
|
||||||
|
})
|
||||||
|
|
||||||
after(stopMaxScale)
|
after(stopMaxScale)
|
||||||
});
|
});
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
require('../test_utils.js')()
|
require('../test_utils.js')()
|
||||||
|
|
||||||
var ctrl = require('../lib/core.js')
|
|
||||||
var opts = { extra_args: [ '--quiet'] }
|
|
||||||
|
|
||||||
var tests = [
|
var tests = [
|
||||||
'list servers',
|
'list servers',
|
||||||
'list services',
|
'list services',
|
||||||
@ -20,9 +17,11 @@ var tests = [
|
|||||||
'show filter Hint',
|
'show filter Hint',
|
||||||
'show module readwritesplit',
|
'show module readwritesplit',
|
||||||
'show maxscale',
|
'show maxscale',
|
||||||
|
'show logging',
|
||||||
|
'show commands readwritesplit',
|
||||||
]
|
]
|
||||||
|
|
||||||
describe("Diagnostic commands", function() {
|
describe("Diagnostic Commands", function() {
|
||||||
before(startMaxScale)
|
before(startMaxScale)
|
||||||
|
|
||||||
tests.forEach(function(i) {
|
tests.forEach(function(i) {
|
||||||
|
@ -1,20 +1,41 @@
|
|||||||
require('../test_utils.js')()
|
require('../test_utils.js')()
|
||||||
|
|
||||||
var ctrl = require('../lib/core.js')
|
|
||||||
var opts = { extra_args: [ '--quiet'] }
|
|
||||||
|
|
||||||
describe("Enable/Disable Commands", function() {
|
describe("Enable/Disable Commands", function() {
|
||||||
before(startMaxScale)
|
before(startMaxScale)
|
||||||
|
|
||||||
it('disable with bad parameter', function() {
|
it('enable log-priority', function() {
|
||||||
return doCommand('disable log-priority bad-stuff')
|
return verifyCommand('enable log-priority info', 'maxscale/logs')
|
||||||
.should.be.rejected
|
.then(function(res) {
|
||||||
|
res.data.attributes.log_priorities.should.include('info')
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
it('enable with bad parameter', function() {
|
it('disable log-priority', function() {
|
||||||
|
return verifyCommand('disable log-priority info', 'maxscale/logs')
|
||||||
|
.then(function(res) {
|
||||||
|
res.data.attributes.log_priorities.should.not.include('info')
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
it('enable log-priority with bad parameter', function() {
|
||||||
return doCommand('enable log-priority bad-stuff')
|
return doCommand('enable log-priority bad-stuff')
|
||||||
.should.be.rejected
|
.should.be.rejected
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('disable log-priority with bad parameter', function() {
|
||||||
|
return doCommand('disable log-priority bad-stuff')
|
||||||
|
.should.be.rejected
|
||||||
|
})
|
||||||
|
|
||||||
|
it('enable account', function() {
|
||||||
|
return verifyCommand('enable account test', 'users/unix/test')
|
||||||
|
.should.be.fulfilled
|
||||||
|
})
|
||||||
|
|
||||||
|
it('disable account', function() {
|
||||||
|
return doCommand('disable account test')
|
||||||
|
.should.be.fulfilled
|
||||||
|
})
|
||||||
|
|
||||||
after(stopMaxScale)
|
after(stopMaxScale)
|
||||||
});
|
});
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
require('../test_utils.js')()
|
require('../test_utils.js')()
|
||||||
|
|
||||||
var ctrl = require('../lib/core.js')
|
describe("Link/Unlink Commands", function() {
|
||||||
var opts = { extra_args: [ '--quiet'] }
|
|
||||||
|
|
||||||
describe("Service Commands", function() {
|
|
||||||
before(startMaxScale)
|
before(startMaxScale)
|
||||||
|
|
||||||
it('link servers to a service', function() {
|
it('link servers to a service', function() {
|
||||||
|
12
maxctrl/test/rotate.js
Normal file
12
maxctrl/test/rotate.js
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
require('../test_utils.js')()
|
||||||
|
|
||||||
|
describe("Rotate Commands", function() {
|
||||||
|
before(startMaxScale)
|
||||||
|
|
||||||
|
it('rotate logs', function() {
|
||||||
|
return doCommand('rotate logs')
|
||||||
|
.should.be.fulfilled
|
||||||
|
});
|
||||||
|
|
||||||
|
after(stopMaxScale)
|
||||||
|
});
|
20
maxctrl/test/special.js
Normal file
20
maxctrl/test/special.js
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
require('../test_utils.js')()
|
||||||
|
|
||||||
|
describe("Library invocation", function() {
|
||||||
|
before(startMaxScale)
|
||||||
|
|
||||||
|
var ctrl = require('../lib/core.js')
|
||||||
|
var opts = { extra_args: [ '--quiet'] }
|
||||||
|
|
||||||
|
it('extra options', function() {
|
||||||
|
return ctrl.execute('list servers'.split(' '), opts)
|
||||||
|
.should.be.fulfilled
|
||||||
|
})
|
||||||
|
|
||||||
|
it('no options', function() {
|
||||||
|
return ctrl.execute('list servers'.split(' '))
|
||||||
|
.should.be.fulfilled
|
||||||
|
})
|
||||||
|
|
||||||
|
after(stopMaxScale)
|
||||||
|
});
|
@ -1,8 +1,5 @@
|
|||||||
require('../test_utils.js')()
|
require('../test_utils.js')()
|
||||||
|
|
||||||
var ctrl = require('../lib/core.js')
|
|
||||||
var opts = { extra_args: [ '--quiet'] }
|
|
||||||
|
|
||||||
describe("Start/Stop Commands", function() {
|
describe("Start/Stop Commands", function() {
|
||||||
before(startMaxScale)
|
before(startMaxScale)
|
||||||
|
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
require('../test_utils.js')()
|
require('../test_utils.js')()
|
||||||
|
|
||||||
var ctrl = require('../lib/core.js')
|
describe("Set/Clear Commands", function() {
|
||||||
var opts = { extra_args: [ '--quiet'] }
|
|
||||||
|
|
||||||
describe("Server states", function() {
|
|
||||||
before(function() {
|
before(function() {
|
||||||
return startMaxScale()
|
return startMaxScale()
|
||||||
.then(function() {
|
.then(function() {
|
||||||
|
@ -6,6 +6,8 @@ describe("Unknown Commands", function() {
|
|||||||
var endpoints = [
|
var endpoints = [
|
||||||
'list',
|
'list',
|
||||||
'show',
|
'show',
|
||||||
|
'set',
|
||||||
|
'clear',
|
||||||
'enable',
|
'enable',
|
||||||
'disable',
|
'disable',
|
||||||
'create',
|
'create',
|
||||||
@ -26,5 +28,10 @@ describe("Unknown Commands", function() {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('generic unknown command', function() {
|
||||||
|
return doCommand('something')
|
||||||
|
.should.be.rejected
|
||||||
|
})
|
||||||
|
|
||||||
after(stopMaxScale)
|
after(stopMaxScale)
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user