Improve MaxCtrl test coverage

Added tests that cover areas that weren't tested before.
This commit is contained in:
Markus Mäkelä
2018-08-09 11:16:24 +03:00
parent 1447ac2eb9
commit ccdf1c5679
3 changed files with 78 additions and 0 deletions

51
maxctrl/test/api.js Normal file
View 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)
});