Improve MaxCtrl test coverage
Added tests that cover areas that weren't tested before.
This commit is contained in:
parent
1447ac2eb9
commit
ccdf1c5679
51
maxctrl/test/api.js
Normal file
51
maxctrl/test/api.js
Normal file
@ -0,0 +1,51 @@
|
||||
require('../test_utils.js')()
|
||||
|
||||
describe("API", function() {
|
||||
before(startMaxScale)
|
||||
|
||||
it('gets resource', function() {
|
||||
return doCommand('api get servers')
|
||||
.should.be.fulfilled
|
||||
})
|
||||
|
||||
it('gets resource with path', function() {
|
||||
return doCommand('api get servers data[0].id')
|
||||
.then((res) => {
|
||||
js = JSON.parse(res)
|
||||
js.should.equal("server1")
|
||||
})
|
||||
})
|
||||
|
||||
it('sums integer values', function() {
|
||||
return doCommand('api get servers data[].attributes.statistics.connections --sum')
|
||||
.then((res) => {
|
||||
js = JSON.parse(res)
|
||||
js.should.equal(0)
|
||||
})
|
||||
})
|
||||
|
||||
it('does not sum string values', function() {
|
||||
return doCommand('api get servers data[].id --sum')
|
||||
.then((res) => {
|
||||
js = JSON.parse(res)
|
||||
js.should.deep.equal(["server1", "server2", "server3", "server4"])
|
||||
})
|
||||
})
|
||||
|
||||
it('does not sum objects', function() {
|
||||
return doCommand('api get servers --sum')
|
||||
.should.be.fulfilled
|
||||
})
|
||||
|
||||
it('does not sum undefined objects', function() {
|
||||
return doCommand('api get servers asdf --sum')
|
||||
.should.be.fulfilled
|
||||
})
|
||||
|
||||
it('ignores unknown command', function() {
|
||||
return doCommand('api upgrade')
|
||||
.should.be.rejected
|
||||
})
|
||||
|
||||
after(stopMaxScale)
|
||||
});
|
19
maxctrl/test/drain.js
Normal file
19
maxctrl/test/drain.js
Normal file
@ -0,0 +1,19 @@
|
||||
require('../test_utils.js')()
|
||||
|
||||
describe("Draining servers", function() {
|
||||
before(startMaxScale)
|
||||
|
||||
it('drains server', function() {
|
||||
return doCommand('drain server server1')
|
||||
.should.be.fulfilled
|
||||
})
|
||||
|
||||
it('checks server is in maintenance', function() {
|
||||
// The maintenance state isn't set instantly
|
||||
return sleepFor(2000)
|
||||
.then(() => doCommand('api get servers/server1 data.attributes.state'))
|
||||
.should.eventually.have.string("Maintenance")
|
||||
})
|
||||
|
||||
after(stopMaxScale)
|
||||
});
|
@ -88,4 +88,12 @@ module.exports = function() {
|
||||
return request.get(host + resource, {json: true})
|
||||
})
|
||||
};
|
||||
|
||||
this.sleepFor = function(time) {
|
||||
return new Promise((resolve, reject) => {
|
||||
var timer = setInterval(() => {
|
||||
resolve()
|
||||
}, time)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user