MaxScale/maxctrl/test/diagnostics.js
Markus Mäkelä 4b8393b2ee
MXS-2196: Fix most NPM unit test failures
The REST API and MaxCtrl tests relied upon the implicit sessions that were
created by the listeners. This can be corrected and improved by creating
an actual connection to MaxScale to check that a client session is indeed
created.
2018-12-04 11:50:43 +02:00

83 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',
'list threads',
'show servers',
'show services',
'show monitors',
'show sessions',
'show filters',
'show modules',
'show maxscale',
'show logging',
'show threads',
'show thread 0',
'show server server1',
'show service RW-Split-Router',
'show monitor MariaDB-Monitor',
'show sessions',
'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)
});