79 lines
2.5 KiB
JavaScript
79 lines
2.5 KiB
JavaScript
/**
|
|
* timeout setting
|
|
* need TEST_HOST TEST_PASS TEST_USER env set
|
|
*/
|
|
|
|
const { _electron: electron } = require('@playwright/test')
|
|
const {
|
|
test: it
|
|
} = require('@playwright/test')
|
|
const { describe } = it
|
|
it.setTimeout(100000)
|
|
const { expect } = require('./common/expect')
|
|
const delay = require('./common/wait')
|
|
const log = require('./common/log')
|
|
const appOptions = require('./common/app-options')
|
|
const extendClient = require('./common/client-extend')
|
|
const { closeApp, setupSshConnection } = require('./common/common')
|
|
|
|
describe('timeout setting', function () {
|
|
it('timeout setting works', async function () {
|
|
const electronApp = await electron.launch(appOptions)
|
|
const client = await electronApp.firstWindow()
|
|
extendClient(client, electronApp)
|
|
await delay(6000)
|
|
|
|
log('0101.timeout-setting.spec.js: set timeout to 100')
|
|
await client.evaluate(() => {
|
|
window.store.setConfig({
|
|
sshReadyTimeout: 100
|
|
})
|
|
})
|
|
await delay(400)
|
|
|
|
const timeout = await client.evaluate(() => {
|
|
return window.store.config.sshReadyTimeout
|
|
})
|
|
await delay(150)
|
|
expect(timeout).equal(100)
|
|
|
|
log('0101.timeout-setting.spec.js: open new ssh and timeout')
|
|
await setupSshConnection(client)
|
|
log('0101.timeout-setting.spec.js: ssh form submitted')
|
|
await delay(5500)
|
|
log('0101.timeout-setting.spec.js: waited after submit')
|
|
const errSel = '.terminal-error-handle .ant-alert-title'
|
|
log('0101.timeout-setting.spec.js: starting error check loop')
|
|
for (let i = 0; i < 25; i++) {
|
|
await delay(500)
|
|
const errExist = await client.elemExist(errSel)
|
|
if (errExist) {
|
|
log('0101.timeout-setting.spec.js: error found at iteration ' + i)
|
|
break
|
|
}
|
|
}
|
|
const txt = await client.getText(errSel)
|
|
log('0101.timeout-setting.spec.js: error text: ' + txt)
|
|
expect(txt.includes('Timed out')).equal(true)
|
|
|
|
log('0101.timeout-setting.spec.js: set timeout to 50000')
|
|
await delay(1500)
|
|
await client.evaluate(() => {
|
|
window.store.setConfig({
|
|
sshReadyTimeout: 50000
|
|
})
|
|
})
|
|
await delay(1555)
|
|
const timeout1 = await client.evaluate(() => {
|
|
return window.store.config.sshReadyTimeout
|
|
})
|
|
await delay(150)
|
|
expect(timeout1).equal(50000)
|
|
log('0101.timeout-setting.spec.js: timeout set to 50000 verified')
|
|
await delay(400)
|
|
log('0101.timeout-setting.spec.js: closing app')
|
|
await closeApp(electronApp, __filename)
|
|
log('0101.timeout-setting.spec.js: app closed')
|
|
})
|
|
})
|