class OpsManagerUiDrivers::Version17::JobAzAndNetworkMappingHelper
Constants
- AVAILABILITY_ZONE_INPUT_SELECTOR
- NETWORK_FIELD_NAME
- SINGLETON_AVAILABILITY_ZONE_INPUT_SELECTOR
Attributes
browser[R]
product_name[R]
Public Class Methods
new(product_name:, browser:)
click to toggle source
# File lib/ops_manager_ui_drivers/version17/job_az_and_network_mapping_helper.rb, line 4 def initialize(product_name:, browser:) @product_name = product_name @browser = browser end
Public Instance Methods
assign_azs_and_network(singleton_availability_zone: nil, availability_zones: [], network:)
click to toggle source
# File lib/ops_manager_ui_drivers/version17/job_az_and_network_mapping_helper.rb, line 13 def assign_azs_and_network(singleton_availability_zone: nil, availability_zones: [], network:) open_form got_azs = false browser.all(AVAILABILITY_ZONE_INPUT_SELECTOR).each do |checkbox| got_azs = true checkbox.set(false) end availability_zones.each { |az_name| browser.check("#{az_name}") } if got_azs browser.choose("#{singleton_availability_zone}") if got_azs browser.find_field(NETWORK_FIELD_NAME).find(:option, text: network).select_option save_form end
availability_zones()
click to toggle source
# File lib/ops_manager_ui_drivers/version17/job_az_and_network_mapping_helper.rb, line 42 def availability_zones open_form browser.all("#{AVAILABILITY_ZONE_INPUT_SELECTOR}[checked='checked']").map do |checkbox| browser.find("label[for='#{checkbox[:id]}']").text end end
product_network()
click to toggle source
# File lib/ops_manager_ui_drivers/version17/job_az_and_network_mapping_helper.rb, line 50 def product_network open_form selected_options = browser.find_field(NETWORK_FIELD_NAME).all('option[selected]') raise ArgumentError, "#{NETWORK_FIELD_NAME} not selected" if selected_options.empty? selected_options.first.text end
singleton_availability_zone()
click to toggle source
# File lib/ops_manager_ui_drivers/version17/job_az_and_network_mapping_helper.rb, line 31 def singleton_availability_zone open_form selected_options = browser.all("#{SINGLETON_AVAILABILITY_ZONE_INPUT_SELECTOR}[selected='selected']").map do |radio| browser.find("label[for='#{radio[:id]}']").text end raise ArgumentError, 'availability_zone not selected' if selected_options.empty? selected_options.first end
Private Instance Methods
open_form()
click to toggle source
# File lib/ops_manager_ui_drivers/version17/job_az_and_network_mapping_helper.rb, line 61 def open_form browser.visit '/' browser.click_on "show-#{product_name}-configure-action" browser.click_on "show-#{product_name}-azs-and-network-assignment-action" end
save_form()
click to toggle source
# File lib/ops_manager_ui_drivers/version17/job_az_and_network_mapping_helper.rb, line 67 def save_form browser.click_on 'Save' unless browser.has_css?('.flash-message.success') if browser.has_css?('.flash-message.error') raise browser.find('.flash-message.error').text else raise 'unexpected failure' end end end