Skip to content

Commit 064530e

Browse files
Update get_register_command to reflect new mandatory fields (#1087)
Signed-off-by: Gaurav Talreja <[email protected]>
1 parent 4015d10 commit 064530e

File tree

2 files changed

+14
-12
lines changed

2 files changed

+14
-12
lines changed

airgun/entities/host.py

+11-5
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,19 @@ def create(self, values):
4646
host_view.flash.assert_no_error()
4747
host_view.flash.dismiss()
4848

49-
def get_register_command(self, values, full_read=None):
49+
def get_register_command(self, values=None, full_read=None):
5050
"""Get curl command generated on Register Host page"""
5151
view = self.navigate_to(self, 'Register')
52-
view.fill(values)
53-
self.browser.click(view.generate_command)
54-
self.browser.plugin.ensure_page_safe()
55-
view.registration_command.wait_displayed()
52+
if values is not None:
53+
view.fill(values)
54+
if view.general.activation_keys.read():
55+
self.browser.click(view.generate_command)
56+
self.browser.plugin.ensure_page_safe()
57+
view.registration_command.wait_displayed()
58+
else:
59+
view.general.new_activation_key_link.wait_displayed()
60+
if view.generate_command.disabled:
61+
raise DisabledWidgetError('Generate registration command button is disabled')
5662
if full_read:
5763
return view.read()
5864
return view.registration_command.read()

airgun/views/host.py

+3-7
Original file line numberDiff line numberDiff line change
@@ -497,6 +497,7 @@ class additional_information(SatTab):
497497

498498

499499
class HostRegisterView(BaseLoggedInView):
500+
title = Text("//h1[normalize-space(.)='Register Host']")
500501
generate_command = PF4Button('registration_generate_btn')
501502
cancel = PF4Button('registration-cancel-button')
502503
registration_command = TextInput(locator="//input[@aria-label='Copyable input']")
@@ -519,6 +520,7 @@ class general(Tab):
519520
insecure = Checkbox(id='reg_insecure')
520521
activation_keys = BaseMultiSelect('activation-keys-field')
521522
activation_key_helper = Text("//div[@id='activation_keys_field-helper']")
523+
new_activation_key_link = Link('//a[normalize-space(.)="Create new activation key"]')
522524

523525
@View.nested
524526
class advanced(Tab):
@@ -544,7 +546,7 @@ class advanced(Tab):
544546

545547
@property
546548
def is_displayed(self):
547-
return self.browser.wait_for_element(self.general.operating_system, exception=False)
549+
return self.browser.wait_for_element(self.title, exception=False)
548550

549551
def before_fill(self, values):
550552
"""Fill some of the parameters in the widgets with values.
@@ -566,12 +568,6 @@ def before_fill(self, values):
566568
logger=self.logger,
567569
)
568570
self.general.__getattribute__(field).fill(field_value)
569-
wait_for(
570-
lambda: self.general.linux_host_init_link.is_displayed,
571-
timeout=30,
572-
delay=2,
573-
logger=self.logger,
574-
)
575571

576572

577573
class RecommendationWidget(GenericLocatorWidget):

0 commit comments

Comments
 (0)