ops_manager_ui_drivers 0.13.0 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (24) 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/version15/api_1_5.rb +42 -0
  5. data/lib/ops_manager_ui_drivers/version16/availability_zones.rb +54 -0
  6. data/lib/ops_manager_ui_drivers/version16/available_products.rb +24 -0
  7. data/lib/ops_manager_ui_drivers/version16/iaas_configuration.rb +28 -0
  8. data/lib/ops_manager_ui_drivers/version16/job_availability_zone_mapping_helper.rb +70 -0
  9. data/lib/ops_manager_ui_drivers/version16/job_network_mapping_helper.rb +47 -0
  10. data/lib/ops_manager_ui_drivers/version16/job_status_helper.rb +17 -0
  11. data/lib/ops_manager_ui_drivers/version16/networks.rb +55 -0
  12. data/lib/ops_manager_ui_drivers/version16/ops_manager_director.rb +190 -0
  13. data/lib/ops_manager_ui_drivers/version16/product_availability_zones.rb +38 -0
  14. data/lib/ops_manager_ui_drivers/version16/product_configuration.rb +34 -0
  15. data/lib/ops_manager_ui_drivers/version16/product_dashboard.rb +177 -0
  16. data/lib/ops_manager_ui_drivers/version16/product_form.rb +61 -0
  17. data/lib/ops_manager_ui_drivers/version16/product_logs.rb +38 -0
  18. data/lib/ops_manager_ui_drivers/version16/product_resource_configuration.rb +69 -0
  19. data/lib/ops_manager_ui_drivers/version16/product_status_helper.rb +64 -0
  20. data/lib/ops_manager_ui_drivers/version16/settings.rb +118 -0
  21. data/lib/ops_manager_ui_drivers/version16/setup.rb +44 -0
  22. data/lib/ops_manager_ui_drivers/version16/state_change_progress.rb +43 -0
  23. data/lib/ops_manager_ui_drivers/version16/web_ui.rb +110 -0
  24. metadata +23 -3
@@ -0,0 +1,110 @@
1
+ require 'net/https'
2
+ require 'date'
3
+
4
+ module OpsManagerUiDrivers
5
+ module Version16
6
+ class WebUi
7
+ def initialize(browser: nil)
8
+ @browser = browser
9
+ end
10
+
11
+ def setup_page
12
+ Version16::Setup.new(browser: browser)
13
+ end
14
+
15
+ def product_dashboard
16
+ Version16::ProductDashboard.new(browser: browser)
17
+ end
18
+
19
+ def state_change_progress
20
+ Version16::StateChangeProgress.new(browser: browser)
21
+ end
22
+
23
+ def available_products
24
+ Version16::AvailableProducts.new(browser: browser)
25
+ end
26
+
27
+ def ops_manager_director
28
+ Version16::OpsManagerDirector.new(browser: browser)
29
+ end
30
+
31
+ def product_logs_for(product_name)
32
+ Version16::ProductLogs.new(browser: browser, product_name: product_name)
33
+ end
34
+
35
+ def product_resources_configuration(product_name)
36
+ Version16::ProductResourceConfiguration.new(browser: browser, product_name: product_name)
37
+ end
38
+
39
+ def product(product_name)
40
+ Version16::ProductConfiguration.new(browser: browser, product_name: product_name)
41
+ end
42
+
43
+ def product_status_for(product_name)
44
+ Version16::ProductStatusHelper.new(browser: browser, product_name: product_name)
45
+ end
46
+
47
+ def job_network_mapping_for(product_name)
48
+ Version16::JobNetworkMappingHelper.new(browser: browser, product_name: product_name)
49
+ end
50
+
51
+ def product_availability_zones(product_name)
52
+ Version16::ProductAvailabilityZones.new(browser: browser, product: product_name)
53
+ end
54
+
55
+ def assign_availability_zones_for_product(product:, zones:)
56
+ if zones
57
+ Version16::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-microbosh-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: 0.13.0
4
+ version: 0.14.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-07-24 00:00:00.000000000 Z
11
+ date: 2015-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara
@@ -192,6 +192,7 @@ files:
192
192
  - lib/ops_manager_ui_drivers/version14/setup.rb
193
193
  - lib/ops_manager_ui_drivers/version14/state_change_progress.rb
194
194
  - lib/ops_manager_ui_drivers/version14/web_ui.rb
195
+ - lib/ops_manager_ui_drivers/version15/api_1_5.rb
195
196
  - lib/ops_manager_ui_drivers/version15/availability_zones.rb
196
197
  - lib/ops_manager_ui_drivers/version15/available_products.rb
197
198
  - lib/ops_manager_ui_drivers/version15/iaas_configuration.rb
@@ -211,6 +212,25 @@ files:
211
212
  - lib/ops_manager_ui_drivers/version15/setup.rb
212
213
  - lib/ops_manager_ui_drivers/version15/state_change_progress.rb
213
214
  - lib/ops_manager_ui_drivers/version15/web_ui.rb
215
+ - lib/ops_manager_ui_drivers/version16/availability_zones.rb
216
+ - lib/ops_manager_ui_drivers/version16/available_products.rb
217
+ - lib/ops_manager_ui_drivers/version16/iaas_configuration.rb
218
+ - lib/ops_manager_ui_drivers/version16/job_availability_zone_mapping_helper.rb
219
+ - lib/ops_manager_ui_drivers/version16/job_network_mapping_helper.rb
220
+ - lib/ops_manager_ui_drivers/version16/job_status_helper.rb
221
+ - lib/ops_manager_ui_drivers/version16/networks.rb
222
+ - lib/ops_manager_ui_drivers/version16/ops_manager_director.rb
223
+ - lib/ops_manager_ui_drivers/version16/product_availability_zones.rb
224
+ - lib/ops_manager_ui_drivers/version16/product_configuration.rb
225
+ - lib/ops_manager_ui_drivers/version16/product_dashboard.rb
226
+ - lib/ops_manager_ui_drivers/version16/product_form.rb
227
+ - lib/ops_manager_ui_drivers/version16/product_logs.rb
228
+ - lib/ops_manager_ui_drivers/version16/product_resource_configuration.rb
229
+ - lib/ops_manager_ui_drivers/version16/product_status_helper.rb
230
+ - lib/ops_manager_ui_drivers/version16/settings.rb
231
+ - lib/ops_manager_ui_drivers/version16/setup.rb
232
+ - lib/ops_manager_ui_drivers/version16/state_change_progress.rb
233
+ - lib/ops_manager_ui_drivers/version16/web_ui.rb
214
234
  - lib/ops_manager_ui_drivers/wait_helper.rb
215
235
  - ops_manager_ui_drivers.gemspec
216
236
  homepage: https://github.com/pivotal-cf-experimental/ops_manager_ui_drivers
@@ -233,7 +253,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
233
253
  version: '0'
234
254
  requirements: []
235
255
  rubyforge_project:
236
- rubygems_version: 2.4.8
256
+ rubygems_version: 2.4.7
237
257
  signing_key:
238
258
  specification_version: 4
239
259
  summary: Capybara helpers for configuring Pivotal Ops Manager