ops_manager_ui_drivers 1.6.3 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
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