68 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
		
		
			
		
	
	
			68 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| 
								 | 
							
								const { By, Key, until, Builder } = require('selenium-webdriver')
							 | 
						||
| 
								 | 
							
								require('chromedriver')
							 | 
						||
| 
								 | 
							
								const assert = require('assert')
							 | 
						||
| 
								 | 
							
								const { buildDriver, goToHome, captureScreensFor, teardown, doUntil } = require('../../utils')
							 | 
						||
| 
								 | 
							
								const { openConnection, getConnectionOptions } = require('../../mqtt')
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const LoginPage = require('../../pageobjects/LoginPage')
							 | 
						||
| 
								 | 
							
								const OverviewPage = require('../../pageobjects/OverviewPage')
							 | 
						||
| 
								 | 
							
								const ConnectionsPage = require('../../pageobjects/ConnectionsPage');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								describe('List MQTT connections', function () {
							 | 
						||
| 
								 | 
							
								  let login
							 | 
						||
| 
								 | 
							
								  let overview
							 | 
						||
| 
								 | 
							
								  let captureScreen
							 | 
						||
| 
								 | 
							
								  let mqttClient 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  before(async function () {
							 | 
						||
| 
								 | 
							
								    driver = buildDriver()
							 | 
						||
| 
								 | 
							
								    await goToHome(driver)
							 | 
						||
| 
								 | 
							
								    login = new LoginPage(driver)
							 | 
						||
| 
								 | 
							
								    overview = new OverviewPage(driver)
							 | 
						||
| 
								 | 
							
								    connectionsPage = new ConnectionsPage(driver)
							 | 
						||
| 
								 | 
							
								    captureScreen = captureScreensFor(driver, __filename)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    await login.login('management', 'guest')
							 | 
						||
| 
								 | 
							
								    if (!await overview.isLoaded()) {
							 | 
						||
| 
								 | 
							
								      throw new Error('Failed to login')
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								     
							 | 
						||
| 
								 | 
							
								  })
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  it('mqtt 5.0 connection', async function () {
							 | 
						||
| 
								 | 
							
								    mqttClient = openConnection(getConnectionOptions())
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    let connected = new Promise((resolve, reject) => {
							 | 
						||
| 
								 | 
							
								      mqttClient.on('error', function(err) {
							 | 
						||
| 
								 | 
							
								        reject(err)
							 | 
						||
| 
								 | 
							
								        assert.fail("Mqtt connection failed due to " + err)        
							 | 
						||
| 
								 | 
							
								      }),
							 | 
						||
| 
								 | 
							
								      mqttClient.on('connect', function(err2) {
							 | 
						||
| 
								 | 
							
								        resolve("ok")                
							 | 
						||
| 
								 | 
							
								      })
							 | 
						||
| 
								 | 
							
								    })    
							 | 
						||
| 
								 | 
							
								    assert.equal("ok", await connected)
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    try {
							 | 
						||
| 
								 | 
							
								      await overview.clickOnConnectionsTab()
							 | 
						||
| 
								 | 
							
								      
							 | 
						||
| 
								 | 
							
								      let table = await doUntil(async function() {       
							 | 
						||
| 
								 | 
							
								        return connectionsPage.getConnectionsTable()
							 | 
						||
| 
								 | 
							
								      }, function(table) { 
							 | 
						||
| 
								 | 
							
								        return table.length > 0
							 | 
						||
| 
								 | 
							
								      }, 6000)
							 | 
						||
| 
								 | 
							
								      assert.equal(table[0][5], "MQTT 5-0")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    } finally {
							 | 
						||
| 
								 | 
							
								      if (mqttClient) mqttClient.end()
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  })
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  after(async function () {    
							 | 
						||
| 
								 | 
							
								    await teardown(driver, this, captureScreen)
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								  })
							 | 
						||
| 
								 | 
							
								})
							 |