class OpsManagerUiDrivers::Version16::ProductStatusHelper

Attributes

browser[R]
product_name[R]

Public Class Methods

new(product_name:, browser:) click to toggle source
# File lib/ops_manager_ui_drivers/version16/product_status_helper.rb, line 4
def initialize(product_name:, browser:)
  @product_name = product_name
  @browser      = browser
end

Public Instance Methods

job_status(job_name) click to toggle source
# File lib/ops_manager_ui_drivers/version16/product_status_helper.rb, line 9
def job_status(job_name)
  open_page

  wait_for_loading_indicator_to_disappear

  browser.within "##{product_name}-status" do
    job_row = browser.find(:xpath, ".//tr[@data-ip-name = '#{job_name}']")

    Version16::JobStatusHelper.from_job_row(job_row)
  end
end
job_status_in_az(job_name, az_guid) click to toggle source
# File lib/ops_manager_ui_drivers/version16/product_status_helper.rb, line 21
def job_status_in_az(job_name, az_guid)
  open_page

  wait_for_loading_indicator_to_disappear

  browser.within "##{product_name}-#{az_guid}-status-table" do
    job_row = browser.find(:xpath, ".//tr[@data-ip-name = '#{job_name}']")

    Version16::JobStatusHelper.from_job_row(job_row)
  end
end
resource_pool_for_job_in_az(job_name, az_guid, vsphere_connection) click to toggle source
# File lib/ops_manager_ui_drivers/version16/product_status_helper.rb, line 33
def resource_pool_for_job_in_az(job_name, az_guid, vsphere_connection)
  job_status = job_status_in_az("#{job_name}-partition-#{az_guid}", az_guid)

  job_ip = job_status.ips.fetch(0)

  vm = vsphere_connection.searchIndex.FindByIp(ip: job_ip, vmSearch: true)
  vm.resourcePool.name
end

Private Instance Methods

open_page() click to toggle source
# File lib/ops_manager_ui_drivers/version16/product_status_helper.rb, line 46
def open_page
  browser.visit '/'

  browser.click_on "show-#{product_name.dasherize}-configure-action"
  browser.click_on 'show-status-action'
end
wait_for_loading_indicator_to_disappear() click to toggle source
# File lib/ops_manager_ui_drivers/version16/product_status_helper.rb, line 53
def wait_for_loading_indicator_to_disappear
  Capybara.using_wait_time 20 do
    browser.all('.status-loading', count: 0) # blocks until there are no spinners
  end
end