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