83 lines
2.7 KiB
JavaScript
83 lines
2.7 KiB
JavaScript
require('../test_utils.js')()
|
|
|
|
describe("Library invocation", function() {
|
|
before(startMaxScale)
|
|
|
|
var ctrl = require('../lib/core.js')
|
|
|
|
it('extra options', function() {
|
|
var opts = { extra_args: [ '--quiet'] }
|
|
return ctrl.execute('list servers'.split(' '), opts)
|
|
.should.be.fulfilled
|
|
})
|
|
|
|
it('no options', function() {
|
|
return ctrl.execute('list servers'.split(' '))
|
|
.should.be.fulfilled
|
|
})
|
|
|
|
it('multiple hosts', function() {
|
|
var opts = { extra_args: [ '--quiet', '--hosts', '127.0.0.1:8989', 'localhost:8989'] }
|
|
return ctrl.execute('list servers'.split(' '), opts)
|
|
.should.be.fulfilled
|
|
})
|
|
|
|
it('no hosts', function() {
|
|
var opts = { extra_args: [ '--quiet', '--hosts'] }
|
|
return ctrl.execute('list servers'.split(' '), opts)
|
|
.should.be.rejected
|
|
})
|
|
|
|
it('TSV output', function() {
|
|
var opts = { extra_args: [ '--quiet', '--tsv'] }
|
|
return ctrl.execute('list servers'.split(' '), opts)
|
|
.then(function() {
|
|
return ctrl.execute('show server server1'.split(' '), opts)
|
|
})
|
|
.should.be.fulfilled
|
|
})
|
|
|
|
it('secure mode', function() {
|
|
// The test is run in HTTP mode so a HTTPS request should fail
|
|
var opts = { extra_args: [ '--quiet', '--secure'] }
|
|
return ctrl.execute('list servers'.split(' '), opts)
|
|
.should.be.rejected
|
|
})
|
|
|
|
// These should be last
|
|
it('user credentials', function() {
|
|
var opts1 = { extra_args: [ '--quiet'] }
|
|
var opts2 = { extra_args: [ '--quiet', '--user', 'test', '--password', 'test'] }
|
|
return ctrl.execute('create user test test'.split(' '), opts1)
|
|
.then(function() {
|
|
return ctrl.execute('alter maxscale admin_auth true'.split(' '), opts1)
|
|
})
|
|
.then(function() {
|
|
return ctrl.execute('list servers'.split(' '), opts2)
|
|
})
|
|
.should.be.fulfilled
|
|
})
|
|
|
|
it('reject on bad user credentials', function() {
|
|
var opts = { extra_args: [ '--quiet', '--user', 'not-a-user', '--password', 'not-a-password'] }
|
|
return ctrl.execute('list servers'.split(' '), opts)
|
|
.should.be.rejected
|
|
})
|
|
|
|
it('command help', function() {
|
|
var opts = { extra_args: [ '--quitet'] }
|
|
return ctrl.execute('help list'.split(' '), opts)
|
|
.should.be.fulfilled
|
|
})
|
|
|
|
it('reject on connection failure', function() {
|
|
stopMaxScale()
|
|
.then(function() {
|
|
return ctrl.execute('list servers'.split(' '))
|
|
.should.be.rejected
|
|
})
|
|
})
|
|
|
|
after(stopMaxScale)
|
|
});
|