ops_manager_ui_drivers 2.38.0 → 2.39.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da61c9c42150aa9081f7cf5372522cac0c38ad66
|
4
|
+
data.tar.gz: 5c0cfa42da0ac2295b544beabeadfd7a026d8853
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b0a9f47efd363554ac1cda74e558da094ab85326002e3c7cb90c946e6e3875ace23a2fba4ab7b08a74b91726753ffb01a9b1873f23eec882489263b7c6935aec
|
7
|
+
data.tar.gz: 77d88f0ac130aa9b0e70cc833097f9f277720516f44b70ba6a65fa52b72fb257902d356bd67c641e54b53eb4ce3d0968e0e7e00720c86c55278829312ece179e
|
@@ -3,6 +3,74 @@ require 'ops_manager_ui_drivers/version19/product_dashboard'
|
|
3
3
|
module OpsManagerUiDrivers
|
4
4
|
module Version110
|
5
5
|
class ProductDashboard < Version19::ProductDashboard
|
6
|
+
def apply_updates(validate: true, errands: {})
|
7
|
+
open_dashboard
|
8
|
+
select_errand_states(errands)
|
9
|
+
|
10
|
+
browser.click_on 'install-action'
|
11
|
+
if validate
|
12
|
+
fail 'Install failed verification' if nonignorable_verification_failed?
|
13
|
+
allow_cpu_verification_errors
|
14
|
+
allow_privilege_verification_errors
|
15
|
+
allow_icmp_verification_errors #this is only for AWS; consider moving out
|
16
|
+
|
17
|
+
ignore_allowable_errors
|
18
|
+
assert_installation_started
|
19
|
+
end
|
20
|
+
|
21
|
+
ApplyUpdatesResult.new(browser: @browser)
|
22
|
+
end
|
23
|
+
|
24
|
+
def errands_with_state(product_name, errand_state)
|
25
|
+
option_value = translate_errand_state(errand_state)
|
26
|
+
open_dashboard
|
27
|
+
browser.execute_script "$('li.expandable > a.title').click()"
|
28
|
+
browser.all("[ name ^= 'errands[#{product_name}-' ]").
|
29
|
+
select { |select| select[:value] == option_value }.
|
30
|
+
map { |select| select[:name].match(/^errands\[.*\]\[run_(?:post_deploy|pre_delete)\]\[(.*)\]$/)[1]}
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def translate_errand_state(errand_state)
|
36
|
+
case errand_state
|
37
|
+
when 'On'
|
38
|
+
'true'
|
39
|
+
when 'Off'
|
40
|
+
'false'
|
41
|
+
when 'When Changed'
|
42
|
+
'when-changed'
|
43
|
+
else
|
44
|
+
raise "Unknown errand state: #{errand_state.inspect}"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def select_errand_states(errands)
|
49
|
+
browser.execute_script "$('li.expandable > a.title').click()"
|
50
|
+
|
51
|
+
errands.each do |product_name, errand_types|
|
52
|
+
errand_types.each do |errand_type, errand_selections|
|
53
|
+
errand_selections.each do |errand_identifier, errand_run_state|
|
54
|
+
|
55
|
+
state_map = {
|
56
|
+
true => 0,
|
57
|
+
false => 1,
|
58
|
+
'when-changed' => 2,
|
59
|
+
}
|
60
|
+
|
61
|
+
browser.execute_script(
|
62
|
+
<<-JS
|
63
|
+
$(
|
64
|
+
'[ name ^= "errands[#{product_name}-" ]' +
|
65
|
+
'[ name *= "][#{errand_type}" ]' +
|
66
|
+
'[ name $= "][#{errand_identifier}]" ]'
|
67
|
+
).prop('selectedIndex', #{state_map[errand_run_state]})
|
68
|
+
JS
|
69
|
+
)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
6
74
|
end
|
7
75
|
end
|
8
76
|
end
|
@@ -3,43 +3,39 @@ require 'ops_manager_ui_drivers/version19/product_errands'
|
|
3
3
|
module OpsManagerUiDrivers
|
4
4
|
module Version110
|
5
5
|
class ProductErrands < Version19::ProductErrands
|
6
|
-
def
|
6
|
+
def set_errand_state(errand_name, errand_state)
|
7
|
+
validate_errand_state(errand_state)
|
7
8
|
open_form
|
8
|
-
|
9
|
-
set_check_box("errands[#{errand_name}][run_errand_post_deploy]", true)
|
9
|
+
browser.first(:css, %Q(select[name*="#{errand_name}"])).select(errand_state.to_s)
|
10
10
|
save_form
|
11
11
|
end
|
12
12
|
|
13
|
-
def
|
14
|
-
|
15
|
-
set_check_box("errands[#{errand_name}][run_errand_pre_delete]", false)
|
16
|
-
set_check_box("errands[#{errand_name}][run_errand_post_deploy]", false)
|
17
|
-
save_form
|
18
|
-
end
|
13
|
+
def errands_with_state(errand_state)
|
14
|
+
validate_errand_state(errand_state)
|
19
15
|
|
20
|
-
def enabled_errands
|
21
16
|
open_form
|
22
17
|
|
23
18
|
result = []
|
24
19
|
|
25
|
-
browser.all("
|
26
|
-
errand_name =
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
browser.all("input[type='checkbox'][name^='errands['][name$='][run_errand_pre_delete]'][checked='checked']").map do |checkbox|
|
31
|
-
errand_name = checkbox[:name].match(/errands\[(.*)\]\[run_errand_pre_delete\]/)[1]
|
32
|
-
result << errand_name
|
20
|
+
browser.all("select[ name^='errands[' ][ name*='][run_errand_' ]").map do |errand|
|
21
|
+
errand_name = errand[:name].match(/errands\[(.*)\]\[run_errand_.*\]/)[1]
|
22
|
+
selected_option = errand.find('option[selected]')
|
23
|
+
result << errand_name if selected_option.text == errand_state
|
33
24
|
end
|
34
25
|
|
35
26
|
result
|
36
27
|
end
|
37
28
|
|
29
|
+
%i(enabled_errands enable_errand disable_errand).each do |method_name|
|
30
|
+
define_method(method_name) do
|
31
|
+
raise "#{method_name} is deprecated in 1.10 and above"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
38
35
|
private
|
39
36
|
|
40
|
-
def
|
41
|
-
|
42
|
-
check_box.set(value) if check_box
|
37
|
+
def validate_errand_state(errand_state)
|
38
|
+
raise "Invalid errand state: #{errand_state.inspect}" unless ['On', 'Off', 'When Changed'].include?(errand_state)
|
43
39
|
end
|
44
40
|
end
|
45
41
|
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.
|
4
|
+
version: 2.39.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: 2017-02-
|
11
|
+
date: 2017-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|