(Fix) Validator license expiration

Relates to https://github.com/poanetwork/poa-test-setup/issues/21
This commit is contained in:
varasev 2018-04-16 14:34:19 +03:00
parent bf6e1c2f35
commit 2be36af0be
4 changed files with 66 additions and 34 deletions

View File

@ -1,4 +1,5 @@
const fs = require('fs');
const utils = require("./utils/utils");
const keythereum = require("keythereum");
const Constants = require("./utils/constants");
const constants = Constants.constants;
@ -30,9 +31,9 @@ let validator_num = args[0];
let files = dir.files(constants.votingKeysFolder, {sync:true});
files = files.filter((file) => {
let isNotGitKeep = path.basename(file) !== path.basename(`${constants.votingKeysFolder}.gitkeep`);
let isNotDsStore = path.basename(file) !== path.basename(`${constants.votingKeysFolder}.DS_Store`);
return isNotGitKeep && isNotDsStore;
let isNotGitKeep = path.basename(file) !== path.basename(`${constants.votingKeysFolder}.gitkeep`);
let isNotDsStore = path.basename(file) !== path.basename(`${constants.votingKeysFolder}.DS_Store`);
return isNotGitKeep && isNotDsStore;
})
const votingKeyPath = files[validator_num - 1];
@ -58,17 +59,17 @@ async function main() {
fs.writeFileSync(`${validatorKeysNodeFolder}/${newMiningKeyAddress}`, JSON.stringify(keyObject));
fs.writeFileSync(`${constants.nodeFolder}parity_validator_4/node.pwd`, password);
let options = new chrome.Options();
let options = new chrome.Options();
options.addExtensions('./MetaMask_v3.14.1.crx');
options.addArguments('start-maximized');
options.addArguments('start-maximized');
options.addArguments('disable-popup-blocking');
let driver = new webdriver.Builder()
.withCapabilities(options.toCapabilities())
.build();
let driver = new webdriver.Builder()
.withCapabilities(options.toCapabilities())
.build();
let wallet = MetaMaskWallet.createMetaMaskWallet(votingKeyPath);
let wallet = MetaMaskWallet.createMetaMaskWallet(votingKeyPath);
let metaMask = new meta.MetaMask(driver, wallet);
let metaMask = new meta.MetaMask(driver, wallet);
let votingPage = await new voting.Voting(driver,votingURL);
metaMask.open();
@ -184,7 +185,13 @@ async function main() {
}
function generateValidatorMetadata() {
let license_expiration = moment(new Date(faker.date.future())).format('DD/MM/YYYY');
let currentYear = (new Date()).getFullYear();
let license_expiration =
utils.leftPad(utils.randomIntInc(1, 12), 2) + '/' +
utils.leftPad(utils.randomIntInc(1, 12), 2) + '/' +
utils.randomIntInc(currentYear + 1, currentYear + 5);
const validatorMetaData = {
full_name: faker.name.findName(),
address: `${faker.address.streetAddress()} ${faker.address.streetName()} ${faker.address.city()}`,

View File

@ -25,9 +25,9 @@ let validator_num = args[0];
let files = dir.files(constants.votingKeysFolder, {sync:true});
files = files.filter((file) => {
let isNotGitKeep = path.basename(file) !== path.basename(`${constants.votingKeysFolder}.gitkeep`);
let isNotDsStore = path.basename(file) !== path.basename(`${constants.votingKeysFolder}.DS_Store`);
return isNotGitKeep && isNotDsStore;
let isNotGitKeep = path.basename(file) !== path.basename(`${constants.votingKeysFolder}.gitkeep`);
let isNotDsStore = path.basename(file) !== path.basename(`${constants.votingKeysFolder}.DS_Store`);
return isNotGitKeep && isNotDsStore;
})
const votingKeyPath = files[validator_num - 1];
@ -44,17 +44,17 @@ console.log(votingKey)*/
main()
async function main() {
let options = new chrome.Options();
let options = new chrome.Options();
options.addExtensions('./MetaMask_v3.14.1.crx');
options.addArguments('start-maximized');
options.addArguments('start-maximized');
options.addArguments('disable-popup-blocking');
let driver = new webdriver.Builder()
.withCapabilities(options.toCapabilities())
.build();
let driver = new webdriver.Builder()
.withCapabilities(options.toCapabilities())
.build();
let wallet = MetaMaskWallet.createMetaMaskWallet(votingKeyPath);
let wallet = MetaMaskWallet.createMetaMaskWallet(votingKeyPath);
let metaMask = new meta.MetaMask(driver, wallet);
let metaMask = new meta.MetaMask(driver, wallet);
let validatorsPage = await new validators.Validators(driver,validatorsURL);
metaMask.open();
@ -132,16 +132,22 @@ async function main() {
}
function generateValidatorMetadata() {
let license_expiration = moment(new Date(faker.date.future())).format('DD/MM/YYYY');
const validatorMetaData = {
first_name: faker.name.firstName(),
last_name: faker.name.lastName(),
address: `${faker.address.streetAddress()} ${faker.address.streetName()} ${faker.address.city()}`,
us_state: faker.address.state(),
zip_code: faker.address.zipCode().split('-')[0],
license_id: faker.random.alphaNumeric(10),
license_expiration: license_expiration
};
let currentYear = (new Date()).getFullYear();
return validatorMetaData;
let license_expiration =
utils.leftPad(utils.randomIntInc(1, 12), 2) + '/' +
utils.leftPad(utils.randomIntInc(1, 12), 2) + '/' +
utils.randomIntInc(currentYear + 1, currentYear + 5);
const validatorMetaData = {
first_name: faker.name.firstName(),
last_name: faker.name.lastName(),
address: `${faker.address.streetAddress()} ${faker.address.streetName()} ${faker.address.city()}`,
us_state: faker.address.state(),
zip_code: faker.address.zipCode().split('-')[0],
license_id: faker.random.alphaNumeric(10),
license_expiration: license_expiration
};
return validatorMetaData;
}

View File

@ -110,7 +110,7 @@ class MetaMask extends page.Page{
super.fillWithWait(fieldNewPass,pass);
super.fillWithWait(fieldConfirmPass,pass);
super.clickWithWait(buttonCreate);
this.driver.sleep(1500);
this.driver.sleep(4000);
// this.driver.findElement(fieldSecretWords).getText().then(console.log);
super.clickWithWait(buttonIveCopied);
this.chooseProvider();

View File

@ -79,11 +79,30 @@ function generateAddress(password) {
})
}
function randomIntInc(low, high) {
return Math.floor(Math.random() * (high - low + 1) + low);
}
function leftPad(str, length) {
str = str == null ? '' : String(str);
length = ~~length;
pad = '';
padLength = length - str.length;
while(padLength--) {
pad += '0';
}
return pad + str;
}
module.exports = {
getSpec,
getABI,
clearFolder,
removeFolderRecursive,
saveToFile,
generateAddress
generateAddress,
randomIntInc,
leftPad
}