mirror of
https://github.com/ansible/awx.git
synced 2026-02-28 00:08:44 -03:30
Merge pull request #2553 from jakemcdermott/smoke-retry
make new data for each smoke test attempt
This commit is contained in:
@@ -1,20 +1,26 @@
|
|||||||
import uuid from 'uuid';
|
import uuid from 'uuid';
|
||||||
|
|
||||||
const id = uuid().substr(0, 8);
|
const data = {};
|
||||||
|
|
||||||
const INVENTORY_NAME = `inventory-${id}`;
|
const initializeData = () => {
|
||||||
const MACHINE_CREDENTIAL_NAME = `credential-machine-${id}`;
|
const id = uuid().substr(0, 8);
|
||||||
const ORGANIZATION_NAME = `organization-${id}`;
|
|
||||||
const PROJECT_NAME = `project-${id}`;
|
data.INVENTORY_NAME = `inventory-${id}`;
|
||||||
const PROJECT_URL = 'https://github.com/jlaska/ansible-playbooks';
|
data.MACHINE_CREDENTIAL_NAME = `credential-machine-${id}`;
|
||||||
const PROJECT_BRANCH = 'master';
|
data.ORGANIZATION_NAME = `organization-${id}`;
|
||||||
const PLAYBOOK_NAME = 'multivault.yml';
|
data.PROJECT_NAME = `project-${id}`;
|
||||||
const TEMPLATE_NAME = `template-${id}`;
|
data.PROJECT_URL = 'https://github.com/jlaska/ansible-playbooks';
|
||||||
const VAULT_CREDENTIAL_NAME_1 = `credential-vault-${id}-1`;
|
data.PROJECT_BRANCH = 'master';
|
||||||
const VAULT_CREDENTIAL_NAME_2 = `credential-vault-${id}-2`;
|
data.PLAYBOOK_NAME = 'multivault.yml';
|
||||||
|
data.TEMPLATE_NAME = `template-${id}`;
|
||||||
|
data.VAULT_CREDENTIAL_NAME_1 = `credential-vault-${id}-1`;
|
||||||
|
data.VAULT_CREDENTIAL_NAME_2 = `credential-vault-${id}-2`;
|
||||||
|
};
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
'login to awx': client => {
|
'login to awx': client => {
|
||||||
|
initializeData();
|
||||||
|
|
||||||
client.login();
|
client.login();
|
||||||
client.resizeWindow(1200, 800);
|
client.resizeWindow(1200, 800);
|
||||||
client.waitForAngular();
|
client.waitForAngular();
|
||||||
@@ -37,7 +43,7 @@ module.exports = {
|
|||||||
details.waitForElementVisible('@name');
|
details.waitForElementVisible('@name');
|
||||||
details.expect.element('@name').enabled;
|
details.expect.element('@name').enabled;
|
||||||
|
|
||||||
details.setValue('@name', ORGANIZATION_NAME);
|
details.setValue('@name', data.ORGANIZATION_NAME);
|
||||||
|
|
||||||
organizations.waitForElementVisible('@save');
|
organizations.waitForElementVisible('@save');
|
||||||
organizations.expect.element('@save').enabled;
|
organizations.expect.element('@save').enabled;
|
||||||
@@ -65,17 +71,17 @@ module.exports = {
|
|||||||
projects.waitForElementVisible('label[for="organization"] + div input');
|
projects.waitForElementVisible('label[for="organization"] + div input');
|
||||||
projects.waitForElementPresent('label[for="scm_type"] + div > div select option[value="git"]');
|
projects.waitForElementPresent('label[for="scm_type"] + div > div select option[value="git"]');
|
||||||
|
|
||||||
projects.setValue('label[for="name"] + div input', PROJECT_NAME);
|
projects.setValue('label[for="name"] + div input', data.PROJECT_NAME);
|
||||||
projects.clearValue('label[for="organization"] + div input');
|
projects.clearValue('label[for="organization"] + div input');
|
||||||
projects.setValue('label[for="organization"] + div input', ORGANIZATION_NAME);
|
projects.setValue('label[for="organization"] + div input', data.ORGANIZATION_NAME);
|
||||||
projects.click('label[for="scm_type"] + div > div select option[value="git"]');
|
projects.click('label[for="scm_type"] + div > div select option[value="git"]');
|
||||||
|
|
||||||
projects.waitForElementVisible('.sourceSubForm');
|
projects.waitForElementVisible('.sourceSubForm');
|
||||||
projects.waitForElementVisible('label[for="scm_url"] + div input');
|
projects.waitForElementVisible('label[for="scm_url"] + div input');
|
||||||
projects.waitForElementVisible('label[for="scm_branch"] + div input');
|
projects.waitForElementVisible('label[for="scm_branch"] + div input');
|
||||||
|
|
||||||
projects.setValue('label[for="scm_url"] + div input', PROJECT_URL);
|
projects.setValue('label[for="scm_url"] + div input', data.PROJECT_URL);
|
||||||
projects.setValue('label[for="scm_branch"] + div input', PROJECT_BRANCH);
|
projects.setValue('label[for="scm_branch"] + div input', data.PROJECT_BRANCH);
|
||||||
|
|
||||||
projects.expect.element('#project_save_btn').enabled;
|
projects.expect.element('#project_save_btn').enabled;
|
||||||
projects.click('#project_save_btn');
|
projects.click('#project_save_btn');
|
||||||
@@ -84,7 +90,7 @@ module.exports = {
|
|||||||
projects.waitForElementNotVisible('div.spinny');
|
projects.waitForElementNotVisible('div.spinny');
|
||||||
|
|
||||||
projects.expect.element('smart-search input').enabled;
|
projects.expect.element('smart-search input').enabled;
|
||||||
projects.sendKeys('smart-search input', `${PROJECT_NAME}${client.Keys.ENTER}`);
|
projects.sendKeys('smart-search input', `${data.PROJECT_NAME}${client.Keys.ENTER}`);
|
||||||
|
|
||||||
projects.waitForElementVisible('div.spinny');
|
projects.waitForElementVisible('div.spinny');
|
||||||
projects.waitForElementNotVisible('div.spinny');
|
projects.waitForElementNotVisible('div.spinny');
|
||||||
@@ -112,8 +118,8 @@ module.exports = {
|
|||||||
details.expect.element('@name').enabled;
|
details.expect.element('@name').enabled;
|
||||||
details.expect.element('@organization').enabled;
|
details.expect.element('@organization').enabled;
|
||||||
|
|
||||||
details.setValue('@name', INVENTORY_NAME);
|
details.setValue('@name', data.INVENTORY_NAME);
|
||||||
details.setValue('@organization', ORGANIZATION_NAME);
|
details.setValue('@organization', data.ORGANIZATION_NAME);
|
||||||
|
|
||||||
inventories.waitForElementVisible('@save');
|
inventories.waitForElementVisible('@save');
|
||||||
inventories.expect.element('@save').enabled;
|
inventories.expect.element('@save').enabled;
|
||||||
@@ -164,8 +170,8 @@ module.exports = {
|
|||||||
|
|
||||||
details.waitForElementVisible('@save');
|
details.waitForElementVisible('@save');
|
||||||
details.clearAndSelectType('Vault');
|
details.clearAndSelectType('Vault');
|
||||||
details.setValue('@organization', ORGANIZATION_NAME);
|
details.setValue('@organization', data.ORGANIZATION_NAME);
|
||||||
details.setValue('@name', VAULT_CREDENTIAL_NAME_1);
|
details.setValue('@name', data.VAULT_CREDENTIAL_NAME_1);
|
||||||
|
|
||||||
details.section.vault.setValue('@vaultPassword', 'secret1');
|
details.section.vault.setValue('@vaultPassword', 'secret1');
|
||||||
details.section.vault.setValue('@vaultIdentifier', 'first');
|
details.section.vault.setValue('@vaultIdentifier', 'first');
|
||||||
@@ -180,8 +186,8 @@ module.exports = {
|
|||||||
|
|
||||||
details.waitForElementVisible('@save');
|
details.waitForElementVisible('@save');
|
||||||
details.clearAndSelectType('Vault');
|
details.clearAndSelectType('Vault');
|
||||||
details.setValue('@organization', ORGANIZATION_NAME);
|
details.setValue('@organization', data.ORGANIZATION_NAME);
|
||||||
details.setValue('@name', VAULT_CREDENTIAL_NAME_2);
|
details.setValue('@name', data.VAULT_CREDENTIAL_NAME_2);
|
||||||
|
|
||||||
details.section.vault.setValue('@vaultPassword', 'secret2');
|
details.section.vault.setValue('@vaultPassword', 'secret2');
|
||||||
details.section.vault.setValue('@vaultIdentifier', 'second');
|
details.section.vault.setValue('@vaultIdentifier', 'second');
|
||||||
@@ -200,8 +206,8 @@ module.exports = {
|
|||||||
|
|
||||||
details.waitForElementVisible('@save');
|
details.waitForElementVisible('@save');
|
||||||
details.clearAndSelectType('Machine');
|
details.clearAndSelectType('Machine');
|
||||||
details.setValue('@organization', ORGANIZATION_NAME);
|
details.setValue('@organization', data.ORGANIZATION_NAME);
|
||||||
details.setValue('@name', MACHINE_CREDENTIAL_NAME);
|
details.setValue('@name', data.MACHINE_CREDENTIAL_NAME);
|
||||||
|
|
||||||
details.expect.element('@save').enabled;
|
details.expect.element('@save').enabled;
|
||||||
details.click('@save');
|
details.click('@save');
|
||||||
@@ -215,13 +221,13 @@ module.exports = {
|
|||||||
client.navigateTo(templates.url());
|
client.navigateTo(templates.url());
|
||||||
|
|
||||||
templates.selectAdd('Job Template');
|
templates.selectAdd('Job Template');
|
||||||
templates.selectInventory(INVENTORY_NAME);
|
templates.selectInventory(data.INVENTORY_NAME);
|
||||||
templates.selectProject(PROJECT_NAME);
|
templates.selectProject(data.PROJECT_NAME);
|
||||||
templates.selectVaultCredential(VAULT_CREDENTIAL_NAME_1);
|
templates.selectVaultCredential(data.VAULT_CREDENTIAL_NAME_1);
|
||||||
templates.selectVaultCredential(VAULT_CREDENTIAL_NAME_2);
|
templates.selectVaultCredential(data.VAULT_CREDENTIAL_NAME_2);
|
||||||
templates.selectMachineCredential(MACHINE_CREDENTIAL_NAME);
|
templates.selectMachineCredential(data.MACHINE_CREDENTIAL_NAME);
|
||||||
templates.selectPlaybook(PLAYBOOK_NAME);
|
templates.selectPlaybook(data.PLAYBOOK_NAME);
|
||||||
templates.sendKeys('label[for="name"] + div input', TEMPLATE_NAME);
|
templates.sendKeys('label[for="name"] + div input', data.TEMPLATE_NAME);
|
||||||
|
|
||||||
templates.expect.element('#job_template_save_btn').enabled;
|
templates.expect.element('#job_template_save_btn').enabled;
|
||||||
templates.click('#job_template_save_btn');
|
templates.click('#job_template_save_btn');
|
||||||
@@ -238,11 +244,11 @@ module.exports = {
|
|||||||
templates.expect.element('smart-search input').enabled;
|
templates.expect.element('smart-search input').enabled;
|
||||||
|
|
||||||
client.pause(1000).waitForElementNotVisible('div.spinny');
|
client.pause(1000).waitForElementNotVisible('div.spinny');
|
||||||
templates.sendKeys('smart-search input', `${TEMPLATE_NAME}${client.Keys.ENTER}`);
|
templates.sendKeys('smart-search input', `${data.TEMPLATE_NAME}${client.Keys.ENTER}`);
|
||||||
templates.waitForElementVisible('div.spinny');
|
templates.waitForElementVisible('div.spinny');
|
||||||
templates.waitForElementNotVisible('div.spinny');
|
templates.waitForElementNotVisible('div.spinny');
|
||||||
|
|
||||||
templates.sendKeys('smart-search input', `${TEMPLATE_NAME}${client.Keys.ENTER}`);
|
templates.sendKeys('smart-search input', `${data.TEMPLATE_NAME}${client.Keys.ENTER}`);
|
||||||
templates.waitForElementVisible('div.spinny');
|
templates.waitForElementVisible('div.spinny');
|
||||||
templates.waitForElementNotVisible('div.spinny');
|
templates.waitForElementNotVisible('div.spinny');
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user