ops_manager_ui_drivers 0.13.0 → 0.14.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.
- checksums.yaml +4 -4
- data/lib/ops_manager_ui_drivers/page_helpers.rb +9 -1
- data/lib/ops_manager_ui_drivers/version.rb +1 -1
- data/lib/ops_manager_ui_drivers/version15/api_1_5.rb +42 -0
- data/lib/ops_manager_ui_drivers/version16/availability_zones.rb +54 -0
- data/lib/ops_manager_ui_drivers/version16/available_products.rb +24 -0
- data/lib/ops_manager_ui_drivers/version16/iaas_configuration.rb +28 -0
- data/lib/ops_manager_ui_drivers/version16/job_availability_zone_mapping_helper.rb +70 -0
- data/lib/ops_manager_ui_drivers/version16/job_network_mapping_helper.rb +47 -0
- data/lib/ops_manager_ui_drivers/version16/job_status_helper.rb +17 -0
- data/lib/ops_manager_ui_drivers/version16/networks.rb +55 -0
- data/lib/ops_manager_ui_drivers/version16/ops_manager_director.rb +190 -0
- data/lib/ops_manager_ui_drivers/version16/product_availability_zones.rb +38 -0
- data/lib/ops_manager_ui_drivers/version16/product_configuration.rb +34 -0
- data/lib/ops_manager_ui_drivers/version16/product_dashboard.rb +177 -0
- data/lib/ops_manager_ui_drivers/version16/product_form.rb +61 -0
- data/lib/ops_manager_ui_drivers/version16/product_logs.rb +38 -0
- data/lib/ops_manager_ui_drivers/version16/product_resource_configuration.rb +69 -0
- data/lib/ops_manager_ui_drivers/version16/product_status_helper.rb +64 -0
- data/lib/ops_manager_ui_drivers/version16/settings.rb +118 -0
- data/lib/ops_manager_ui_drivers/version16/setup.rb +44 -0
- data/lib/ops_manager_ui_drivers/version16/state_change_progress.rb +43 -0
- data/lib/ops_manager_ui_drivers/version16/web_ui.rb +110 -0
- 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.
|
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-
|
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.
|
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
|