 5b45796da4
			
		
	
	5b45796da4
	
	
	
		
			
			Code coverage revealed that some parts of the code could be easily tested. Added these missing test cases and removed some dead code.
		
			
				
	
	
		
			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)
 | |
| });
 |