ops_manager_ui_drivers 2.21.0 → 2.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ops_manager_ui_drivers/page_helpers.rb +14 -2
  3. data/lib/ops_manager_ui_drivers/version.rb +1 -1
  4. data/lib/ops_manager_ui_drivers/version18/ops_manager_director.rb +0 -1
  5. data/lib/ops_manager_ui_drivers/version19/api.rb +10 -0
  6. data/lib/ops_manager_ui_drivers/version19/available_products.rb +8 -0
  7. data/lib/ops_manager_ui_drivers/version19/bosh_product_sections/advanced_infrastructure_config.rb +10 -0
  8. data/lib/ops_manager_ui_drivers/version19/bosh_product_sections/availability_zones.rb +10 -0
  9. data/lib/ops_manager_ui_drivers/version19/bosh_product_sections/bosh_product_form_section.rb +10 -0
  10. data/lib/ops_manager_ui_drivers/version19/bosh_product_sections/iaas_configuration.rb +10 -0
  11. data/lib/ops_manager_ui_drivers/version19/bosh_product_sections/networks.rb +10 -0
  12. data/lib/ops_manager_ui_drivers/version19/bosh_product_sections/subnet.rb +10 -0
  13. data/lib/ops_manager_ui_drivers/version19/job_az_and_network_mapping_helper.rb +8 -0
  14. data/lib/ops_manager_ui_drivers/version19/job_network_mapping_helper.rb +8 -0
  15. data/lib/ops_manager_ui_drivers/version19/job_status_helper.rb +19 -0
  16. data/lib/ops_manager_ui_drivers/version19/ops_manager_director.rb +25 -0
  17. data/lib/ops_manager_ui_drivers/version19/product_availability_zones.rb +10 -0
  18. data/lib/ops_manager_ui_drivers/version19/product_configuration.rb +8 -0
  19. data/lib/ops_manager_ui_drivers/version19/product_dashboard.rb +8 -0
  20. data/lib/ops_manager_ui_drivers/version19/product_errands.rb +8 -0
  21. data/lib/ops_manager_ui_drivers/version19/product_form.rb +8 -0
  22. data/lib/ops_manager_ui_drivers/version19/product_logs.rb +8 -0
  23. data/lib/ops_manager_ui_drivers/version19/product_resource_configuration.rb +8 -0
  24. data/lib/ops_manager_ui_drivers/version19/product_status_helper.rb +8 -0
  25. data/lib/ops_manager_ui_drivers/version19/setup.rb +8 -0
  26. data/lib/ops_manager_ui_drivers/version19/state_change_progress.rb +8 -0
  27. data/lib/ops_manager_ui_drivers/version19/user_settings.rb +12 -0
  28. data/lib/ops_manager_ui_drivers/version19/web_ui.rb +112 -0
  29. metadata +26 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 25f5b2b180ba58b39db5104eb00e0e7795c88d97
4
- data.tar.gz: 18d2e53b293e2df5797753df4d6a4c8ba17e1ebc
3
+ metadata.gz: 81803016ae304090c22538ac2349ad754f40b2e9
4
+ data.tar.gz: d5d385c4ae6dec1510411f3283fd75ab6a99ec2c
5
5
  SHA512:
6
- metadata.gz: 42829865e988073a097674b9d282cc76df6631c869a1a25a465f56d711ea4d5a2d813a618cb2c72416a51809a4f2e3c4553d27959152c87915f3e5e90d3f83d2
7
- data.tar.gz: c4c1cef0de7d65b3278a41dd26d48943413eb606d958c9f09feb925767fe1f585c2457366b07cc467c97235aa3622ecb6ead851ab50ef452b24752820066dbd3
6
+ metadata.gz: f417f910441c880925c22181ac9db8271b3ea4f71a2a06eed33706749d404d626430ab33f9377e7b667a6d9a12544bebd69889d2adc6020912498fc2f387a722
7
+ data.tar.gz: e67d0d15a89c7b501542eb64d51554e4b461b3ce66386af9571c859505afbaeccfcd2bfb6a19dbdaf1dd96b8f2883cb2ae949e036d8788ec6d63235966d37f50
@@ -44,6 +44,14 @@ module OpsManagerUiDrivers
44
44
  )
45
45
  end
46
46
 
47
+ def om_1_9(ops_manager_url, browser = self)
48
+ @om_1_9 ||= create_web_ui(
49
+ ops_manager_url: ops_manager_url,
50
+ browser: browser,
51
+ version_module: Version19,
52
+ )
53
+ end
54
+
47
55
  def api_1_4(host:, username:, password:)
