60 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.7 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 zero integer values', function() {
 | 
						|
        return doCommand('api get servers data[].attributes.statistics.connections --sum')
 | 
						|
            .then((res) => {
 | 
						|
                js = JSON.parse(res)
 | 
						|
                js.should.equal(0)
 | 
						|
            })
 | 
						|
    })
 | 
						|
 | 
						|
    it('sums non-zero integer values', function() {
 | 
						|
        return doCommand('api get --sum maxscale/threads data[].attributes.stats.reads')
 | 
						|
            .then((res) => {
 | 
						|
                js = JSON.parse(res)
 | 
						|
                js.should.be.a('number')
 | 
						|
            })
 | 
						|
    })
 | 
						|
 | 
						|
    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)
 | 
						|
});
 |