Class: OpsManagerUiDrivers::Version13::ProductDashboard

Inherits:
Object
  • Object
show all
Defined in:
lib/ops_manager_ui_drivers/version13/product_dashboard.rb

Instance Method Summary collapse

Constructor Details

#initialize(browser:) ⇒ ProductDashboard

Returns a new instance of ProductDashboard.



4
5
6
7
# File 'lib/ops_manager_ui_drivers/version13/product_dashboard.rb', line 4

def initialize(browser:)
  @browser = browser
  @allowed_ignorable_errors = []
end

Instance Method Details

#apply_updatesObject



9
10
11
12
13
14
15
16
17
18
# File 'lib/ops_manager_ui_drivers/version13/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

  ignore_allowable_errors
  assert_installation_started
end

#delete_installation_available?Boolean

Returns:

  • (Boolean)


71
72
73
74
75
# File 'lib/ops_manager_ui_drivers/version13/product_dashboard.rb', line 71

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



34
35
36
37
38
39
# File 'lib/ops_manager_ui_drivers/version13/product_dashboard.rb', line 34

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_installationObject



63
64
65
66
67
68
69
# File 'lib/ops_manager_ui_drivers/version13/product_dashboard.rb', line 63

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'
end

#deletion_in_progress?Boolean

Returns:

  • (Boolean)


77
78
79
80
# File 'lib/ops_manager_ui_drivers/version13/product_dashboard.rb', line 77

def deletion_in_progress?
  open_dashboard
  browser.all('#delete-in-progress-marker').any?
end

#import_installation_file(file_path) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/ops_manager_ui_drivers/version13/product_dashboard.rb', line 20

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'
end

#import_product_from(full_path) ⇒ Object



41
42
43
44
# File 'lib/ops_manager_ui_drivers/version13/product_dashboard.rb', line 41

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

Returns:

  • (Boolean)


46
47
48
49
# File 'lib/ops_manager_ui_drivers/version13/product_dashboard.rb', line 46

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_stateObject



82
83
84
85
# File 'lib/ops_manager_ui_drivers/version13/product_dashboard.rb', line 82

def reset_state
  revert_pending_changes if revert_available?
  delete_whole_installation if delete_installation_available?
end

#upgrade_microboshObject



28
29
30
31
32
# File 'lib/ops_manager_ui_drivers/version13/product_dashboard.rb', line 28

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



51
52
53
54
55
56
# File 'lib/ops_manager_ui_drivers/version13/product_dashboard.rb', line 51

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



58
59
60
61
# File 'lib/ops_manager_ui_drivers/version13/product_dashboard.rb', line 58

def version_for_product(product_name)
  open_dashboard
  browser.find("#show-#{product_name}-configure-action .version").text
end