Markus Mäkelä ccdf1c5679
Improve MaxCtrl test coverage
Added tests that cover areas that weren't tested before.
2018-08-09 12:56:51 +03:00

52 lines
1.4 KiB
JavaScript

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)
});