48
56
  Version14::Api.new(host_uri: host, username: username, password: password)
49
57
  end
@@ -64,8 +72,12 @@ module OpsManagerUiDrivers
64
72
  Version18::Api.new(host_uri: host, username: username, password: password)
65
73
  end
66
74
 
67
- alias_method :om_rc, :om_1_8
68
- alias_method :api_rc, :api_1_8
75
+ def api_1_9(host:, username:, password:)
76
+ Version18::Api.new(host_uri: host, username: username, password: password)
77
+ end
78
+
79
+ alias_method :om_rc, :om_1_9
80
+ alias_method :api_rc, :api_1_9
69
81
 
70
82
  private
71
83
 
@@ -1,3 +1,3 @@
1
1
  module OpsManagerUiDrivers
2
- VERSION = '2.21.0'
2
+ VERSION = '2.22.0'
3
3
  end
@@ -23,7 +23,6 @@ module OpsManagerUiDrivers
23
23
 
24
24
  browser.click_on 'show-director_configuration-action'
25
25
 
26
-
27
26
  browser.fill_in('director_configuration[ntp_servers_string]', with: ops_manager.dig('ntp_servers'))
28
27
  browser.check('Enable VM Resurrector Plugin') if ops_manager.dig('resurrector_enabled')
29
28
  browser.check('Enable Post Deploy Scripts') if ops_manager.dig('post_deploy_enabled')
