ops_manager_ui_drivers 1.6.3 → 1.7.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 (27) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ops_manager_ui_drivers/page_helpers.rb +9 -1
  3. data/lib/ops_manager_ui_drivers/version.rb +1 -1
  4. data/lib/ops_manager_ui_drivers/version16/api_1_6.rb +42 -0
  5. data/lib/ops_manager_ui_drivers/version17/available_products.rb +25 -0
  6. data/lib/ops_manager_ui_drivers/version17/bosh_product_sections/advanced_infrastructure_config.rb +18 -0
  7. data/lib/ops_manager_ui_drivers/version17/bosh_product_sections/availability_zones.rb +29 -0
  8. data/lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb +39 -0
  9. data/lib/ops_manager_ui_drivers/version17/bosh_product_sections/iaas_configuration.rb +17 -0
  10. data/lib/ops_manager_ui_drivers/version17/bosh_product_sections/networks.rb +51 -0
  11. data/lib/ops_manager_ui_drivers/version17/job_availability_zone_mapping_helper.rb +70 -0
  12. data/lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb +47 -0
  13. data/lib/ops_manager_ui_drivers/version17/job_status_helper.rb +17 -0
  14. data/lib/ops_manager_ui_drivers/version17/ops_manager_director.rb +188 -0
  15. data/lib/ops_manager_ui_drivers/version17/product_availability_zones.rb +38 -0
  16. data/lib/ops_manager_ui_drivers/version17/product_configuration.rb +38 -0
  17. data/lib/ops_manager_ui_drivers/version17/product_dashboard.rb +191 -0
  18. data/lib/ops_manager_ui_drivers/version17/product_errands.rb +42 -0
  19. data/lib/ops_manager_ui_drivers/version17/product_form.rb +61 -0
  20. data/lib/ops_manager_ui_drivers/version17/product_logs.rb +38 -0
  21. data/lib/ops_manager_ui_drivers/version17/product_resource_configuration.rb +69 -0
  22. data/lib/ops_manager_ui_drivers/version17/product_status_helper.rb +64 -0
  23. data/lib/ops_manager_ui_drivers/version17/settings.rb +136 -0
  24. data/lib/ops_manager_ui_drivers/version17/setup.rb +44 -0
  25. data/lib/ops_manager_ui_drivers/version17/state_change_progress.rb +43 -0
  26. data/lib/ops_manager_ui_drivers/version17/web_ui.rb +110 -0
  27. metadata +25 -2
@@ -0,0 +1,110 @@
1
+ require 'net/https'
2
+ require 'date'
3
+
4
+ module OpsManagerUiDrivers
5
+ module Version17
6
+ class WebUi
7
+ def initialize(browser: nil)
8
+ @browser = browser
9
+ end
10
+
11
+ def setup_page
12
+ Version17::Setup.new(browser: browser)
13
+ end
14
+
15
+ def product_dashboard
16
+ Version17::ProductDashboard.new(browser: browser)
17
+ end
18
+
19
+ def state_change_progress
20
+ Version17::StateChangeProgress.new(browser: browser)
21
+ end
22
+
23
+ def available_products
24
+ Version17::AvailableProducts.new(browser: browser)
25
+ end
26
+
27
+ def ops_manager_director
28
+ Version17::OpsManagerDirector.new(browser: browser)
29
+ end
30
+
31
+ def product_logs_for(product_name)
32
+ Version17::ProductLogs.new(browser: browser, product_name: product_name)
33
+ end
34
+
35
+ def product_resources_configuration(product_name)
36
+ Version17::ProductResourceConfiguration.new(browser: browser, product_name: product_name)
37
+ end
38
+
39
+ def product(product_name)
40
+ Version17::ProductConfiguration.new(browser: browser, product_name: product_name)
41
+ end
42
+
43
+ def product_status_for(product_name)
44
+ Version17::ProductStatusHelper.new(browser: browser, product_name: product_name)
45
+ end
46
+
47
+ def job_network_mapping_for(product_name)
48
+ Version17::JobNetworkMappingHelper.new(browser: browser, product_name: product_name)
49
+ end
50
+
51
+ def product_availability_zones(product_name)
52
+ Version17::ProductAvailabilityZones.new(browser: browser, product: product_name)
53
+ end
54
+
55
+ def assign_availability_zones_for_product(product:, zones:)
56
+ if zones
57
+ Version17::JobAvailabilityZoneMappingHelper.new(
58
+ browser: browser,
59
+ product_name: product,
60
+ ).assign_availability_zones!(
61
+ singleton_availability_zone: zones[0]['name'],
62
+ availability_zones: zones.map { |z| z['name'] },
63
+ )
64
+ end
65
+ end
66
+
67
+ def current_time
68
+ uri = URI(Capybara.app_host)
69
+ uri.path = '/'
70
+ Net::HTTP.start(uri.hostname, uri.port, use_ssl: (uri.scheme == 'https'), verify_mode: OpenSSL::SSL::VERIFY_NONE) do |http|
71
+ response = http.request(Net::HTTP::Get.new(uri))
72
+ DateTime.parse(response['Date'])
73
+ end
74
+ end
75
+
76
+ def flash_message
77
+ browser.find('.flash-message').text
78
+ end
79
+
80
+ def availability_zone_guid_for_name(az_name)
81
+ browser.visit '/'
82
+ browser.click_on 'show-p-bosh-configure-action'
83
+ browser.click_on 'show-director-availability-zone-assignment-action'
84
+
85
+ availability_zone_options = find_az_field
86
+ availability_zone_options.each do |element|
87
+ if element.text == az_name
88
+ return element[:value]
89
+ end
90
+ end
91
+ end
92
+
93
+ private
94
+
95
+ attr_reader :browser
96
+
97
+ def guid
98
+ # jenkins gives us the job name in an environment variable, otherwise use the hostname
99
+ job_name = ENV['JOB_NAME'] || `hostname`.chomp.split(/\./).first
100
+ job_name.gsub(/[^[:alnum:]]+/, '_')
101
+ end
102
+
103
+ def find_az_field
104
+ browser.find_field('Singleton Availability Zone').all('option')
105
+ rescue Capybara::ElementNotFound
106
+ browser.find_field('Singleton Availability Zone', disabled: true).all('option')
107
+ end
108
+ end
109
+ end
110
+ 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: 1.6.3
4
+ version: 1.7.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: 2015-09-29 00:00:00.000000000 Z
11
+ date: 2015-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara
@@ -198,6 +198,7 @@ files:
198
198
  - lib/ops_manager_ui_drivers/version15/setup.rb
