Update tests

This commit is contained in:
Girish Ramakrishnan 2023-06-03 10:26:21 +02:00
parent f9c0870c59
commit ed8e041180
3 changed files with 24 additions and 42 deletions

45
test/package-lock.json generated
View File

@ -9,11 +9,10 @@
"version": "1.0.0", "version": "1.0.0",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"chromedriver": "^112.0.1", "chromedriver": "^114.0.1",
"delay": "^5.0.0",
"expect.js": "^0.3.1", "expect.js": "^0.3.1",
"mocha": "^10.2.0", "mocha": "^10.2.0",
"selenium-webdriver": "^4.9.0", "selenium-webdriver": "^4.9.2",
"superagent": "^8.0.9" "superagent": "^8.0.9"
} }
}, },
@ -229,9 +228,9 @@
} }
}, },
"node_modules/chromedriver": { "node_modules/chromedriver": {
"version": "112.0.1", "version": "114.0.1",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-112.0.1.tgz", "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-114.0.1.tgz",
"integrity": "sha512-ieQzvellbtPY4MUrFzzayC1bZa/HoBsGXejUQJhAPWcYALxtkjUZNUYWbojMjIzf8iIhVda9VvdXiRKqdlN7ow==", "integrity": "sha512-Srkyt7xv+RL9aSNVkmARm0tAfw84fIBKge9c1MCTiHfW0tjuNFdhKVlgD0TmPmwSKOeFJrTdd1Flf2hGWWKsUw==",
"hasInstallScript": true, "hasInstallScript": true,
"dependencies": { "dependencies": {
"@testim/chrome-version": "^1.1.3", "@testim/chrome-version": "^1.1.3",
@ -383,17 +382,6 @@
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
}, },
"node_modules/delay": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz",
"integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/delayed-stream": { "node_modules/delayed-stream": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@ -1202,9 +1190,9 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
}, },
"node_modules/selenium-webdriver": { "node_modules/selenium-webdriver": {
"version": "4.9.0", "version": "4.9.2",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.9.0.tgz", "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.9.2.tgz",
"integrity": "sha512-QGaPoREo7sgOVhTiAvCasoi1f4ruTaJDtp0RKNFIbfyns5smK5+iCwnRTIPXb0R3CAYdaqUXd6BHduh37DorzQ==", "integrity": "sha512-0gDswAgVn6qbCYckZetQQvQK9tWW1r7LaumhiqY1/Wl/7JEWG0JANsTbZKnmGc3+cUU76zAi5/p0P8LUweXlig==",
"dependencies": { "dependencies": {
"jszip": "^3.10.1", "jszip": "^3.10.1",
"tmp": "^0.2.1", "tmp": "^0.2.1",
@ -1720,9 +1708,9 @@
} }
}, },
"chromedriver": { "chromedriver": {
"version": "112.0.1", "version": "114.0.1",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-112.0.1.tgz", "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-114.0.1.tgz",
"integrity": "sha512-ieQzvellbtPY4MUrFzzayC1bZa/HoBsGXejUQJhAPWcYALxtkjUZNUYWbojMjIzf8iIhVda9VvdXiRKqdlN7ow==", "integrity": "sha512-Srkyt7xv+RL9aSNVkmARm0tAfw84fIBKge9c1MCTiHfW0tjuNFdhKVlgD0TmPmwSKOeFJrTdd1Flf2hGWWKsUw==",
"requires": { "requires": {
"@testim/chrome-version": "^1.1.3", "@testim/chrome-version": "^1.1.3",
"axios": "^1.2.1", "axios": "^1.2.1",
@ -1837,11 +1825,6 @@
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
}, },
"delay": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz",
"integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw=="
},
"delayed-stream": { "delayed-stream": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@ -2417,9 +2400,9 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
}, },
"selenium-webdriver": { "selenium-webdriver": {
"version": "4.9.0", "version": "4.9.2",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.9.0.tgz", "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.9.2.tgz",
"integrity": "sha512-QGaPoREo7sgOVhTiAvCasoi1f4ruTaJDtp0RKNFIbfyns5smK5+iCwnRTIPXb0R3CAYdaqUXd6BHduh37DorzQ==", "integrity": "sha512-0gDswAgVn6qbCYckZetQQvQK9tWW1r7LaumhiqY1/Wl/7JEWG0JANsTbZKnmGc3+cUU76zAi5/p0P8LUweXlig==",
"requires": { "requires": {
"jszip": "^3.10.1", "jszip": "^3.10.1",
"tmp": "^0.2.1", "tmp": "^0.2.1",

View File

@ -9,11 +9,10 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"chromedriver": "^112.0.1", "chromedriver": "^114.0.1",
"delay": "^5.0.0",
"expect.js": "^0.3.1", "expect.js": "^0.3.1",
"mocha": "^10.2.0", "mocha": "^10.2.0",
"selenium-webdriver": "^4.9.0", "selenium-webdriver": "^4.9.2",
"superagent": "^8.0.9" "superagent": "^8.0.9"
} }
} }

View File

@ -11,12 +11,12 @@
require('chromedriver'); require('chromedriver');
const delay = require('delay'), const execSync = require('child_process').execSync,
execSync = require('child_process').execSync,
expect = require('expect.js'), expect = require('expect.js'),
fs = require('fs'), fs = require('fs'),
path = require('path'), path = require('path'),
superagent = require('superagent'), superagent = require('superagent'),
timers = require('timers/promises'),
{ Builder, By, until } = require('selenium-webdriver'), { Builder, By, until } = require('selenium-webdriver'),
{ Options } = require('selenium-webdriver/chrome'); { Options } = require('selenium-webdriver/chrome');
@ -56,7 +56,7 @@ describe('Application life cycle test', function () {
await browser.findElement(By.id('secretKey')).sendKeys(secretKey); await browser.findElement(By.id('secretKey')).sendKeys(secretKey);
await browser.findElement(By.xpath('//button[@id="do-login"]')).click(); await browser.findElement(By.xpath('//button[@id="do-login"]')).click();
await waitForElement(By.xpath('//span[contains(text(), "Buckets")]')); await waitForElement(By.xpath('//span[contains(text(), "Buckets")]'));
await delay(5000); await timers.setTimeout(5000);
} }
async function logout() { async function logout() {
@ -76,7 +76,7 @@ describe('Application life cycle test', function () {
await browser.findElement(By.xpath('//input[@id="bucket-name"]')).sendKeys(BUCKET); await browser.findElement(By.xpath('//input[@id="bucket-name"]')).sendKeys(BUCKET);
await browser.findElement(By.xpath('//button[@id="create-bucket"]')).click(); await browser.findElement(By.xpath('//button[@id="create-bucket"]')).click();
await waitForElement(By.xpath(`//h1[contains(text(), "${BUCKET}")]`)); await waitForElement(By.xpath(`//h1[contains(text(), "${BUCKET}")]`));
await delay(5000); await timers.setTimeout(5000);
} }
async function checkBucket() { async function checkBucket() {
@ -99,7 +99,7 @@ describe('Application life cycle test', function () {
xit('build app', function () { execSync('cloudron build', EXEC_ARGS); }); xit('build app', function () { execSync('cloudron build', EXEC_ARGS); });
it('install app', async function () { it('install app', async function () {
execSync(`cloudron install --location ${LOCATION} --secondary-domains API_SERVER_DOMAIN=${LOCATION}-api`, EXEC_ARGS); execSync(`cloudron install --location ${LOCATION} --secondary-domains API_SERVER_DOMAIN=${LOCATION}-api`, EXEC_ARGS);
await delay(10000); await timers.setTimeout(10000);
}); });
it('can get app information', getAppInfo); it('can get app information', getAppInfo);
@ -118,7 +118,7 @@ describe('Application life cycle test', function () {
fs.writeFileSync('/tmp/env.sh', data); fs.writeFileSync('/tmp/env.sh', data);
execSync(`cloudron push --app ${app.id} /tmp/env.sh /app/data/env.sh`, EXEC_ARGS); execSync(`cloudron push --app ${app.id} /tmp/env.sh /app/data/env.sh`, EXEC_ARGS);
execSync(`cloudron restart --app ${app.id}`, EXEC_ARGS); execSync(`cloudron restart --app ${app.id}`, EXEC_ARGS);
await delay(10000); await timers.setTimeout(10000);
}); });
it('can restart app', function () { execSync(`cloudron restart --app ${app.id}`, EXEC_ARGS); }); it('can restart app', function () { execSync(`cloudron restart --app ${app.id}`, EXEC_ARGS); });
@ -136,7 +136,7 @@ describe('Application life cycle test', function () {
execSync('cloudron install --location ' + LOCATION, EXEC_ARGS); execSync('cloudron install --location ' + LOCATION, EXEC_ARGS);
getAppInfo(); getAppInfo();
execSync(`cloudron restore --backup ${backups[0].id} --app ${app.id}`, EXEC_ARGS); execSync(`cloudron restore --backup ${backups[0].id} --app ${app.id}`, EXEC_ARGS);
await delay(10000); await timers.setTimeout(10000);
}); });
it('can login', login.bind(null, 'minioakey', 'minioskey')); it('can login', login.bind(null, 'minioakey', 'minioskey'));
@ -148,7 +148,7 @@ describe('Application life cycle test', function () {
it('move to different location', async function () { it('move to different location', async function () {
browser.manage().deleteAllCookies(); browser.manage().deleteAllCookies();
execSync('cloudron configure --location ' + LOCATION + '2', EXEC_ARGS); execSync('cloudron configure --location ' + LOCATION + '2', EXEC_ARGS);
await delay(10000); await timers.setTimeout(10000);
}); });
it('can get app information', getAppInfo); it('can get app information', getAppInfo);