MaxScale/maxctrl/test/diagnostics.js
Markus Mäkelä a608b95414
MXS-1656: Add simple test case
Test that `list servers` works with both monitored and unmonitored
servers. The test doesn't check that the GTID is present as the test setup
uses file and position based replication.
2018-02-20 09:59:05 +02:00

67 lines
1.7 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 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])
_.uniq(res).should.deep.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)
});