class OpsManagerUiDrivers::Version17::ProductResourceConfiguration

Attributes

browser[R]
product_name[R]

Public Class Methods

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

Public Instance Methods

open_form() click to toggle source
# File lib/ops_manager_ui_drivers/version17/product_resource_configuration.rb, line 51
def open_form
  browser.visit '/'
  browser.click_on "show-#{product_name}-configure-action"
  browser.click_on "show-#{product_name}-resource-sizes-action"
end
set_disk_type_for_job(job_name, disk_type_id, validate: true) click to toggle source
# File lib/ops_manager_ui_drivers/version17/product_resource_configuration.rb, line 30
def set_disk_type_for_job(job_name, disk_type_id, validate: true)
  open_form
  browser.
    find("select[name='product_resources_form[#{job_name}][disk_type_id]']").
    find("option[value='#{disk_type_id}']").
    select_option
  save_form(validate: validate)
end
set_elb_names_for_job(job_name, comma_delimited_elb_names, validate: true) click to toggle source
# File lib/ops_manager_ui_drivers/version17/product_resource_configuration.rb, line 39
def set_elb_names_for_job(job_name, comma_delimited_elb_names, validate: true)
  open_form
  browser.find_field("product_resources_form[#{job_name}][elb_names]").set(comma_delimited_elb_names)
  save_form(validate: validate)
end
set_floating_ips_for_job(job_name, comma_delimited_floating_ips, validate: true) click to toggle source
# File lib/ops_manager_ui_drivers/version17/product_resource_configuration.rb, line 45
def set_floating_ips_for_job(job_name, comma_delimited_floating_ips, validate: true)
  open_form
  browser.find_field("product_resources_form[#{job_name}][floating_ips]").set(comma_delimited_floating_ips)
  save_form(validate: validate)
end
set_instance_type_for_job(job_name, vm_type, validate: true)
Alias for: set_vm_type_for_job
set_instances_for_job(job_name, instance_count, validate: true) click to toggle source
# File lib/ops_manager_ui_drivers/version17/product_resource_configuration.rb, line 11
def set_instances_for_job(job_name, instance_count, validate: true)
  open_form
  browser.find("select[name='product_resources_form[#{job_name}][instances]']").
      find("option[value='#{instance_count}']").
      select_option
  save_form(validate: validate)
end
set_vm_type_for_job(job_name, vm_type, validate: true) click to toggle source
# File lib/ops_manager_ui_drivers/version17/product_resource_configuration.rb, line 19
def set_vm_type_for_job(job_name, vm_type, validate: true)
  open_form
  browser.
    find("select[name='product_resources_form[#{job_name}][vm_type_id]']").
    find("option[value='#{vm_type}']").
    select_option
  save_form(validate: validate)
end
Also aliased as: set_instance_type_for_job

Private Instance Methods

save_form(validate: true) click to toggle source
# File lib/ops_manager_ui_drivers/version17/product_resource_configuration.rb, line 62
def save_form(validate: true)
  browser.click_on 'Save'

  fail('unexpected failure') unless browser.has_css?('.flash-message')

  if validate
    fail(browser.find('.flash-message.error').text) unless browser.has_css?('.flash-message.success')
  end
end