Beispiel #1
0
    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
        ]
Beispiel #2
0
 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()
Beispiel #3
0
 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)
Beispiel #4
0
    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
Beispiel #5
0
 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
Beispiel #6
0
    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
Beispiel #7
0
    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
Beispiel #8
0
    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)
Beispiel #9
0
    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
Beispiel #10
0
    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
Beispiel #11
0
    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
Beispiel #12
0
    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
Beispiel #13
0
    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
Beispiel #14
0
    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",
            )
        )
Beispiel #15
0
    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)
Beispiel #16
0
    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
Beispiel #17
0
    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
Beispiel #18
0
    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
Beispiel #19
0
    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")
Beispiel #20
0
    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()
Beispiel #21
0
    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
Beispiel #22
0
    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
Beispiel #23
0
 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
Beispiel #24
0
    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