@@ -0,0 +1,10 @@
1
+ require 'ops_manager_ui_drivers/version18/api'
2
+ require 'uaa'
3
+ require 'net/http/post/multipart'
4
+
5
+ module OpsManagerUiDrivers
6
+ module Version19
7
+ class Api < Version18::Api
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ require 'ops_manager_ui_drivers/version18/available_products'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ class AvailableProducts < Version18::AvailableProducts
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,10 @@
1
+ require 'ops_manager_ui_drivers/version18/bosh_product_sections/advanced_infrastructure_config'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ module BoshProductSections
6
+ class AdvancedInfrastructureConfig < Version18::BoshProductSections::AdvancedInfrastructureConfig
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'ops_manager_ui_drivers/version18/bosh_product_sections/availability_zones'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ module BoshProductSections
6
+ class AvailabilityZones < Version18::BoshProductSections::AvailabilityZones
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'ops_manager_ui_drivers/version18/bosh_product_sections/bosh_product_form_section'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ module BoshProductSections
6
+ class BoshProductFormSection < Version18::BoshProductSections::BoshProductFormSection
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'ops_manager_ui_drivers/version18/bosh_product_sections/iaas_configuration'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ module BoshProductSections
6
+ class IaasConfiguration < Version18::BoshProductSections::IaasConfiguration
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'ops_manager_ui_drivers/version18/bosh_product_sections/networks'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ module BoshProductSections
6
+ class Networks < Version18::BoshProductSections::Networks
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ require 'ops_manager_ui_drivers/version18/bosh_product_sections/subnet'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ module BoshProductSections
6
+ class Subnet < Version18::BoshProductSections::Subnet
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ require 'ops_manager_ui_drivers/version18/job_az_and_network_mapping_helper'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ class JobAzAndNetworkMappingHelper < Version18::JobAzAndNetworkMappingHelper
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'ops_manager_ui_drivers/version18/job_network_mapping_helper'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ class JobNetworkMappingHelper < Version18::JobNetworkMappingHelper
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,19 @@
1
+ module OpsManagerUiDrivers
2
+ module Version19
3
+ class JobStatusHelper
4
+ def self.from_job_row(job_row)
5
+ ips_string = job_row.find('.actual-ips').text
6
+ ips = ips_string.split(', ')
7
+ az = job_row.all('.az').first.try(:text)
8
+ new(ips: ips, az: az)
9
+ end
10
+
11
+ def initialize(ips:, az:)
12
+ @ips = ips
13
+ @az = az
14
+ end
15
+
16
+ attr_reader :ips, :az
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,25 @@
1
+ require 'ops_manager_ui_drivers/version18/ops_manager_director'
2
+ using OpsManagerUiDrivers::BackportRefinements
3
+
4
+ module OpsManagerUiDrivers
5
+ module Version19
6
+ class OpsManagerDirector < Version18::OpsManagerDirector
7
+ def initialize(browser:, iaas_configuration: Version19::BoshProductSections::IaasConfiguration.new(browser: browser))
8
+ @browser = browser
9
+ @iaas_configuration = iaas_configuration
10
+ end
11
+
12
+ def advanced_infrastructure_config
13
+ @advanced_infrastructure_config ||= Version19::BoshProductSections::AdvancedInfrastructureConfig.new(browser: browser)
14
+ end
15
+
16
+ def availability_zones
17
+ @availability_zones ||= Version19::BoshProductSections::AvailabilityZones.new(browser: browser)
18
+ end
19
+
20
+ def networks
21
+ @networks ||= Version19::BoshProductSections::Networks.new(browser: browser)
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,10 @@
1
+ require 'ops_manager_ui_drivers/version18/product_availability_zones'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ class WebUi
6
+ class ProductAvailabilityZones < Version18::WebUi::ProductAvailabilityZones
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ require 'ops_manager_ui_drivers/version18/product_configuration'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ class ProductConfiguration < Version18::ProductConfiguration
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'ops_manager_ui_drivers/version18/product_dashboard'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ class ProductDashboard < Version18::ProductDashboard
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'ops_manager_ui_drivers/version18/product_errands'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ class ProductErrands < Version18::ProductErrands
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'ops_manager_ui_drivers/version18/product_form'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ class ProductForm < Version18::ProductForm
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'ops_manager_ui_drivers/version18/product_logs'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ class ProductLogs < Version18::ProductLogs
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'ops_manager_ui_drivers/version18/product_resource_configuration'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ class ProductResourceConfiguration < Version18::ProductResourceConfiguration
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'ops_manager_ui_drivers/version18/product_status_helper'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ class ProductStatusHelper < Version18::ProductStatusHelper
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'ops_manager_ui_drivers/version18/setup'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ class Setup < Version18::Setup
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require 'ops_manager_ui_drivers/version18/state_change_progress'
2
+
3
+ module OpsManagerUiDrivers
4
+ module Version19
5
+ class StateChangeProgress < OpsManagerUiDrivers::Version18::StateChangeProgress
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,12 @@
1
+ require 'ops_manager_ui_drivers/version18/user_settings'
2
+ require 'ops_manager_ui_drivers/animation_helper'
3
+
4
+ module OpsManagerUiDrivers
5
+ module Version19
6
+ class UserSettings < Version18::UserSettings
7
+ end
8
+ end
9
+ end
10
+
11
+
12
+
@@ -0,0 +1,112 @@
1
+ require 'net/https'
2
+ require 'date'
3
+
4
+ module OpsManagerUiDrivers
5
+ module Version19
6
+ class WebUi
7
+ def initialize(browser:)
8
+ @browser = browser
9
+ end
10
+
11
+ def setup_page
12
+ Version19::Setup.new(browser: browser)
13
+ end
14
+
15
+ def settings_page
16
+ Version19::UserSettings.new(browser: browser)
17
+ end
18
+
19
+ def product_dashboard
20
+ Version19::ProductDashboard.new(browser: browser)
21
+ end
22
+
23
+ def state_change_progress
24
+ Version19::StateChangeProgress.new(browser: browser)
25
+ end
26
+
27
+ def available_products
28
+ Version19::AvailableProducts.new(browser: browser)
29
+ end
30
+
31
+ def ops_manager_director
32
+ Version19::OpsManagerDirector.new(browser: browser)
33
+ end
34
+
35
+ def product_logs_for(product_name)
36
+ Version19::ProductLogs.new(browser: browser, product_name: product_name)
37
+ end
38
+
39
+ def product_resources_configuration(product_name)
40
+ Version19::ProductResourceConfiguration.new(browser: browser, product_name: product_name)
41
+ end
42
+
43
+ def product(product_name)
44
+ Version19::ProductConfiguration.new(browser: browser, product_name: product_name)
45
+ end
46
+
47
+ def product_status_for(product_name)
48
+ Version19::ProductStatusHelper.new(browser: browser, product_name: product_name)
49
+ end
50
+
51
+ def product_availability_zones(product_name)
52
+ Version19::ProductAvailabilityZones.new(browser: browser, product: product_name)
53
+ end
54
+
55
+ def job_azs_and_network_mapping_for(product_name)
56
+ Version19::JobAzAndNetworkMappingHelper.new(
57
+ browser: browser,
58
+ product_name: product_name,
59
+ )
60
+ end
61
+
62
+ def assign_azs_and_network_for_product(product_name:, zones:, network:)
63
+ zones_present = zones && zones.first
64
+
65
+ singleton_az = zones_present ? (zones[0]['iaas_identifier'] || zones[0]['name']) : nil
66
+ availability_zones = zones_present ? zones.map{|zone| (zone['iaas_identifier'] || zone['name']) } : nil
67
+
68
+ job_azs_and_network_mapping_for(product_name).assign_azs_and_network(
69
+ singleton_availability_zone: singleton_az,
70
+ availability_zones: availability_zones,
71
+ network: network,
72
+ )
73
+ end
74
+
75
+ def current_time
76
+ uri = URI(Capybara.app_host)
77
+ uri.path = '/'
78
+ Net::HTTP.start(uri.hostname, uri.port, use_ssl: (uri.scheme == 'https'), verify_mode: OpenSSL::SSL::VERIFY_NONE) do |http|
79
+ response = http.request(Net::HTTP::Get.new(uri))
80
+ DateTime.parse(response['Date'])
81
+ end
82
+ end
83
+
84
+ def flash_message
85
+ browser.find('.flash-message').text
86
+ end
87
+
88
+ def availability_zone_guid_for_name(az_name)
89
+ browser.visit '/'
90
+ browser.click_on 'show-p-bosh-configure-action'
91
+ browser.click_on 'show-director-az-and-network-assignment-action'
92
+
93
+ availability_zone_options = find_az_field
94
+ availability_zone_options.each do |element|
95
+ if element.text == az_name
96
+ return element[:value]
97
+ end
98
+ end
99
+ end
100
+
101
+ private
102
+
103
+ attr_reader :browser
104
+
105
+ def find_az_field
106
+ browser.find_field('Singleton Availability Zone').all('option')
107
+ rescue Capybara::ElementNotFound
108
+ browser.find_field('Singleton Availability Zone', disabled: true).all('option')
109
+ end
110
+ end
111
+ end
112
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ops_manager_ui_drivers
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.21.0
4
+ version: 2.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pivotal, Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-06-24 00:00:00.000000000 Z
11
+ date: 2016-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -304,6 +304,30 @@ files:
304
304
  - lib/ops_manager_ui_drivers/version18/state_change_progress.rb
