MaxScale/maxctrl/test/diagnostics.js
Markus Mäkelä f1905d33b1
Fix MaxCtrl list servers test
The test did not expect GTIDs to be displayed.
2018-07-09 12:10:36 +03:00

80 lines
2.1 KiB
JavaScript

require('../test_utils.js')()
var tests = [
'list servers',
'list services',
'list listeners RW-Split-Router',
'list monitors',
'list sessions',
'list filters',
'list modules',
'list users',
'list commands',
'show servers',
'show services',
'show monitors',
'show sessions',
'show filters',
'show modules',
'show maxscale',
'show logging',
'show server server1',
'show service RW-Split-Router',
'show monitor MariaDB-Monitor',
'show session 5',
'show filter Hint',
'show module readwritesplit',
'show maxscale',
'show logging',
'show commands readwritesplit',
]
describe("Diagnostic Commands", function() {
before(startMaxScale)
tests.forEach(function(i) {
it(i, function() {
return doCommand(i)
.should.be.fulfilled
});
})
after(stopMaxScale)
});
describe("MXS-1656: `list servers` with GTIDs", function() {
before(startMaxScale)
doCheck = function() {
return doCommand('list servers --tsv')
.then((res) => {
// Check that at least 5 columns are returned with the last column consisting of
// empty strings. This is because the test setup uses file and position based
// replication.
res = res.split('\n').map(i => i.split('\t')).map(i => i[5])
var pos = _.uniq(res)[0]
if (pos.length) {
pos.should.match(/[0-9]*-[0-9]*-[0-9]*/)
} else {
pos.should.equal('')
}
})
}
it('Lists monitored servers', function() {
return doCheck()
});
it('Lists unmonitored servers', function() {
return doCommand('unlink monitor MariaDB-Monitor server1 server2 server3 server4')
.then(() => doCheck())
});
it('Lists partially monitored servers', function() {
return doCommand('link monitor MariaDB-Monitor server1 server3')
.then(() => doCheck())
});
after(stopMaxScale)
});