def test_autostartCheckbox(self): print('=== Autostart Checkbox test ===') print('ref Issues : #182') ruleNumber = 0 print(' Verify initial state') rulesTable = dashboard.automation.waitRulesTableHasNRules( self.browser, 1) self.assertFalse( dashboard.automation.getRuleAutoStartState(rulesTable, ruleNumber)) print(' Uncheck the box') dashboard.automation.getRuleAutoStart(rulesTable, ruleNumber).click() tools.waitUntil(lambda: dashboard.automation.getRuleAutoStartState( rulesTable, ruleNumber) is True) print(' Reload page and check box state') dashboard.openSummary(self.browser) dashboard.openAutomation(self.browser) rulesTable = dashboard.automation.waitRulesTableHasNRules( self.browser, 1) tools.waitUntil(lambda: dashboard.automation.getRuleAutoStartState( rulesTable, ruleNumber) is True) print(' Check the box') dashboard.automation.getRuleAutoStart(rulesTable, ruleNumber).click() tools.waitUntil(lambda: dashboard.automation.getRuleAutoStartState( rulesTable, ruleNumber) is False) print(' Reload page and check box state') dashboard.openAutomation(self.browser) tools.waitUntil(lambda: dashboard.automation.getRuleAutoStartState( rulesTable, ruleNumber) is False)
def doTest(self, ruleName, ruleDescription, ruleCode, checkRuleFct): print 'Open rules dashboard' dashboard.open(self.browser) dashboard.openAutomation(self.browser) print 'Create new rule' tools.waitUntil(lambda: dashboard.automation.getCreateRuleButton(self.browser).is_enabled()) dashboard.automation.getCreateRuleButton(self.browser).click() newRuleModal = dashboard.automation.waitNewRuleModal(self.browser) print 'Select code' newRuleModal.getEditorSelectionButton('code').click() print 'Configure rule' editRuleModal = dashboard.automation.waitEditRuleModal(self.browser) print ' Set rule name' editRuleModal.setRuleName(ruleName) print ' Set rule description' editRuleModal.setRuleDescription(ruleDescription) print ' Set rule code' editRuleModal.getRuleCodeEditor().clear() editRuleModal.getRuleCodeEditor().writeCode(ruleCode) print 'Confirm' editRuleModal.ok() print 'Check created rule' checkRuleFct(ruleName, ruleDescription, ruleCode)
def doTest(self, ruleName, ruleDescription, ruleCode, checkRuleFct): print 'Open rules dashboard' dashboard.open(self.browser) dashboard.openAutomation(self.browser) print 'Create new rule' tools.waitUntil(lambda: dashboard.automation.getCreateRuleButton( self.browser).is_enabled()) dashboard.automation.getCreateRuleButton(self.browser).click() newRuleModal = dashboard.automation.waitNewRuleModal(self.browser) print 'Select code' newRuleModal.getEditorSelectionButton('code').click() print 'Configure rule' editRuleModal = dashboard.automation.waitEditRuleModal(self.browser) print ' Set rule name' editRuleModal.setRuleName(ruleName) print ' Set rule description' editRuleModal.setRuleDescription(ruleDescription) print ' Set rule code' editRuleModal.getRuleCodeEditor().clear() editRuleModal.getRuleCodeEditor().writeCode(ruleCode) print 'Confirm' editRuleModal.ok() print 'Check created rule' checkRuleFct(ruleName, ruleDescription, ruleCode)
def test_viewLogRunningRule(self): print '=== view log of running rule test ===' print ' Open rules dashboard' dashboard.open(self.browser) dashboard.openAutomation(self.browser) ruleNumber = 0 print ' Start the rule' rulesTable = dashboard.automation.waitRulesTableHasNRules(self.browser, 1) tools.waitUntil(lambda: dashboard.automation.getRuleStartStopButton(rulesTable, ruleNumber).is_enabled()) dashboard.automation.getRuleStartStopButton(rulesTable, ruleNumber).click() WebDriverWait(self.browser, 10).until(lambda browser: dashboard.automation.getRuleState(rulesTable, ruleNumber) is dashboard.automation.RuleState.Running) print ' View log' dashboard.automation.getRuleLogButton(rulesTable, ruleNumber).click() print ' Check log' logModal = dashboard.automation.waitLogRuleModal(self.browser) self.assertIsNotNone(re.match(r'.*#### START ####.*', logModal.getLogContent(), re.DOTALL)) print ' Clear log' logModal.getClearButton().click() confirmationModal = modals.waitOkCancelModal(self.browser) confirmationModal.ok() print ' Reopen log modal' dashboard.automation.getRuleLogButton(rulesTable, ruleNumber).click() self.assertIsNone(re.match(r'.*#### START ####.*', logModal.getLogContent(), re.DOTALL)) print ' Close log modal' logModal.getConfirmButton().click()
def test_startStopRule(self): print '=== start/stop rule test ===' print ' Open rules dashboard' dashboard.open(self.browser) dashboard.openAutomation(self.browser) ruleNumber = 0 print ' Get rule table' rulesTable = dashboard.automation.waitRulesTableHasNRules(self.browser, 1) startStopButton = dashboard.automation.getRuleStartStopButton(rulesTable, ruleNumber) self.assertEqual(dashboard.automation.getRuleState(rulesTable, ruleNumber), dashboard.automation.RuleState.Stopped) self.assertFalse(dashboard.automation.getRuleAutoStart(rulesTable, ruleNumber)) print ' Start rule' self.assertTrue(tools.waitUntil(lambda: startStopButton.is_enabled())) startStopButton.click() WebDriverWait(self.browser, 10).until(lambda driver: dashboard.automation.getRuleState(rulesTable, ruleNumber) is dashboard.automation.RuleState.Running and startStopButton.is_enabled()) print ' Stop rule' self.assertTrue(tools.waitUntil(lambda: startStopButton.is_enabled())) startStopButton.click() WebDriverWait(self.browser, 10).until(lambda driver: dashboard.automation.getRuleState(rulesTable, ruleNumber) is dashboard.automation.RuleState.Stopped and startStopButton.is_enabled())
def test_dontConfirmRemoveRule(self): print '=== Don\'t confirm remove rule test ===' # Wait startup notifications are closed self.assertTrue(tools.waitUntil(lambda: notification.noNotification(self.browser))) print ' Open rules dashboard' dashboard.open(self.browser) dashboard.openAutomation(self.browser) ruleNumber = 0 print ' Get rule table' rulesTable = dashboard.automation.waitRulesTableHasNRules(self.browser, 1) removeButton = dashboard.automation.getRuleRemoveButton(rulesTable, ruleNumber) self.assertEqual(dashboard.automation.getRuleState(rulesTable, ruleNumber), dashboard.automation.RuleState.Stopped) print ' Remove rule' removeButton.click() confirmationModal = dashboard.automation.waitRemoveRuleConfirmationModal(self.browser) print ' Cancel' confirmationModal.cancel() print ' Expect no notification' self.assertTrue(notification.noNotification(self.browser)) print ' Expect no change in rule table' self.assertEqual(dashboard.automation.getRuleNumberInTable(self.browser, rulesTable), 1)
def test_dontConfirmRemoveRule(self): print('=== Don\'t confirm remove rule test ===') # Wait startup notifications are closed self.assertTrue( tools.waitUntil(lambda: notification.noNotification(self.browser))) print(' Open rules dashboard') dashboard.open(self.browser) dashboard.openAutomation(self.browser) ruleNumber = 0 print(' Get rule table') rulesTable = dashboard.automation.waitRulesTableHasNRules( self.browser, 1) removeButton = dashboard.automation.getRuleRemoveButton( rulesTable, ruleNumber) self.assertEqual( dashboard.automation.getRuleState(rulesTable, ruleNumber), dashboard.automation.RuleState.Stopped) print(' Remove rule') removeButton.click() confirmationModal = modals.waitOkCancelModal(self.browser) print(' Cancel') confirmationModal.cancel() print(' Expect no notification') self.assertTrue(notification.noNotification(self.browser)) print(' Expect no change in rule table') self.assertEqual( dashboard.automation.getRuleNumberInTable(self.browser, rulesTable), 1)
def doTest_removeRule(self, initialConditionsFct): print(' Open rules dashboard') dashboard.open(self.browser) dashboard.openAutomation(self.browser) ruleNumber = 0 print(' Get rule table') rulesTable = dashboard.automation.waitRulesTableHasNRules( self.browser, 1) removeButton = dashboard.automation.getRuleRemoveButton( rulesTable, ruleNumber) initialConditionsFct(rulesTable, ruleNumber) print(' Remove rule') removeButton.click() confirmationModal = modals.waitOkCancelModal(self.browser) confirmationModal.ok() print(' Expect notification') notification.waitText( self.browser, notification.Type.Success, i18n.get()["modals"]["dashboard"]["sub-windows"] ["automation-center"]["ruleDeleted"]) print(' Check table was updated') self.assertTrue( tools.waitUntil( lambda: dashboard.automation.getRuleNumberInTable( self.browser, rulesTable) == 0, 5))
def setUp(self): yadomsServer.ensureStopped() database.deploy('OneStoppedRule') config.deploy("nominal") self.serverProcess = yadomsServer.start() self.browser = webdriver.Chrome() self.browser.implicitly_wait(10) yadomsServer.openClient(self.browser) # Open rules dashboard dashboard.open(self.browser) dashboard.openAutomation(self.browser)
def setUp(self): database.deploy('OneStoppedRule') config.deploy("nominal") scripts.deploy(["DisplayServerVersion"]) self.serverProcess = yadomsServer.start() self.browser = webdriver.Firefox() self.browser.implicitly_wait(10) yadomsServer.openClient(self.browser) # Open rules dashboard dashboard.open(self.browser) dashboard.openAutomation(self.browser)
def setUp(self): yadomsServer.ensureStopped() database.deploy('OneStoppedRule') config.deploy("nominal") scripts.deploy(["DisplayServerVersion"]) self.serverProcess = yadomsServer.start() self.browser = webdriver.Chrome( options=tools.ChromeOptionsHelper.get()) self.browser.implicitly_wait(10) yadomsServer.openClient(self.browser) # Open rules dashboard dashboard.open(self.browser) dashboard.openAutomation(self.browser)
def doTest_removeRule(self, initialConditionsFct): print ' Open rules dashboard' dashboard.open(self.browser) dashboard.openAutomation(self.browser) ruleNumber = 0 print ' Get rule table' rulesTable = dashboard.automation.waitRulesTableHasNRules(self.browser, 1) removeButton = dashboard.automation.getRuleRemoveButton(rulesTable, ruleNumber) initialConditionsFct(rulesTable, ruleNumber) print ' Remove rule' removeButton.click() confirmationModal = dashboard.automation.waitRemoveRuleConfirmationModal(self.browser) confirmationModal.ok() print ' Expect notification' notification.waitText(self.browser, notification.Type.Success, i18n.get()["modals"]["dashboard"]["sub-windows"]["automation-center"]["ruleDeleted"]) print ' Check table was updated' self.assertTrue(tools.waitUntil(lambda: dashboard.automation.getRuleNumberInTable(self.browser, rulesTable) == 0, 5))