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()
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, ""))
def _select_option(self, option: WebElement) -> None: if not option.is_selected(): option.click()
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()