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)
示例#2
0
   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)
示例#3
0
    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)
示例#4
0
   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()
示例#5
0
   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())
示例#6
0
   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)
示例#7
0
    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)
示例#8
0
    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)
示例#10
0
 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)
示例#11
0
    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)
示例#12
0
   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))