def test_can_create_checklists(self, live_server, firefox, shiftleader, wait): firefox.get("{}".format(live_server.url)) try_to_login_user(firefox, SHIFTLEADER_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Admin Settings") firefox.find_element_by_link_text("Admin Settings").click() firefox.find_element_by_css_selector( "tr.model-checklist > td > a.addlink").click() firefox.find_element_by_id("id_title").clear() firefox.find_element_by_id("id_title").send_keys("Some Checklist") firefox.find_element_by_id("id_identifier").clear() firefox.find_element_by_id("id_identifier").send_keys("general") firefox.find_element_by_id("id_checklistitemgroup_set-0-name").clear() firefox.find_element_by_id( "id_checklistitemgroup_set-0-name").send_keys("First Item Group") firefox.find_element_by_name("_save").click() firefox.find_element_by_link_text("VIEW SITE").click() wait_until(firefox.find_element_by_link_text, "Add Run") firefox.find_element_by_link_text("Add Run").click() wait.until( EC.presence_of_element_located((By.ID, "id_checklist_general"))) labels = firefox.find_elements_by_tag_name("label") assert "Some Checklist Checklist [Show]" in [ label.text for label in labels ]
def test_can_create_type(self, firefox, live_server, shifter, wait): firefox.get("%s" % live_server.url) try_to_login_user(firefox, SHIFTER1_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Add Run").click() wait_until(firefox.find_element_by_id, "id_add_type").click() Select(firefox.find_element_by_id("id_reco")).select_by_visible_text("Express") Select(firefox.find_element_by_id("id_runtype")).select_by_visible_text( "Cosmics" ) Select(firefox.find_element_by_id("id_bfield")).select_by_visible_text("0 T") Select(firefox.find_element_by_id("id_beamtype")).select_by_visible_text( "Cosmics" ) Select(firefox.find_element_by_id("id_beamenergy")).select_by_visible_text( "Cosmics" ) firefox.find_element_by_id("id_dataset").clear() firefox.find_element_by_id("id_dataset").send_keys("/some/dataset") firefox.find_element_by_id("id_submit_type").click() wait_until(firefox.find_element_by_id, "id_submit_add_run") # Make sure the newly created Type appears in the dropdown list wait.until( EC.text_to_be_present_in_element( (By.TAG_NAME, "select"), "Express Cosmics 0 T Cosmics Cosmics /some/dataset", ) )
def test_can_create_reference_runs(self, live_server, firefox, shiftleader): firefox.get("{}".format(live_server.url)) try_to_login_user(firefox, SHIFTLEADER_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Admin Settings") add_some_reference_runs(firefox) firefox.find_element_by_partial_link_text("Logout").click()
def test_can_check_checklists( self, firefox, live_server, shifter, some_checklists, wait ): firefox.get("%s" % live_server.url) try_to_login_user(firefox, SHIFTER1_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Add Run").click() check_all_checklists(firefox, wait)
def test_collisions_int_luminosity_validation( self, website, wait, shifter, legitimate_reference_runs, legitimate_types ): try_to_login_user(website, SHIFTER1_USERNAME, PASSWORD) wait_until(website.find_element_by_link_text, "Add Run").click() wait_until( Select(website.find_element_by_id("id_type")).select_by_visible_text, "Express Collisions 3.8 T Proton-Proton 13 TeV " "/StreamExpress/Run2018A-Express-v1/DQMIO", ) wait_until( Select( website.find_element_by_id("id_reference_run") ).select_by_visible_text, "300100 Express Collisions 3.8 T Proton-Proton 13 TeV " "/StreamExpress/Run2018A-Express-v1/DQMIO", ) website.find_element_by_id("id_int_luminosity").clear() website.find_element_by_id("id_int_luminosity").send_keys("1") with pytest.raises(NoSuchElementException): website.find_element_by_class_name("has-error") with pytest.raises(NoSuchElementException): website.find_element_by_class_name("has-warning") help_text = ( wait_until(website.find_element_by_class_name, "has-success") .find_element_by_class_name("help-block") .text ) assert "" == help_text
def test_incompatible_type( self, website, wait, shifter, legitimate_reference_runs, legitimate_types ): try_to_login_user(website, SHIFTER1_USERNAME, PASSWORD) wait_until(website.find_element_by_link_text, "Add Run").click() wait_until( Select(website.find_element_by_id("id_type")).select_by_visible_text, "Express Cosmics 3.8 T Cosmics Cosmics " "/StreamExpressCosmics/Run2018D-Express-v1/DQMIO", ) wait_until(website.find_element_by_id, "id_match_type").click() wait_until( Select( website.find_element_by_id("id_reference_run") ).select_by_visible_text, "300100 Express Collisions 3.8 T Proton-Proton 13 TeV " "/StreamExpress/Run2018A-Express-v1/DQMIO", ) fill_form_with_data(website) website.find_element_by_id("id_submit_add_run").click() dismiss_alert_popup(website) alert_text = wait_until(website.find_element_by_class_name, "alert").text assert "Reference run is incompatible with selected Type" in alert_text
def test_shift_leader_report_weekly(self, live_server, firefox, shiftleader, wait, runs_for_slr): firefox.get("{}".format(live_server.url)) try_to_login_user(firefox, SHIFTLEADER_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Shift Leader") firefox.find_element_by_link_text("Shift Leader").click() set_shift_leader_filter_date(firefox, "2018", "May", "14", "2018", "May", "20") wait.until(EC.presence_of_element_located((By.ID, "slr-weekly-cert"))) weekly_report = firefox.find_element_by_id("slr-weekly-cert").text assert "Collisions:" in weekly_report assert ("Prompt-Reco: total number=3, Integrated lumi=123133.55" in weekly_report) assert ("BAD runs: total number=3, Integrated lumi=123133.55" in weekly_report) assert ("Stream-Express: total number=8, Integrated lumi=161301.36" in weekly_report) assert "BAD runs: total number=0, Integrated lumi=0" in weekly_report assert "Cosmics:" in weekly_report assert "Prompt-Reco: total number=1" in weekly_report assert "BAD runs: total number=1" in weekly_report assert "Stream-Express: total number=7" in weekly_report assert "BAD runs: total number=2" in weekly_report
def test_can_update_certification( self, website, shifter, legitimate_reference_runs, legitimate_types, some_checklists, wait, ): try_to_login_user(website, SHIFTER1_USERNAME, PASSWORD) wait_until(website.find_element_by_link_text, "Add Run") website.find_element_by_link_text("Add Run").click() check_all_checklists(website, wait) fill_and_submit_add_run_form(website) dismiss_alert_popup(website) wait_until(website.find_element_by_link_text, "Add Run") wait_for_cell(website, "456789", MAX_WAIT=60) website.find_elements_by_class_name("edit_run")[1].find_element_by_tag_name( "a" ).click() wait.until(EC.presence_of_element_located((By.ID, "id_run_number"))) website.find_element_by_id("id_run_number").click() website.find_element_by_id("id_run_number").clear() website.find_element_by_id("id_run_number").send_keys("555789") website.find_element_by_id("id_submit_add_run").click() dismiss_alert_popup(website) wait_until(website.find_element_by_link_text, "Add Run") wait_for_cell(website, "555789", MAX_WAIT=60)
def test_can_go_to_shift_leader_page(self, live_server, firefox, shiftleader, wait): firefox.get("{}".format(live_server.url)) try_to_login_user(firefox, SHIFTLEADER_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Shift Leader") firefox.find_element_by_link_text("Shift Leader").click() wait_until(firefox.find_element_by_link_text, "List of Certified Runs") assert "Shift Leader View" == firefox.find_element_by_tag_name( "h1").text
def test_create_new_certification_without_checking_checklist( self, firefox, live_server, shifter, some_certified_runs, some_checklists, wait ): firefox.get("%s" % live_server.url) try_to_login_user(firefox, SHIFTER1_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Add Run").click() fill_and_submit_add_run_form(firefox) wait_until(firefox.find_element_by_id, "id_submit_add_run") # no submit headline = firefox.find_element_by_tag_name("h1").text assert "Add new Run" in headline # No submit happened
def test_create_new_certification_when_no_checklist_exists( self, firefox, live_server, shifter, some_certified_runs, wait ): firefox.get("%s" % live_server.url) try_to_login_user(firefox, SHIFTER1_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Add Run").click() fill_and_submit_add_run_form(firefox) dismiss_alert_popup(firefox) wait_until(firefox.find_element_by_link_text, "Add Run") wait_for_cell(firefox, "456789", MAX_WAIT=60)
def test_can_view_weekly_certification(self, live_server, firefox, shiftleader, wait): create_recent_run() firefox.get("{}".format(live_server.url)) try_to_login_user(firefox, SHIFTLEADER_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Shift Leader") firefox.find_element_by_link_text("Shift Leader").click() wait.until(EC.presence_of_element_located((By.ID, "slr-weekly-cert"))) weekly_report = firefox.find_element_by_id("slr-weekly-cert").text assert "Weekly Certification" in weekly_report assert "Prompt-Reco: total number=" in weekly_report
def test_shift_leader_checklist(self, live_server, firefox, shiftleader, wait, shiftleader_checklist): create_recent_run() firefox.get("{}".format(live_server.url)) try_to_login_user(firefox, SHIFTLEADER_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Shift Leader") firefox.find_element_by_link_text("Shift Leader").click() wait.until(EC.presence_of_element_located((By.ID, "slr-checklist"))) firefox.find_element_by_link_text("Checklist").click() checklist_text = wait_until(firefox.find_element_by_id, "slr-checklist").text assert "Make sure to do this and that." in checklist_text
def test_login_shifter(self, live_server, firefox, shifter, second_shifter): firefox.get("{}".format(live_server.url)) try_to_login_user(firefox, SHIFTER1_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Logout {}".format(SHIFTER1_USERNAME)) assert "Admin Settings" not in firefox.page_source assert "Shift Leader" not in firefox.page_source firefox.find_element_by_link_text( "Logout {}".format(SHIFTER1_USERNAME)).click() firefox.get("{}".format(live_server.url)) try_to_login_user(firefox, SHIFTER2_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Logout {}".format(SHIFTER2_USERNAME)) firefox.find_element_by_link_text( "Logout {}".format(SHIFTER2_USERNAME)).click() assert "Admin Settings" not in firefox.page_source assert "Shift Leader" not in firefox.page_source
def test_delete_certification(self, live_server, firefox, shiftleader, wait): create_recent_run("123555") firefox.get("{}".format(live_server.url)) try_to_login_user(firefox, SHIFTLEADER_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Shift Leader") firefox.find_element_by_link_text("Shift Leader").click() wait_until(firefox.find_element_by_link_text, "Deleted Certifications") firefox.find_element_by_link_text("Deleted Certifications").click() wait.until( EC.presence_of_element_located((By.CLASS_NAME, "delete_forever"))) deleted_table = firefox.find_element_by_css_selector( "div#deleted-runs > div.table-container > table") assert "123555" not in deleted_table.text firefox.find_element_by_link_text("Certified Runs").click() wait_for_cell(firefox, "123555") table = firefox.find_element_by_css_selector( "div#runtable > div.table-container > table") assert "123555" in table.text firefox.find_elements_by_class_name( "delete_run")[1].find_element_by_tag_name("a").click() wait.until( EC.presence_of_element_located( (By.CSS_SELECTOR, "input + button"))) firefox.find_element_by_css_selector("input + button ").click() wait.until( EC.presence_of_element_located( (By.CSS_SELECTOR, "div#deleted-runs > div.table-container > table"))) table = firefox.find_element_by_css_selector( "div#runtable > div.table-container > table") assert "123555" not in table.text firefox.find_element_by_link_text("Deleted Certifications").click() wait.until( EC.presence_of_element_located((By.CLASS_NAME, "delete_forever"))) deleted_table = firefox.find_element_by_css_selector( "div#deleted-runs > div.table-container > table") assert "123555" in deleted_table.text
def test_shift_leader_no_checklist(self, live_server, firefox, shiftleader, wait): create_recent_run() firefox.get("{}".format(live_server.url)) try_to_login_user(firefox, SHIFTLEADER_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Shift Leader") firefox.find_element_by_link_text("Shift Leader").click() wait.until(EC.presence_of_element_located((By.ID, "slr-checklist"))) firefox.find_element_by_link_text("Checklist").click() checklist_text = wait_until(firefox.find_element_by_id, "slr-checklist").text assert "Make sure to do this and that." not in checklist_text assert "No shift leader checklist found." in checklist_text assert "Please create one in the Admin Settings." in checklist_text assert ('Make sure to set the Checklist "Identifier" to "shiftleader"' in checklist_text) wait_until(firefox.find_element_by_id, "slr-checklist").find_element_by_tag_name("a").click() title = wait_until(firefox.find_element_by_id, "site-name").text assert "Django administration" == title
def test_shift_leader_report_day_by_day(self, live_server, firefox, shiftleader, wait, runs_for_slr): firefox.get("{}".format(live_server.url)) try_to_login_user(firefox, SHIFTLEADER_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Shift Leader") firefox.find_element_by_link_text("Shift Leader").click() set_shift_leader_filter_date(firefox, "2018", "May", "14", "2018", "May", "20") wait.until(EC.presence_of_element_located((By.ID, "slr-weekly-cert"))) firefox.find_element_by_link_text("Day by day").click() firefox.find_element_by_link_text("Monday (2018-05-14)").click() wait_until(firefox.find_element_by_id, "slr-2018-05-14") day_report = firefox.find_element_by_id("slr-2018-05-14").text assert "Collisions: 3 in Stream-Express (5212" in day_report assert ", 1 in Prompt-Reco (1.23" in day_report assert "Cosmics: 3 in Stream Express, 1 in Prompt Reco" in day_report assert "Total number of BAD runs = 3 (1.23" in day_report assert "Number of changed flags from Express to Prompt=0" in day_report
def test_shifter_is_shiftleader_after_login(self, live_server, firefox, shifter, superuser): user = shifter assert not user.is_staff assert not user.is_superuser assert user.userprofile.is_shifter assert not user.userprofile.is_shiftleader firefox.get("{}".format(live_server.url)) try_to_login_user(firefox, superuser.username, PASSWORD) wait_until(firefox.find_element_by_link_text, "Admin Settings") firefox.find_element_by_link_text("Admin Settings").click() wait_until(firefox.find_element_by_link_text, "Social accounts") firefox.find_element_by_link_text("Social accounts").click() assert "0 social accounts" in firefox.page_source wait_until(firefox.find_element_by_link_text, "Home") firefox.find_element_by_link_text("Home").click() wait_until(firefox.find_element_by_link_text, "Users") firefox.find_element_by_link_text("Users").click() wait_until(firefox.find_element_by_link_text, "shifter1") firefox.find_element_by_link_text("shifter1").click() userprofile_text = firefox.find_element_by_id("userprofile-0").text assert "Guest" not in userprofile_text assert "Shifter" in userprofile_text assert "Shift Leader" not in userprofile_text assert "tkdqmdoctor-shifters" in userprofile_text wait_until(firefox.find_element_by_link_text, "LOG OUT") firefox.find_element_by_link_text("LOG OUT").click() extra_data = {"groups": ["tkdqmdoctor-shiftleaders"]} mixer.blend(SocialAccount, user=user, extra_data=extra_data) firefox.get("{}".format(live_server.url)) wait_until(firefox.find_element_by_link_text, "Login") try_to_login_user(firefox, user.username, PASSWORD) wait_until(firefox.find_element_by_link_text, "Logout shifter1") user = User.objects.get(username="******") assert user.is_staff assert not user.is_superuser assert not user.userprofile.is_shifter assert user.userprofile.is_shiftleader firefox.find_element_by_link_text("Logout shifter1").click() firefox.get("{}".format(live_server.url)) try_to_login_user(firefox, superuser.username, PASSWORD) wait_until(firefox.find_element_by_link_text, "Admin Settings") firefox.find_element_by_link_text("Admin Settings").click() firefox.find_element_by_link_text("Social accounts").click() firefox.find_element_by_link_text("shifter1").click() extra_data_text_field = firefox.find_element_by_id( "id_extra_data").text assert "tkdqmdoctor-shiftleaders" in extra_data_text_field firefox.find_element_by_link_text("Home").click() firefox.find_element_by_link_text("Users").click() firefox.find_element_by_link_text("shifter1").click() userprofile_text = firefox.find_element_by_id("userprofile-0").text assert "Guest" not in userprofile_text assert "Shifter" not in userprofile_text assert "Shift Leader" in userprofile_text assert "tkdqmdoctor-shiftleaders" in userprofile_text
def test_no_duplicate_certifications( self, website, wait, shifter, legitimate_reference_runs, legitimate_types ): try_to_login_user(website, SHIFTER1_USERNAME, PASSWORD) wait_until(website.find_element_by_link_text, "Add Run").click() wait_until( Select(website.find_element_by_id("id_type")).select_by_visible_text, "Express Collisions 3.8 T Proton-Proton 13 TeV " "/StreamExpress/Run2018A-Express-v1/DQMIO", ) wait_until( Select( website.find_element_by_id("id_reference_run") ).select_by_visible_text, "300100 Express Collisions 3.8 T Proton-Proton 13 TeV " "/StreamExpress/Run2018A-Express-v1/DQMIO", ) fill_form_with_data(website, {"run_number": 301123}) website.find_element_by_id("id_submit_add_run").click() wait_until(website.find_element_by_link_text, "Add Run").click() wait_until( Select(website.find_element_by_id("id_type")).select_by_visible_text, "Express Collisions 3.8 T Proton-Proton 13 TeV " "/StreamExpress/Run2018A-Express-v1/DQMIO", ) wait_until( Select( website.find_element_by_id("id_reference_run") ).select_by_visible_text, "300101 Express Collisions 3.8 T Proton-Proton 13 TeV " "/StreamExpress/Run2018A-Express-v1/DQMIO", ) fill_form_with_data(website, {"run_number": 301123}) website.find_element_by_id("id_submit_add_run").click() dismiss_alert_popup(website) alert_text = wait_until(website.find_element_by_class_name, "alert").text assert ( "This run (301123, Collisions Express) was already " "certified by shifter1 on " in alert_text ) wait_until( Select( website.find_element_by_id("id_reference_run") ).select_by_visible_text, "300100 Express Collisions 3.8 T Proton-Proton 13 TeV " "/StreamExpress/Run2018A-Express-v1/DQMIO", ) alert_text = website.find_element_by_class_name("alert").text assert ( "This run (301123, Collisions Express) was already " "certified by shifter1 on " in alert_text ) website.find_element_by_id("id_run_number").clear() website.find_element_by_id("id_run_number").send_keys(301124) website.find_element_by_id("id_submit_add_run").click() wait_until(website.find_element_by_link_text, "Add Run")
def test_shift_leader_popup(self, live_server, firefox, admin, wait): firefox.get("{}".format(live_server.url)) try_to_login_user(firefox, ADMIN_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Admin Settings").click() wait_until(firefox.find_element_by_link_text, "Global preferences").click() wait_until(firefox.find_element_by_link_text, "shiftleader__popup_enabled").click() wait_until(firefox.find_element_by_id, "id_raw_value").click() firefox.find_element_by_name("_save").click() wait_until(firefox.find_element_by_link_text, "shiftleader__popup_time_period").click() wait_until(firefox.find_element_by_id, "id_raw_value").clear() wait_until(firefox.find_element_by_id, "id_raw_value").send_keys("1") firefox.find_element_by_name("_save").click() wait_until(firefox.find_element_by_link_text, "VIEW SITE").click() wait_until(firefox.find_element_by_link_text, "Shift Leader").click() wait_until(firefox.find_element_by_tag_name, "h1") time.sleep(2) assert firefox.switch_to_alert( ).text == "Please perform the daily checks" firefox.switch_to_alert().accept() wait_until(firefox.find_element_by_link_text, "List of Certified Runs").click() wait_until(firefox.find_element_by_link_text, "Admin Settings").click() wait_until(firefox.find_element_by_link_text, "Global preferences").click() wait_until(firefox.find_element_by_link_text, "shiftleader__popup_text").click() wait_until(firefox.find_element_by_id, "id_raw_value").clear() wait_until( firefox.find_element_by_id, "id_raw_value").send_keys("Dont forget to do this and that.") firefox.find_element_by_name("_save").click() wait_until(firefox.find_element_by_link_text, "VIEW SITE").click() wait_until(firefox.find_element_by_link_text, "Shift Leader").click() wait_until(firefox.find_element_by_tag_name, "h1") time.sleep(2) assert firefox.switch_to_alert( ).text == "Dont forget to do this and that." firefox.switch_to_alert().accept() wait_until(firefox.find_element_by_link_text, "List of Certified Runs").click() wait_until(firefox.find_element_by_link_text, "Admin Settings").click() wait_until(firefox.find_element_by_link_text, "Global preferences").click() wait_until(firefox.find_element_by_link_text, "shiftleader__popup_enabled").click() wait_until(firefox.find_element_by_id, "id_raw_value").click() firefox.find_element_by_name("_save").click() wait_until(firefox.find_element_by_link_text, "VIEW SITE").click() wait_until(firefox.find_element_by_link_text, "Shift Leader").click() wait_until(firefox.find_element_by_tag_name, "h1") time.sleep(3) with pytest.raises(NoAlertPresentException): firefox.switch_to_alert().accept() wait_until(firefox.find_element_by_link_text, "List of Certified Runs").click() wait_until(firefox.find_element_by_link_text, "Add Run").click()
def test_create_certification_lowstat( self, website, shifter, some_certified_runs, wait ): try_to_login_user(website, SHIFTER1_USERNAME, PASSWORD) wait_until(website.find_element_by_link_text, "Add Run").click() select_types_and_reference_runs_in_form(website) website.find_element_by_id("id_pixel_lowstat").click() website.find_element_by_id("id_sistrip_lowstat").click() website.find_element_by_id("id_tracking_lowstat").click() fill_form_with_data( website, {"pixel": "Bad", "sistrip": "Good", "tracking": "Excluded"} ) website.find_element_by_id("id_submit_add_run").click() dismiss_alert_popup(website) wait_for_cell(website, "456789", MAX_WAIT=60) pixel = website.find_element_by_css_selector("td.pixel").get_attribute( "innerHTML" ) sistrip = website.find_element_by_css_selector("td.sistrip").get_attribute( "innerHTML" ) tracking = website.find_element_by_css_selector("td.tracking").get_attribute( "innerHTML" ) assert "bad-component" in pixel assert "Lowstat" in pixel assert "good-component" in sistrip assert "Lowstat" in sistrip assert "excluded-component" in tracking assert "Excluded" in tracking website.find_elements_by_class_name("edit_run")[1].find_element_by_tag_name( "a" ).click() assert website.find_element_by_id("id_pixel_lowstat").is_selected() assert website.find_element_by_id("id_sistrip_lowstat").is_selected() assert not website.find_element_by_id("id_tracking_lowstat").is_selected() website.find_element_by_id("id_pixel_lowstat").click() website.find_element_by_id("id_sistrip_lowstat").click() website.find_element_by_id("id_submit_add_run").click() dismiss_alert_popup(website) wait_for_cell(website, "456789", MAX_WAIT=60) pixel = website.find_element_by_css_selector("td.pixel").get_attribute( "innerHTML" ) sistrip = website.find_element_by_css_selector("td.sistrip").get_attribute( "innerHTML" ) tracking = website.find_element_by_css_selector("td.tracking").get_attribute( "innerHTML" ) assert "bad-component" in pixel assert "Bad" in pixel assert "Lowstat" not in pixel assert "good-component" in sistrip assert "Good" in sistrip assert "Lowstat" not in pixel assert "excluded-component" in tracking assert "Excluded" in tracking
def test_generate_summary(self, website, shifter, runs_for_summary_report): try_to_login_user(website, SHIFTER1_USERNAME, PASSWORD) wait_until(website.find_element_by_link_text, "Add Run") website.find_element_by_link_text("Generate Summary").click() info_text = website.find_element_by_class_name("alert-info").text assert "Applied filters:" in info_text today = timezone.now().strftime("%Y-%m-%d") assert "Date: {}".format(today) in info_text summary = website.find_element_by_id("summary") assert "=============Reference Runs===============" in summary.text assert ( "300250 Prompt Cosmics 3.8 T Cosmics Cosmics /Cosmics/Run2018D-PromptReco-v2/DQMIO" in summary.text ) assert ( "300200 Express Cosmics 3.8 T Cosmics Cosmics /StreamExpressCosmics/Run2018D-Express-v1/DQMIO" in summary.text ) assert ( "300150 Prompt Collisions 3.8 T Proton-Proton 13 TeV /ZeroBias/Run2018D-PromptReco-v2/DQMIO" in summary.text ) assert ( "300101 Express Collisions 3.8 T Proton-Proton 13 TeV /StreamExpress/Run2018A-Express-v1/DQMIO" in summary.text ) assert "=============Tracker Maps=================" in summary.text assert "Type 1" in summary.text assert "Missing: 300003 300004 300021" in summary.text assert "Exists: 300009 300023" in summary.text assert "Type 2" in summary.text assert "Missing: 300006 300013 300015 300019 300022" in summary.text assert "Exists: 300001 300002 300014 300016 300020" in summary.text assert "Type 3" in summary.text assert "Missing: 300003 300004 300021" in summary.text assert "Exists: 300009 300023" in summary.text assert "Type 4" in summary.text assert "Missing: 300007 300008 300017 300024" in summary.text assert "Exists: 300000 300012" in summary.text assert "=============Certified Runs===============" in summary.text assert "Type 1" in summary.text assert "Bad: 300001 300005 300010 300011 300018" in summary.text assert "Type 2" in summary.text assert ( "Bad: 300001 300002 300006 300013 300014 300016 300019 300020 300022" in summary.text ) assert "Good: 300015" in summary.text assert "Type 3" in summary.text assert "Good: 300003 300009" in summary.text assert "Bad: 300004 300021 300023" in summary.text assert "Type 4" in summary.text assert "Bad: 300000 300008 300012 300017 300024" in summary.text assert "Good: 300007" in summary.text assert ( """ =============Sum of Quantities============ +--------+-----------+------------------------+ | Type 1 | Sum of LS | Sum of int. luminosity | +--------+-----------+------------------------+ | Bad | 3424 | 3534.83""" in summary.text ) assert "| Type 2 | Sum of LS | Sum of int. luminosity |" in summary.text assert "| Bad | 4487 | 5316" in summary.text assert "| Good | 265 | 432" in summary.text assert "| Type 3 | Sum of LS | Sum of int. luminosity |" in summary.text assert "| Good | 708 | 0" in summary.text assert "| Bad | 1015 | 0" in summary.text assert "| Type 4 | Sum of LS | Sum of int. luminosity |" in summary.text assert "| Bad | 2091 | 0" in summary.text assert "| Good | 341 | 0" in summary.text
def test_login_shiftleader(self, live_server, firefox, shiftleader): firefox.get("{}".format(live_server.url)) try_to_login_user(firefox, SHIFTLEADER_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Admin Settings") assert "Admin Settings" in firefox.page_source assert "Shift Leader" in firefox.page_source
def test_shift_leader_report_list_of_run_numbers(self, live_server, firefox, shiftleader, wait): create_runs(2, 1, "Collisions", "Express", good=True, date="2018-05-14") create_runs(2, 6, "Collisions", "Express", good=False, date="2018-05-14") create_runs(2, 10, "Collisions", "Prompt", good=True, date="2018-05-15") create_runs(2, 15, "Collisions", "Prompt", good=False, date="2018-05-15") create_runs(2, 21, "Cosmics", "Express", good=True, date="2018-05-14") create_runs(2, 26, "Cosmics", "Express", good=False, date="2018-05-16") create_runs(2, 30, "Cosmics", "Prompt", good=True, date="2018-05-14") create_runs(2, 35, "Cosmics", "Prompt", good=False, date="2018-05-14") firefox.get("{}".format(live_server.url)) try_to_login_user(firefox, SHIFTLEADER_USERNAME, PASSWORD) wait_until(firefox.find_element_by_link_text, "Shift Leader") firefox.find_element_by_link_text("Shift Leader").click() set_shift_leader_filter_date(firefox, "2018", "May", "14", "2018", "May", "20") wait.until(EC.presence_of_element_located((By.ID, "slr-weekly-cert"))) firefox.find_element_by_link_text("List of runs").click() firefox.find_element_by_link_text("All days").click() wait.until( EC.presence_of_element_located((By.ID, "slr-list-of-runs-all"))) list_of_runs_div = firefox.find_element_by_id( "slr-list-of-runs-all").text assert "List of runs certified StreamExpress" in list_of_runs_div assert "Collisions" in list_of_runs_div assert "Monday: 1, 2, 6, 7" in list_of_runs_div assert "Cosmics" in list_of_runs_div assert "Monday: 21, 22" in list_of_runs_div assert "Wednesday: 26, 27" in list_of_runs_div assert "List of runs certified Prompt" in list_of_runs_div assert "Collisions" in list_of_runs_div assert "Tuesday: 10, 11, 15, 16" in list_of_runs_div assert "Cosmics" in list_of_runs_div assert "Monday: 30, 31, 35, 36" in list_of_runs_div