prof 0.30.6 → 0.30.7

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