The test descriptions now describe the expected logical outcome of the test, not the operation being done.
		
			
				
	
	
		
			83 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
require('../test_utils.js')()
 | 
						|
 | 
						|
describe("Library invocation", function() {
 | 
						|
    before(startMaxScale)
 | 
						|
 | 
						|
    var ctrl = require('../lib/core.js')
 | 
						|
 | 
						|
    it('extra options', function() {
 | 
						|
        var opts = { extra_args: [ '--quiet'] }
 | 
						|
        return ctrl.execute('list servers'.split(' '), opts)
 | 
						|
            .should.be.fulfilled
 | 
						|
    })
 | 
						|
 | 
						|
    it('no options', function() {
 | 
						|
        return ctrl.execute('list servers'.split(' '))
 | 
						|
            .should.be.fulfilled
 | 
						|
    })
 | 
						|
 | 
						|
    it('multiple hosts', function() {
 | 
						|
        var opts = { extra_args: [ '--quiet', '--hosts', '127.0.0.1:8989', 'localhost:8989'] }
 | 
						|
        return ctrl.execute('list servers'.split(' '), opts)
 | 
						|
            .should.be.fulfilled
 | 
						|
    })
 | 
						|
 | 
						|
    it('no hosts', function() {
 | 
						|
        var opts = { extra_args: [ '--quiet', '--hosts'] }
 | 
						|
        return ctrl.execute('list servers'.split(' '), opts)
 | 
						|
            .should.be.rejected
 | 
						|
    })
 | 
						|
 | 
						|
    it('TSV output', function() {
 | 
						|
        var opts = { extra_args: [ '--quiet', '--tsv'] }
 | 
						|
        return ctrl.execute('list servers'.split(' '), opts)
 | 
						|
            .then(function() {
 | 
						|
                return ctrl.execute('show server server1'.split(' '), opts)
 | 
						|
            })
 | 
						|
            .should.be.fulfilled
 | 
						|
    })
 | 
						|
 | 
						|
    it('secure mode', function() {
 | 
						|
        // The test is run in HTTP mode so a HTTPS request should fail
 | 
						|
        var opts = { extra_args: [ '--quiet', '--secure'] }
 | 
						|
        return ctrl.execute('list servers'.split(' '), opts)
 | 
						|
            .should.be.rejected
 | 
						|
    })
 | 
						|
 | 
						|
    // These should be last
 | 
						|
    it('user credentials', function() {
 | 
						|
        var opts1 = { extra_args: [ '--quiet'] }
 | 
						|
        var opts2 = { extra_args: [ '--quiet', '--user', 'test', '--password', 'test'] }
 | 
						|
        return ctrl.execute('create user test test'.split(' '), opts1)
 | 
						|
            .then(function() {
 | 
						|
                return ctrl.execute('alter maxscale admin_auth true'.split(' '), opts1)
 | 
						|
            })
 | 
						|
            .then(function() {
 | 
						|
                return ctrl.execute('list servers'.split(' '), opts2)
 | 
						|
            })
 | 
						|
            .should.be.fulfilled
 | 
						|
    })
 | 
						|
 | 
						|
    it('reject on bad user credentials', function() {
 | 
						|
        var opts = { extra_args: [ '--quiet', '--user', 'not-a-user', '--password', 'not-a-password'] }
 | 
						|
        return ctrl.execute('list servers'.split(' '), opts)
 | 
						|
            .should.be.rejected
 | 
						|
    })
 | 
						|
 | 
						|
    it('command help', function() {
 | 
						|
        var opts = { extra_args: [ '--quitet'] }
 | 
						|
        return ctrl.execute('help list'.split(' '), opts)
 | 
						|
            .should.be.fulfilled
 | 
						|
    })
 | 
						|
 | 
						|
    it('reject on connection failure', function() {
 | 
						|
        stopMaxScale()
 | 
						|
            .then(function() {
 | 
						|
                return ctrl.execute('list servers'.split(' '))
 | 
						|
                    .should.be.rejected
 | 
						|
            })
 | 
						|
    })
 | 
						|
 | 
						|
    after(stopMaxScale)
 | 
						|
});
 |