class OpsManagerUiDrivers::Version16::WebUi

Attributes

browser[R]

Public Class Methods

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

Public Instance Methods

assign_availability_zones_for_product(product:, zones:) click to toggle source
# File lib/ops_manager_ui_drivers/version16/web_ui.rb, line 55
def assign_availability_zones_for_product(product:, zones:)
  if zones
    Version16::JobAvailabilityZoneMappingHelper.new(
      browser:      browser,
      product_name: product,
    ).assign_availability_zones!(
      singleton_availability_zone: zones[0]['name'],
      availability_zones:          zones.map { |z| z['name'] },
    )
  end
end
assign_azs_and_network_for_product(product_name:, zones:, network:) click to toggle source
# File lib/ops_manager_ui_drivers/version16/web_ui.rb, line 67
def assign_azs_and_network_for_product(product_name:, zones:, network:)
  job_network_mapping_for(product_name).assign_product_to_network(network)
  assign_availability_zones_for_product(product: product_name, zones: zones)
end
availability_zone_guid_for_name(az_name) click to toggle source
# File lib/ops_manager_ui_drivers/version16/web_ui.rb, line 85
def availability_zone_guid_for_name(az_name)
  browser.visit '/'
  browser.click_on 'show-p-bosh-configure-action'
  browser.click_on 'show-director-availability-zone-assignment-action'

  availability_zone_options = find_az_field
  availability_zone_options.each do |element|
    if element.text == az_name
      return element[:value]
    end
  end
end
available_products() click to toggle source
# File lib/ops_manager_ui_drivers/version16/web_ui.rb, line 23
def available_products
  Version16::AvailableProducts.new(browser: browser)
end
current_time() click to toggle source
# File lib/ops_manager_ui_drivers/version16/web_ui.rb, line 72
def current_time
  uri      = URI(Capybara.app_host)
  uri.path = '/'
  Net::HTTP.start(uri.hostname, uri.port, use_ssl: (uri.scheme == 'https'), verify_mode: OpenSSL::SSL::VERIFY_NONE) do |http|
    response = http.request(Net::HTTP::Get.new(uri))
    DateTime.parse(response['Date'])
  end
end
flash_message() click to toggle source
# File lib/ops_manager_ui_drivers/version16/web_ui.rb, line 81
def flash_message
  browser.find('.flash-message').text
end
job_network_mapping_for(product_name) click to toggle source
# File lib/ops_manager_ui_drivers/version16/web_ui.rb, line 47
def job_network_mapping_for(product_name)
  Version16::JobNetworkMappingHelper.new(browser: browser, product_name: product_name)
end
ops_manager_director() click to toggle source
# File lib/ops_manager_ui_drivers/version16/web_ui.rb, line 27
def ops_manager_director
  Version16::OpsManagerDirector.new(browser: browser)
end
product(product_name) click to toggle source
# File lib/ops_manager_ui_drivers/version16/web_ui.rb, line 39
def product(product_name)
  Version16::ProductConfiguration.new(browser: browser, product_name: product_name)
end
product_availability_zones(product_name) click to toggle source
# File lib/ops_manager_ui_drivers/version16/web_ui.rb, line 51
def product_availability_zones(product_name)
  Version16::ProductAvailabilityZones.new(browser: browser, product: product_name)
end
product_dashboard() click to toggle source
# File lib/ops_manager_ui_drivers/version16/web_ui.rb, line 15
def product_dashboard
  Version16::ProductDashboard.new(browser: browser)
end
product_logs_for(product_name) click to toggle source
# File lib/ops_manager_ui_drivers/version16/web_ui.rb, line 31
def product_logs_for(product_name)
  Version16::ProductLogs.new(browser: browser, product_name: product_name)
end
product_resources_configuration(product_name) click to toggle source
# File lib/ops_manager_ui_drivers/version16/web_ui.rb, line 35
def product_resources_configuration(product_name)
  Version16::ProductResourceConfiguration.new(browser: browser, product_name: product_name)
end
product_status_for(product_name) click to toggle source
# File lib/ops_manager_ui_drivers/version16/web_ui.rb, line 43
def product_status_for(product_name)
  Version16::ProductStatusHelper.new(browser: browser, product_name: product_name)
end
setup_page() click to toggle source
# File lib/ops_manager_ui_drivers/version16/web_ui.rb, line 11
def setup_page
  Version16::Setup.new(browser: browser)
end
state_change_progress() click to toggle source
# File lib/ops_manager_ui_drivers/version16/web_ui.rb, line 19
def state_change_progress
  Version16::StateChangeProgress.new(browser: browser)
end

Private Instance Methods

find_az_field() click to toggle source
# File lib/ops_manager_ui_drivers/version16/web_ui.rb, line 102
def find_az_field
  browser.find_field('Singleton Availability Zone').all('option')
rescue Capybara::ElementNotFound
  browser.find_field('Singleton Availability Zone', disabled: true).all('option')
end