Files
MaxScale/maxctrl/test/states.js
Markus Mäkelä aabbf64991 MXS-1300: Add server state manipulation test
The test sets and clears server states and verifies it via the REST
API. It also checks that only correct arguments are accepted.
2017-07-18 11:37:18 +03:00

48 lines
1.4 KiB
JavaScript

require('../test_utils.js')()
describe("Server states", function() {
before(function() {
return startMaxScale()
.then(function() {
return request.put(host + 'monitors/MySQL-Monitor/stop')
})
})
var ctrl = require('../core.js')
var opts = {
extra_args: [ '--quiet']
}
it('set correct state', function() {
return ctrl.execute('set server server2 master'.split(' '), opts)
.then(function() {
return request.get(host + 'servers/server2', {json: true})
})
.then(function(res) {
res.data.attributes.state.should.match(/Master/)
})
})
it('clear correct state', function() {
return ctrl.execute('clear server server2 master'.split(' '), opts)
.then(function() {
return request.get(host + 'servers/server2', {json: true})
})
.then(function(res) {
res.data.attributes.state.should.not.match(/Master/)
})
})
it('set incorrect state', function() {
return ctrl.execute('set server server2 something'.split(' '), opts)
.should.be.rejected
})
it('clear incorrect state', function() {
return ctrl.execute('clear server server2 something'.split(' '), opts)
.should.be.rejected
})
after(stopMaxScale)
});