State logs e2e (#15123)

* download dir

* state logs e2e

* update ff version
feature/default_network_editable
PeterYinusa 2 years ago committed by GitHub
parent dc780eeeb1
commit 4e1dbc6194
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      .circleci/scripts/firefox-install.sh
  2. 65
      test/e2e/tests/state-logs.spec.js
  3. 3
      test/e2e/webdriver/chrome.js
  4. 5
      test/e2e/webdriver/firefox.js

@ -4,7 +4,7 @@ set -e
set -u
set -o pipefail
FIREFOX_VERSION='83.0'
FIREFOX_VERSION='102.0'
FIREFOX_BINARY="firefox-${FIREFOX_VERSION}.tar.bz2"
FIREFOX_BINARY_URL="https://ftp.mozilla.org/pub/firefox/releases/${FIREFOX_VERSION}/linux-x86_64/en-US/${FIREFOX_BINARY}"
FIREFOX_PATH='/opt/firefox'

@ -0,0 +1,65 @@
const { strict: assert } = require('assert');
const { promises: fs } = require('fs');
const { convertToHexValue, withFixtures } = require('../helpers');
const downloadsFolder = `${process.cwd()}/test-artifacts/downloads`;
const createDownloadFolder = async () => {
await fs.rm(downloadsFolder, { recursive: true, force: true });
await fs.mkdir(downloadsFolder, { recursive: true });
};
const stateLogsExist = async () => {
try {
const stateLogs = `${downloadsFolder}/MetaMask State Logs.json`;
await fs.access(stateLogs);
return true;
} catch (e) {
return false;
}
};
describe('State logs', function () {
const ganacheOptions = {
accounts: [
{
secretKey:
'0x7C9529A67102755B7E6102D6D950AC5D5863C98713805CEC576B945B15B71EAC',
balance: convertToHexValue(25000000000000000000),
},
],
};
it('should download state logs for the account', async function () {
await withFixtures(
{
fixtures: 'imported-account',
ganacheOptions,
title: this.test.title,
failOnConsoleError: false,
},
async ({ driver }) => {
await createDownloadFolder();
await driver.navigate();
await driver.fill('#password', 'correct horse battery staple');
await driver.press('#password', driver.Key.ENTER);
// Download State Logs
await driver.clickElement('.account-menu__icon');
await driver.clickElement({ text: 'Settings', tag: 'div' });
await driver.clickElement({ text: 'Advanced', tag: 'div' });
await driver.clickElement({
text: 'Download State Logs',
tag: 'button',
});
// Verify download
let fileExists;
await driver.wait(async () => {
fileExists = await stateLogsExist();
return fileExists === true;
}, 10000);
assert.equal(fileExists, true);
},
);
});
});

@ -22,6 +22,9 @@ class ChromeDriver {
const options = new chrome.Options().addArguments(args);
options.setProxy(proxy.manual({ https: HTTPS_PROXY_HOST }));
options.setAcceptInsecureCerts(true);
options.setUserPreferences({
'download.default_directory': `${process.cwd()}/test-artifacts/downloads`,
});
const builder = new Builder()
.forBrowser('chrome')
.setChromeOptions(options);

@ -40,6 +40,11 @@ class FirefoxDriver {
const options = new firefox.Options().setProfile(templateProfile);
options.setProxy(proxy.manual({ https: HTTPS_PROXY_HOST }));
options.setAcceptInsecureCerts(true);
options.setPreference('browser.download.folderList', 2);
options.setPreference(
'browser.download.dir',
`${process.cwd()}/test-artifacts/downloads`,
);
const builder = new Builder()
.forBrowser('firefox')
.setFirefoxOptions(options);

Loading…
Cancel
Save