Class: OpsManagerUiDrivers::Version13::WebUi

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

Defined Under Namespace

Classes: ProductAvailabilityZones

Instance Method Summary collapse

Constructor Details

#initialize(browser: nil) ⇒ WebUi

Returns a new instance of WebUi.



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

def initialize(browser: nil)
  @browser = browser
end

Instance Method Details

#assign_availability_zones_for_product(product:, zones:) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
# File 'lib/ops_manager_ui_drivers/version13/web_ui.rb', line 54

def assign_availability_zones_for_product(product:, zones:)
  if zones
    Version13::JobAvailabilityZoneMappingHelper.new(
      product_name: product,
      browser: browser,
    ).assign_availability_zones!(
      singleton_availability_zone: zones[0]['name'],
      availability_zones: zones.map { |z| z['name'] },
    )
  end
end

#availability_zone_guid_for_name(az_name) ⇒ Object



78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/ops_manager_ui_drivers/version13/web_ui.rb', line 78

def availability_zone_guid_for_name(az_name)
  browser.visit '/'
  browser.click_on 'show-microbosh-configure-action'
  browser.click_on 'show-director-availability-zone-assignment-action'

  availability_zone_options = browser.find_field('Singleton Availability Zone').all('option')
  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/version13/web_ui.rb', line 23

def available_products
  @available_products ||= Version13::AvailableProducts.new(browser: browser)
end

#current_timeObject



31
32
33
34
35
36
37
38
# File 'lib/ops_manager_ui_drivers/version13/web_ui.rb', line 31

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



74
75
76
# File 'lib/ops_manager_ui_drivers/version13/web_ui.rb', line 74

def flash_message
  browser.find('.flash-message').text
end

#install_progressObject



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

def install_progress
  @install_progress ||= Version13::InstallProgress.new(browser: browser)
end

#job_network_mapping_for(product_name) ⇒ Object



47
48
49
50
51
52
# File 'lib/ops_manager_ui_drivers/version13/web_ui.rb', line 47

def job_network_mapping_for(product_name)
  Version13::JobNetworkMappingHelper.new(
    product_name: product_name,
    browser: browser,
  )
end

#ops_manager_directorObject



66
67
68
# File 'lib/ops_manager_ui_drivers/version13/web_ui.rb', line 66

def ops_manager_director
  @ops_manager_director ||= Version13::OpsManagerDirector.new(browser: browser)
end

#product_availability_zones(product) ⇒ Object



70
71
72
# File 'lib/ops_manager_ui_drivers/version13/web_ui.rb', line 70

def product_availability_zones(product)
  @product_availability_zones ||= Version13::ProductAvailabilityZones.new(browser: browser, product: product)
end

#product_dashboardObject



15
16
17
# File 'lib/ops_manager_ui_drivers/version13/web_ui.rb', line 15

def product_dashboard
  @product_dashboard ||= Version13::ProductDashboard.new(browser: browser)
end

#product_logs_for(product_name) ⇒ Object



27
28
29
# File 'lib/ops_manager_ui_drivers/version13/web_ui.rb', line 27

def product_logs_for(product_name)
  Version13::ProductLogs.new(browser: browser, product_name: product_name)
end

#product_resources_configuration(product_name) ⇒ Object



91
92
93
# File 'lib/ops_manager_ui_drivers/version13/web_ui.rb', line 91

def product_resources_configuration(product_name)
  Version13::ProductResourceConfiguration.new(browser: browser, product_name: product_name)
end

#product_status_for(product_name) ⇒ Object



40
41
42
43
44
45
# File 'lib/ops_manager_ui_drivers/version13/web_ui.rb', line 40

def product_status_for(product_name)
  Version13::ProductStatusHelper.new(
    product_name: product_name,
    browser: browser,
  )
end

#setup_pageObject



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

def setup_page
  @setup_page ||= Version13::Setup.new(browser: browser)
end