Class: OpsManagerUiDrivers::Version16::WebUi

Inherits:
Object
  • Object
show all
Defined in:
lib/ops_manager_ui_drivers/version16/web_ui.rb,
lib/ops_manager_ui_drivers/version16/product_availability_zones.rb

Defined Under Namespace

Classes: ProductAvailabilityZones

Instance Method Summary collapse

Constructor Details

#initialize(browser:) ⇒ WebUi

Returns a new instance of WebUi.



7
8
9
# File 'lib/ops_manager_ui_drivers/version16/web_ui.rb', line 7

def initialize(browser:)
  @browser = browser
end

Instance Method Details

#assign_availability_zones_for_product(product:, zones:) ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
# 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:) ⇒ Object



67
68
69
70
# 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) ⇒ Object



85
86
87
88
89
90
91
92
93
94
95
96
# 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_productsObject



23
24
25
# File 'lib/ops_manager_ui_drivers/version16/web_ui.rb', line 23

def available_products
  Version16::AvailableProducts.new(browser: browser)
end

#current_timeObject



72
73
74
75
76
77
78
79
# 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_messageObject



81
82
83
# 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) ⇒ Object



47
48
49
# 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_directorObject



27
28
29
# 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) ⇒ Object



39
40
41
# 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) ⇒ Object



51
52
53
# 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_dashboardObject



15
16
17
# 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) ⇒ Object



31
32
33
# 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) ⇒ Object



35
36
37
# 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) ⇒ Object



43
44
45
# 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_pageObject



11
12
13
# File 'lib/ops_manager_ui_drivers/version16/web_ui.rb', line 11

def setup_page
  Version16::Setup.new(browser: browser)
end

#state_change_progressObject



19
20
21
# File 'lib/ops_manager_ui_drivers/version16/web_ui.rb', line 19

def state_change_progress
  Version16::StateChangeProgress.new(browser: browser)
end