def testRelevantStress(self): self.testname="TestRelevantStress" self.setup() util = WebdriverUtilities() util.setDriver(self.driver) element = Elements() do = Helpers(self) do.setUtils(util) do.login() titleContract = do.getUniqueString("contract") titleClause = do.getUniqueString("clause") print "Contract: " + titleContract print "Clause: " + titleClause # SETUP do.checkMyWorkBox() # show my objects only # Make sure we have at least 20 data assets already if not create them count = do.countOfAnyObjectLHS("Data") diff = 20 - count while diff > 0: id = do.getRandomNumber() do.createObject("Data", "data_" + str(id)) diff = diff - 1 do.delay(5) # Map 20 data assets to Clause do.createObject("Clause", titleClause) expandables = [] do.mapAObjectWidget("Data_Asset", "data_", False, expandables, 20) # Map a clause to contract do.createObject("Contract", titleContract) do.mapAObjectWidget("Clause", titleClause, False, ("Clause"), 1) # expand it do.expandItemWidget("Clause", titleClause) # check the MakeAllRelevant checkbox do.makeAllRelevant(True) do.delay(120) # switch to Data Asset tab do.selectInnerNavTab("data_asset") do.assertEqual(20, do.countOfAnyObjectInWidget("data_asset"), "Count is not 20 in Data Asset Widget.") # just select because it will maintain its expanded mode do.selectInnerNavTab("clause") do.makeAllRelevant(False) do.delay(120) # takes time for the unmapping to complete # switch to Data Asset tab again do.selectInnerNavTab("data_asset") # if MAKE ALL RELEVANT checkbox is deselected, no data asset tab is shown and thus no count is shown either print "Continue to fail until CORE-890 is fixed." do.assertEqual(0, do.countOfAnyObjectInWidget("data_asset"), "Count is not 0 in Data Asset Widget.")
def testDeleteObjects(self): self.testname="TestDeleteObjects" self.setup() util = WebdriverUtilities() util.setDriver(self.driver) element = Elements() grcobject = GRCObject() do = Helpers(self) do.setUtils(util) do.login() for section in ["Regulation", "Objective", "Program", "Contract", "Policy", "Control", "System", "Process", "Data", "Product", "Project", "Facility", "Market", "Group" ]: print "Starting Deletion of Objects for " + section deleted_objects=0 do.ensureLHNSectionExpanded(section) do.checkMyWorkBox() object_left_nav_section_object_link = element.left_nav_expand_object_section_link.replace("OBJECT", section) # enter term to search util.inputTextIntoField("Auto", element.left_nav_search_input_textfield) util.pressEnterKey(element.left_nav_search_input_textfield) left_nav_first_link = element.left_nav_first_object_link_in_the_section.replace("SECTION",section) util.waitForElementToBePresent(left_nav_first_link) lef_nav_objects_for_deletion_in_section = element.left_nav_objects_candidate_for_deletion.replace("SECTION",section ) number_of_auto_objects = do.countOfAnyObjectLHS(section) deleted_objects = number_of_auto_objects - 2 # leave 2 behind while (deleted_objects > 0): do.navigateToObjectAndOpenObjectEditWindow(section,lef_nav_objects_for_deletion_in_section, refresh_page=False) do.deleteObject() deleted_objects = deleted_objects - 1 #LHN collapse after this do.showLHMenu(True) # reopen it object_left_nav_section_object_link = element.left_nav_expand_object_section_link.replace("OBJECT", section) left_nav_first_link = element.left_nav_first_object_link_in_the_section.replace("SECTION",section) util.waitForElementToBePresent(left_nav_first_link) lef_nav_objects_for_deletion_in_section = element.left_nav_objects_candidate_for_deletion.replace("SECTION",section ) print "Finished deletion of objects for " + section + ". " + str(deleted_objects) + " object is left to be deleted."