199
199
  - lib/ops_manager_ui_drivers/version15/state_change_progress.rb
200
200
  - lib/ops_manager_ui_drivers/version15/web_ui.rb
201
+ - lib/ops_manager_ui_drivers/version16/api_1_6.rb
201
202
  - lib/ops_manager_ui_drivers/version16/available_products.rb
202
203
  - lib/ops_manager_ui_drivers/version16/bosh_product_sections/advanced_infrastructure_config.rb
203
204
  - lib/ops_manager_ui_drivers/version16/bosh_product_sections/availability_zones.rb
@@ -220,6 +221,28 @@ files:
220
221
  - lib/ops_manager_ui_drivers/version16/setup.rb
221
222
  - lib/ops_manager_ui_drivers/version16/state_change_progress.rb
222
223
  - lib/ops_manager_ui_drivers/version16/web_ui.rb
224
+ - lib/ops_manager_ui_drivers/version17/available_products.rb
225
+ - lib/ops_manager_ui_drivers/version17/bosh_product_sections/advanced_infrastructure_config.rb
226
+ - lib/ops_manager_ui_drivers/version17/bosh_product_sections/availability_zones.rb
227
+ - lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
228
+ - lib/ops_manager_ui_drivers/version17/bosh_product_sections/iaas_configuration.rb
229
+ - lib/ops_manager_ui_drivers/version17/bosh_product_sections/networks.rb
230
+ - lib/ops_manager_ui_drivers/version17/job_availability_zone_mapping_helper.rb
231
+ - lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
232
+ - lib/ops_manager_ui_drivers/version17/job_status_helper.rb
233
+ - lib/ops_manager_ui_drivers/version17/ops_manager_director.rb
234
+ - lib/ops_manager_ui_drivers/version17/product_availability_zones.rb
235
+ - lib/ops_manager_ui_drivers/version17/product_configuration.rb
236
+ - lib/ops_manager_ui_drivers/version17/product_dashboard.rb
237
+ - lib/ops_manager_ui_drivers/version17/product_errands.rb
238
+ - lib/ops_manager_ui_drivers/version17/product_form.rb
239
+ - lib/ops_manager_ui_drivers/version17/product_logs.rb
240
+ - lib/ops_manager_ui_drivers/version17/product_resource_configuration.rb
241
+ - lib/ops_manager_ui_drivers/version17/product_status_helper.rb
242
+ - lib/ops_manager_ui_drivers/version17/settings.rb
243
+ - lib/ops_manager_ui_drivers/version17/setup.rb
244
+ - lib/ops_manager_ui_drivers/version17/state_change_progress.rb
245
+ - lib/ops_manager_ui_drivers/version17/web_ui.rb
223
246
  - lib/ops_manager_ui_drivers/wait_helper.rb
224
247
  - ops_manager_ui_drivers.gemspec
225
248
  homepage: https://github.com/pivotal-cf-experimental/ops_manager_ui_drivers