Class: OpsManagerUiDrivers::Version15::ProductDashboard
- Inherits:
-
Object
- Object
- OpsManagerUiDrivers::Version15::ProductDashboard
- Defined in:
- lib/ops_manager_ui_drivers/version15/product_dashboard.rb
Instance Method Summary collapse
- #apply_updates ⇒ Object
- #delete_installation_available? ⇒ Boolean
- #delete_product(product_name) ⇒ Object
- #delete_whole_installation ⇒ Object
- #deletion_in_progress? ⇒ Boolean
- #import_installation_file(file_path) ⇒ Object
- #import_product_from(full_path) ⇒ Object
-
#initialize(browser:) ⇒ ProductDashboard
constructor
A new instance of ProductDashboard.
- #product_available?(product_name, product_version) ⇒ Boolean
- #reset_state(ops_manager) ⇒ Object
- #upgrade_microbosh ⇒ Object
- #upgrade_product(product_name) ⇒ Object
- #version_for_product(product_name) ⇒ Object
- #wait_for_installation_to_be_deleted ⇒ Object
Constructor Details
#initialize(browser:) ⇒ ProductDashboard
Returns a new instance of ProductDashboard.
4 5 6 7 |
# File 'lib/ops_manager_ui_drivers/version15/product_dashboard.rb', line 4 def initialize(browser:) @browser = browser @allowed_ignorable_errors = [] end |
Instance Method Details
#apply_updates ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/ops_manager_ui_drivers/version15/product_dashboard.rb', line 9 def apply_updates open_dashboard browser.click_on 'install-action' fail 'Install failed verification' if nonignorable_verification_failed? allow_cpu_verification_errors allow_privilege_verification_errors allow_icmp_verification_errors #this is only for AWS; consider moving out ignore_allowable_errors assert_installation_started end |
#delete_installation_available? ⇒ Boolean
81 82 83 84 85 |
# File 'lib/ops_manager_ui_drivers/version15/product_dashboard.rb', line 81 def delete_installation_available? open_dashboard browser.click_on 'toggle-installation-dropdown-action' browser.all('#show-delete-installation-modal-action').any? end |
#delete_product(product_name) ⇒ Object
36 37 38 39 40 41 |
# File 'lib/ops_manager_ui_drivers/version15/product_dashboard.rb', line 36 def delete_product(product_name) open_dashboard browser.click_on "open-delete-#{product_name}-modal" wait_for_modal_css_transition_to_complete browser.click_on "delete-#{product_name}-action" end |
#delete_whole_installation ⇒ Object
65 66 67 68 69 70 71 72 |
# File 'lib/ops_manager_ui_drivers/version15/product_dashboard.rb', line 65 def delete_whole_installation open_dashboard browser.click_on 'toggle-installation-dropdown-action' browser.click_on 'show-delete-installation-modal-action' wait_for_modal_css_transition_to_complete browser.click_on 'delete-installation-action' apply_updates end |
#deletion_in_progress? ⇒ Boolean
87 88 89 90 |
# File 'lib/ops_manager_ui_drivers/version15/product_dashboard.rb', line 87 def deletion_in_progress? open_dashboard browser.all('#delete-in-progress-marker').any? end |
#import_installation_file(file_path) ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'lib/ops_manager_ui_drivers/version15/product_dashboard.rb', line 21 def import_installation_file(file_path) open_dashboard browser.click_on 'toggle-installation-dropdown-action' browser.click_on 'show-import-backup' browser.attach_file 'import[file]', file_path browser.click_on 'import-backup' browser.wait { browser.has_text?('Successfully imported installation.') } end |
#import_product_from(full_path) ⇒ Object
43 44 45 46 |
# File 'lib/ops_manager_ui_drivers/version15/product_dashboard.rb', line 43 def import_product_from(full_path) open_dashboard browser.attach_file('component_add[file]', full_path, {visible: false}) end |
#product_available?(product_name, product_version) ⇒ Boolean
48 49 50 51 |
# File 'lib/ops_manager_ui_drivers/version15/product_dashboard.rb', line 48 def product_available?(product_name, product_version) open_dashboard browser.all("li.#{product_name} input#component_version[value='#{product_version}']", {visible: false}).any? end |
#reset_state(ops_manager) ⇒ Object
92 93 94 95 96 97 98 99 100 |
# File 'lib/ops_manager_ui_drivers/version15/product_dashboard.rb', line 92 def reset_state(ops_manager) revert_pending_changes if revert_available? if delete_installation_available? delete_whole_installation browser.poll_up_to_mins(15) do browser.expect(ops_manager.state_change_progress).to browser.be_state_change_success end end end |
#upgrade_microbosh ⇒ Object
30 31 32 33 34 |
# File 'lib/ops_manager_ui_drivers/version15/product_dashboard.rb', line 30 def upgrade_microbosh open_dashboard browser.find('p', text: 'Ops Manager Director').trigger(:mouseover) browser.click_on 'upgrade-microbosh' end |
#upgrade_product(product_name) ⇒ Object
53 54 55 56 57 58 |
# File 'lib/ops_manager_ui_drivers/version15/product_dashboard.rb', line 53 def upgrade_product(product_name) open_dashboard browser.find(".product.#{product_name} p").trigger(:mouseover) browser.click_on "upgrade-#{product_name}" expect_no_flash_errors end |
#version_for_product(product_name) ⇒ Object
60 61 62 63 |
# File 'lib/ops_manager_ui_drivers/version15/product_dashboard.rb', line 60 def version_for_product(product_name) open_dashboard browser.find("#show-#{product_name}-configure-action .version").text end |
#wait_for_installation_to_be_deleted ⇒ Object
74 75 76 77 78 79 |
# File 'lib/ops_manager_ui_drivers/version15/product_dashboard.rb', line 74 def wait_for_installation_to_be_deleted browser.poll_up_to_mins(10) do open_dashboard assert_install_action_disabled end end |