Exemplo n.º 1
0
    def clear_form(
        self,
        ku_select: Select,
        ku_critical: WebElement,
        eku_select: Select,
        eku_critical: WebElement,
        tf_select: Select,
        tf_critical: WebElement,
        subject: typing.Dict[str, WebElement],
        cn_in_san: WebElement,
    ) -> None:
        """Clear the form."""
        ku_select.deselect_all()
        eku_select.deselect_all()
        tf_select.deselect_all()

        if ku_critical.is_selected():
            ku_critical.click()
        if eku_critical.is_selected():
            eku_critical.click()
        if tf_critical.is_selected():
            tf_critical.click()
        if cn_in_san.is_selected():
            cn_in_san.click()
        for field in subject.values():
            field.clear()
Exemplo n.º 2
0
    def assertProfile(  # pylint: disable=invalid-name
        self,
        profile_name: str,
        ku_select: Select,
        ku_critical: WebElement,
        eku_select: Select,
        eku_critical: WebElement,
        tf_select: Select,
        tf_critical: WebElement,
        subject: typing.Dict[str, WebElement],
        cn_in_san: WebElement,
    ) -> None:
        """Assert that the admin form equals the given profile."""

        # pylint: disable=too-many-locals
        profile = profiles[profile_name]

        ku_expected = self.get_expected(profile, KeyUsage, [])
        ku_selected = [
            o.get_attribute("value") for o in ku_select.all_selected_options
        ]
        self.assertCountEqual(ku_expected["value"], ku_selected)
        self.assertEqual(ku_expected["critical"], ku_critical.is_selected())

        eku_expected = self.get_expected(profile, ExtendedKeyUsage, [])
        eku_selected = [
            o.get_attribute("value") for o in eku_select.all_selected_options
        ]
        self.assertCountEqual(eku_expected["value"], eku_selected)
        self.assertEqual(eku_expected["critical"], eku_critical.is_selected())

        tf_selected = [
            o.get_attribute("value") for o in tf_select.all_selected_options
        ]
        tf_expected = self.get_expected(profile, TLSFeature, [])
        self.assertCountEqual(tf_expected.get("value", []), tf_selected)
        self.assertEqual(tf_expected.get("critical", False),
                         tf_critical.is_selected())

        self.assertEqual(profile.cn_in_san, cn_in_san.is_selected())

        for key, field in subject.items():
            value = field.get_attribute("value")

            # OIDs that can occur multiple times are stored as list in subject, so we wrap it
            if NAME_OID_MAPPINGS[key] in MULTIPLE_OIDS:
                self.assertEqual([value], profile.subject.get(key, ""))
            else:
                self.assertEqual(value, profile.subject.get(key, ""))
Exemplo n.º 3
0
 def _select_option(self, option: WebElement) -> None:
     if not option.is_selected():
         option.click()
Exemplo n.º 4
0
 def fill_checkbox(self, input_el: WebElement, values) -> None:
     """Select checkbox in case it is required or uncheck otherwise"""
     should_be_selected = input_el.get_attribute("value") in values
     if should_be_selected and not input_el.is_selected():
         input_el.click()