class OpsManagerUiDrivers::Version17::BoshProductSections::Networks

Constants

FLASH_MESSAGE_CLASS
FLASH_MESSAGE_ERRORS

Public Class Methods

new(browser:) click to toggle source
# File lib/ops_manager_ui_drivers/version17/bosh_product_sections/networks.rb, line 8
def initialize(browser:)
  @browser                   = browser
  @bosh_product_form_section = BoshProductFormSection.new(@browser, 'network_collection[networks_attributes][0]')
end

Public Instance Methods

add_network(name:, subnets:) click to toggle source
# File lib/ops_manager_ui_drivers/version17/bosh_product_sections/networks.rb, line 13
def add_network(name:, subnets:)
  @bosh_product_form_section.open_form('network')

  @browser.click_on 'Add Network'
  @bosh_product_form_section.set_fields('name' => name)

  subnets.each_with_index do |subnet, index|
    subnet_section = Subnet.new(browser: @browser, network_form: @bosh_product_form_section, subnet_index: index)
    subnet_section.add_subnet(**subnet.symbolize_keys)
  end


  @browser.click_on 'Save'
  @browser.expect(@browser.page).to @browser.have_css(FLASH_MESSAGE_CLASS)
  flash_errors = @browser.all(FLASH_MESSAGE_ERRORS).to_a
  flash_errors.reject! { |node| node.text =~ /cannot reach gateway/i }

  if (flash_errors.length > 0)
    fail flash_errors.collect(&:text).inspect
  end
end
configure_icmp_checks(enabled) click to toggle source
# File lib/ops_manager_ui_drivers/version17/bosh_product_sections/networks.rb, line 44
def configure_icmp_checks(enabled)
  @bosh_product_form_section.open_form('network')

  if enabled
    @browser.check 'Enable ICMP checks'
  else
    @browser.uncheck 'Enable ICMP checks'
  end

  @bosh_product_form_section.save_form
end
delete_network(network_name) click to toggle source
# File lib/ops_manager_ui_drivers/version17/bosh_product_sections/networks.rb, line 35
def delete_network(network_name)
  @bosh_product_form_section.open_form('network')
  button = @browser.find('button', text: network_name)
  button.click
  button.find(:xpath, '..').first('.with-delete-record').trigger('click')

  @bosh_product_form_section.save_form
end