305
305
  - lib/ops_manager_ui_drivers/version18/user_settings.rb
306
306
  - lib/ops_manager_ui_drivers/version18/web_ui.rb
307
+ - lib/ops_manager_ui_drivers/version19/api.rb
308
+ - lib/ops_manager_ui_drivers/version19/available_products.rb
309
+ - lib/ops_manager_ui_drivers/version19/bosh_product_sections/advanced_infrastructure_config.rb
310
+ - lib/ops_manager_ui_drivers/version19/bosh_product_sections/availability_zones.rb
311
+ - lib/ops_manager_ui_drivers/version19/bosh_product_sections/bosh_product_form_section.rb
312
+ - lib/ops_manager_ui_drivers/version19/bosh_product_sections/iaas_configuration.rb
313
+ - lib/ops_manager_ui_drivers/version19/bosh_product_sections/networks.rb
314
+ - lib/ops_manager_ui_drivers/version19/bosh_product_sections/subnet.rb
315
+ - lib/ops_manager_ui_drivers/version19/job_az_and_network_mapping_helper.rb
316
+ - lib/ops_manager_ui_drivers/version19/job_network_mapping_helper.rb
317
+ - lib/ops_manager_ui_drivers/version19/job_status_helper.rb
318
+ - lib/ops_manager_ui_drivers/version19/ops_manager_director.rb
319
+ - lib/ops_manager_ui_drivers/version19/product_availability_zones.rb
320
+ - lib/ops_manager_ui_drivers/version19/product_configuration.rb
321
+ - lib/ops_manager_ui_drivers/version19/product_dashboard.rb
322
+ - lib/ops_manager_ui_drivers/version19/product_errands.rb
323
+ - lib/ops_manager_ui_drivers/version19/product_form.rb
324
+ - lib/ops_manager_ui_drivers/version19/product_logs.rb
325
+ - lib/ops_manager_ui_drivers/version19/product_resource_configuration.rb
326
+ - lib/ops_manager_ui_drivers/version19/product_status_helper.rb
327
+ - lib/ops_manager_ui_drivers/version19/setup.rb
328
+ - lib/ops_manager_ui_drivers/version19/state_change_progress.rb
329
+ - lib/ops_manager_ui_drivers/version19/user_settings.rb
330
+ - lib/ops_manager_ui_drivers/version19/web_ui.rb
307
331
  - lib/ops_manager_ui_drivers/wait_helper.rb
308
332
  - ops_manager_ui_drivers.gemspec
309
333
  homepage: https://github.com/pivotal-cf-experimental/ops_manager_ui_drivers