prof 0.30.6 → 0.30.7

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: e844df58b63e8b0f8819830ee5ba8122bc89e55a
4
- data.tar.gz: bde66b9a79de335d09f59b9ffc59a17d01840c6c
3
+ metadata.gz: 1415f762d89b855b9d748288c8da924a1f3f29f6
4
+ data.tar.gz: 5a8a74f6120097a1f73e88a24021ec2266c9db92
5
5
  SHA512:
6
- metadata.gz: 41a1d8634b46d10379818ea7c1e7d996961b9b322b0dc450911f87928d80397d255199605fe577d2295dc5b797b9f09adc9fb22f6183ceaaf746ac726aa211ab
7
- data.tar.gz: 23e280c3a22368ee84aafb6066ec55882e0ffacaf6e0d2799de8e5c234b734aa46ba9bddc84a95c9b40177f703ea7b66bb11a8d72a2457ad4cee955daf560766
6
+ metadata.gz: d981a5a9bfa254b3b0cca4129884bfb859ba60288bd148f8e3224e91ae96858251281935cdce00c226c71b416a8d02cd4741e0e1132bad49cabb1a6cfb77feec
7
+ data.tar.gz: ec32875d427f74865e2cdc4e92e18c041946c7fe75b36ae2bdc8b416e250b7cf6005cf9bde9e592e3656b3d0c03808fdc2de3c0fc21fb87caccf2e91507ea938
@@ -21,12 +21,13 @@ module Prof
21
21
  class OpsManager
22
22
  extend Forwardable
23
23
 
24
- def initialize(url:, username:, password:, page: default_capybara_session, log_fetcher: null_log_fetcher)
24
+ def initialize(url:, username:, password:, page: default_capybara_session, log_fetcher: null_log_fetcher, version: "1.6")
25
25
  @url = url
26
26
  @username = username
27
27
  @password = password
28
28
  @page = page
29
29
  @log_fetcher = log_fetcher
30
+ @version = Gem::Version.new(version)
30
31
  end
31
32
 
32
33
  attr_reader :url
@@ -107,7 +108,7 @@ module Prof
107
108
 
108
109
  private
109
110
 
110
- attr_reader :username, :password, :page, :log_fetcher
111
+ attr_reader :username, :password, :page, :log_fetcher, :version
111
112
 
112
113
  def default_capybara_session
113
114
  Capybara::Session.new(Capybara.default_driver)
@@ -126,7 +127,7 @@ module Prof
126
127
  end
127
128
 
128
129
  def login_page
129
- @login_page ||= WebAppInternals::Page::Login.new(page: page, url: url, username: username, password: password)
130
+ @login_page ||= WebAppInternals::Page::Login.new(page: page, url: url, username: username, password: password, version: version)
130
131
  end
131
132
 
132
133
  def null_log_fetcher
@@ -9,7 +9,6 @@
9
9
  #
10
10
 
11
11
  require 'uri'
12
-
13
12
  require 'prof/ops_manager/web_app_internals/page/dashboard'
14
13
 
15
14
  module Prof
@@ -17,11 +16,12 @@ module Prof
17
16
  class WebAppInternals
18
17
  module Page
19
18
  class Login
20
- def initialize(page:, url:, username:, password:)
19
+ def initialize(page:, url:, username:, password:, version:)
21
20
  @page = page
22
21
  @url = url
23
22
  @username = username
24
23
  @password = password
24
+ @version = version
25
25
 
26
26
  resp = page.visit login_url
27
27
 
@@ -32,20 +32,50 @@ module Prof
32
32
 
33
33
  def login
34
34
  puts "Logging into tempest at #{login_url}"
35
- page.fill_in 'login[user_name]', with: username
36
- page.fill_in 'login[password]', with: password
37
- page.click_on 'login-action'
35
+ if login_via_uaa?
36
+ uaa_login
37
+ else
38
+ basic_login
39
+ end
38
40
 
39
41
  Dashboard.new(page: page)
40
42
  end
41
43
 
42
44
  private
43
45
 
44
- attr_reader :page, :url, :username, :password
46
+ attr_reader :page, :url, :username, :password, :version
45
47
 
46
48
  def login_url
49
+ if login_via_uaa?
50
+ uaa_login_url
51
+ else
52
+ basic_login_url
53
+ end
54
+ end
55
+
56
+ def login_via_uaa?
57
+ version >= Gem::Version.new("1.7")
58
+ end
59
+
60
+ def uaa_login_url
61
+ URI.join(url, "uaa/login")
62
+ end
63
+
64
+ def basic_login_url
47
65
  URI.join(url, 'login')
48
66
  end
67
+
68
+ def uaa_login
69
+ page.fill_in 'username', with: username
70
+ page.fill_in 'password', with: password
71
+ page.click_on 'Sign in'
72
+ end
73
+
74
+ def basic_login
75
+ page.fill_in 'login[user_name]', with: username
76
+ page.fill_in 'login[password]', with: password
77
+ page.click_on 'login-action'
78
+ end
49
79
  end
50
80
  end
51
81
  end
@@ -59,7 +59,7 @@ module Prof
59
59
  def sidebar(next_settings_name, &_block)
60
60
  return self if next_settings_name == current_setting_name
61
61
 
62
- page.find('li a', text: /^\s*#{next_settings_name}\s*$/).click
62
+ page.find('.sidebar li a', text: /^\s*#{next_settings_name}\s*$/).click
63
63
 
64
64
  if block_given?
65
65
  yield page
@@ -9,5 +9,5 @@
9
9
  #
10
10
 
11
11
  module Prof
12
- VERSION = '0.30.6'
12
+ VERSION = '0.30.7'
13
13
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prof
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.30.6
4
+ version: 0.30.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - CF London
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-18 00:00:00.000000000 Z
11
+ date: 2016-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem-release