authpds 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  module Authpds
2
- VERSION = "0.1.2"
2
+ VERSION = "0.2.0"
3
3
  end
data/test/support/user.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  class User < ActiveRecord::Base
2
- serialize :user_attributes
2
+ serialize :user_attributes
3
3
 
4
- acts_as_authentic do |c|
5
- c.validations_scope = :username
6
- c.validate_password_field = false
7
- c.require_password_confirmation = false
8
- end
4
+ acts_as_authentic do |c|
5
+ c.validations_scope = :username
6
+ c.validate_password_field = false
7
+ c.require_password_confirmation = false
8
+ end
9
9
  end
data/test/test_helper.rb CHANGED
@@ -41,7 +41,7 @@ require File.dirname(__FILE__) + '/../lib/authpds'
41
41
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
42
42
 
43
43
  class ActiveSupport::TestCase
44
- VALID_PDS_HANDLE_FOR_NYU = '293201211510129623735547952389'
44
+ VALID_PDS_HANDLE_FOR_NYU = '9112012142711297424383587031443'
45
45
  VALID_PDS_HANDLE_FOR_NEWSCHOOL = '272201212284614806184193096120278'
46
46
  VALID_PDS_HANDLE_FOR_COOPER = '272201212284614806184193096120278'
47
47
  INVALID_PDS_HANDLE = "Invalid"
@@ -1,14 +1,14 @@
1
1
  require 'test_helper'
2
2
  class ApplicationControllerTest < ActiveSupport::TestCase
3
-
3
+
4
4
  def setup
5
5
  activate_authlogic
6
6
  controller.session[:session_id] = "FakeSessionID"
7
- InstitutionList.class_variable_set(:@@institutions_yaml_path, nil)
8
- InstitutionList.instance.instance_variable_set(:@institutions, nil)
7
+ Institutions.send(:instance_variable_set, :@loadpaths, nil)
8
+ Institutions.send(:instance_variable_set, :@institutions, nil)
9
9
  controller.instance_variable_set(:@current_primary_institution, nil)
10
10
  end
11
-
11
+
12
12
  test "current_user_session_nil" do
13
13
  assert_nil(controller.current_user_session)
14
14
  end
@@ -39,17 +39,16 @@ class ApplicationControllerTest < ActiveSupport::TestCase
39
39
  test "current_primary_institution_default" do
40
40
  assert_nil(controller.current_primary_institution)
41
41
  controller.request[:session_id] = "FakeSessionID"
42
- InstitutionList.yaml_path= "#{File.dirname(__FILE__)}/../support/config/institutions.yml"
43
- assert_equal(InstitutionList.instance.get("NYUAD"), controller.current_primary_institution)
42
+ Institutions.loadpaths<< "#{File.dirname(__FILE__)}/../support/config"
43
+ assert_equal(Institutions.institutions[:NYUAD], controller.current_primary_institution)
44
44
  end
45
45
 
46
-
47
46
  test "current_primary_institution_user" do
48
47
  assert_nil(controller.current_primary_institution)
49
- InstitutionList.yaml_path= "#{File.dirname(__FILE__)}/../support/config/institutions.yml"
48
+ Institutions.loadpaths<< "#{File.dirname(__FILE__)}/../support/config"
50
49
  controller.cookies[:PDS_HANDLE] = { :value => VALID_PDS_HANDLE_FOR_NYU }
51
50
  assert_equal("N12162279", controller.current_user.username)
52
- assert_equal(InstitutionList.instance.get("NYU"), controller.current_user.primary_institution)
53
- assert_equal(InstitutionList.instance.get("NYU"), controller.current_primary_institution)
51
+ assert_equal(Institutions.institutions[:NYU], controller.current_user.primary_institution)
52
+ assert_equal(Institutions.institutions[:NYU], controller.current_primary_institution)
54
53
  end
55
54
  end
@@ -1,12 +1,12 @@
1
1
  require 'test_helper'
2
2
  class UserSessionsControllerTest < ActiveSupport::TestCase
3
-
3
+
4
4
  def setup
5
5
  activate_authlogic
6
6
  controller.session[:session_id] = "FakeSessionID"
7
7
  controller.cookies[:PDS_HANDLE] = { :value => VALID_PDS_HANDLE_FOR_NYU }
8
8
  end
9
-
9
+
10
10
  test "current_user_session" do
11
11
  user_session = controller.current_user_session
12
12
  end
@@ -1,7 +1,7 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class PdsTest < ActiveSupport::TestCase
4
-
4
+
5
5
  def setup
6
6
  @pds_url = "https://logindev.library.nyu.edu"
7
7
  @calling_system = "authpds"
@@ -9,18 +9,8 @@ class PdsTest < ActiveSupport::TestCase
9
9
  @valid_pds_handle_for_newschool = VALID_PDS_HANDLE_FOR_NEWSCHOOL
10
10
  @invalid_pds_handle = INVALID_PDS_HANDLE
11
11
  @attribute = "bor_info"
12
- # Ordered in Ruby 1.9 so :uid will overwrite id
13
- @bor_info_attributes = { :id => "id", :uid => "uid",
14
- :opensso => "opensso", :name => "name", :firstname => "givenname",
15
- :lastname => "sn", :commonname => "cn", :email => "email",
16
- :nyuidn => "nyuidn", :verification => "verification", :institute => "institute",
17
- :bor_status => "bor-status", :bor_type => "bor-type",
18
- :college_code => "college_code", :college_name => "college_name",
19
- :dept_name => "dept_name", :dept_code => "dept_code",
20
- :major_code => "major_code", :major => "major", :ill_permission => "ill-permission",
21
- :newschool_ldap => "newschool_ldap" }
22
12
  end
23
-
13
+
24
14
  test "get_attribute_valid" do
25
15
  get_attribute = Authpds::Exlibris::Pds::GetAttribute.new(@pds_url, @calling_system, @valid_pds_handle_for_nyu, "bor_info")
26
16
  assert_equal("N12162279", get_attribute.response.at("//id").inner_text)
@@ -31,23 +21,21 @@ class PdsTest < ActiveSupport::TestCase
31
21
  get_attribute = Authpds::Exlibris::Pds::GetAttribute.new(@pds_url, @calling_system, @valid_pds_handle_for_nyu, "authenticate")
32
22
  assert_equal("N12162279", get_attribute.response.at("//id").inner_text)
33
23
  end
34
-
24
+
35
25
  test "get_attribute_invalid" do
36
26
  get_attribute = Authpds::Exlibris::Pds::GetAttribute.new(@pds_url, @calling_system, @invalid_pds_handle, "bor_info")
37
27
  assert_equal("Error User does not exist", get_attribute.error)
38
28
  end
39
-
29
+
40
30
  test "bor_info_valid_nyu" do
41
31
  nyu = Authpds::Exlibris::Pds::BorInfo.new(@pds_url, @calling_system, @valid_pds_handle_for_nyu)
42
32
  assert_equal("N12162279", nyu.id)
43
- assert_equal("std5", nyu.uid)
44
33
  assert_equal("N12162279", nyu.nyuidn)
45
34
  assert_equal("51", nyu.bor_status)
46
35
  assert_equal("CB", nyu.bor_type)
47
- assert_equal("true", nyu.opensso)
48
- assert_equal("Scot Thomas", nyu.name)
49
- assert_equal("Scot Thomas", nyu.givenname)
50
- assert_equal("Dalton", nyu.sn)
36
+ assert_equal("SCOT THOMAS", nyu.name)
37
+ assert_equal("SCOT THOMAS", nyu.givenname)
38
+ assert_equal("DALTON", nyu.sn)
51
39
  assert_equal("Y", nyu.ill_permission)
52
40
  assert_equal("GA", nyu.college_code)
53
41
  assert_equal("CSCI", nyu.dept_code)
@@ -57,7 +45,6 @@ class PdsTest < ActiveSupport::TestCase
57
45
  test "bor_info_valid_newschool" do
58
46
  newschool = Authpds::Exlibris::Pds::BorInfo.new(@pds_url, @calling_system, @valid_pds_handle_for_newschool)
59
47
  assert_equal("N00206454", newschool.id)
60
- assert_equal("314519567249252", newschool.uid)
61
48
  assert_equal("N00206454", newschool.nyuidn)
62
49
  assert_equal("31", newschool.bor_status)
63
50
  assert_equal("0", newschool.bor_type)
@@ -67,7 +54,7 @@ class PdsTest < ActiveSupport::TestCase
67
54
  assert_equal("Jones", newschool.sn)
68
55
  assert_equal("Y", newschool.ill_permission)
69
56
  end
70
-
57
+
71
58
  test "bor_info_invalid" do
72
59
  get_attribute = Authpds::Exlibris::Pds::BorInfo.new(@pds_url, @calling_system, @invalid_pds_handle)
73
60
  assert_equal("Error User does not exist", get_attribute.error)
@@ -1,70 +1,68 @@
1
1
  require 'test_helper'
2
2
  class UserSessionTest < ActiveSupport::TestCase
3
-
3
+
4
4
  def setup
5
5
  activate_authlogic
6
6
  controller.session[:session_id] = "FakeSessionID"
7
7
  controller.cookies[:PDS_HANDLE] = { :value => VALID_PDS_HANDLE_FOR_NYU }
8
8
  end
9
-
9
+
10
10
  test "login_url" do
11
11
  user_session = UserSession.new
12
12
  assert_equal(
13
- "https://logindev.library.nyu.edu/pds?func=load-login&institute=&calling_system=authpds&url=http%3A%2F%2Frailsapp.library.nyu.edu%2Fvalidate%3Freturn_url%3D",
13
+ "https://logindev.library.nyu.edu/pds?func=load-login&institute=&calling_system=authpds&url=http%3A%2F%2Frailsapp.library.nyu.edu%2Fvalidate%3Freturn_url%3D",
14
14
  user_session.login_url)
15
15
  end
16
-
16
+
17
17
  test "logout_url" do
18
18
  user_session = UserSession.new
19
19
  assert_equal(
20
- "https://logindev.library.nyu.edu/pds?func=logout&url=http%3A%2F%2Fbobcatdev.library.nyu.edu",
20
+ "https://logindev.library.nyu.edu/pds?func=logout&url=http%3A%2F%2Fbobcatdev.library.nyu.edu",
21
21
  user_session.logout_url)
22
22
  end
23
-
23
+
24
24
  test "sso_url" do
25
25
  user_session = UserSession.new
26
26
  assert_equal(
27
- "https://logindev.library.nyu.edu/pds?func=sso&institute=&calling_system=authpds&url=http%3A%2F%2Frailsapp.library.nyu.edu%2Fvalidate%3Freturn_url%3D",
27
+ "https://logindev.library.nyu.edu/pds?func=sso&institute=&calling_system=authpds&url=http%3A%2F%2Frailsapp.library.nyu.edu%2Fvalidate%3Freturn_url%3D",
28
28
  user_session.sso_url)
29
29
  end
30
-
30
+
31
31
  test "validate_url" do
32
32
  user_session = UserSession.new
33
33
  assert_equal(
34
- "http://railsapp.library.nyu.edu/validate?return_url=http://railsapp.library.nyu.edu",
34
+ "http://railsapp.library.nyu.edu/validate?return_url=http://railsapp.library.nyu.edu",
35
35
  user_session.send(:validate_url, :return_url => "http://railsapp.library.nyu.edu"))
36
36
  assert_equal(
37
- "http://railsapp.library.nyu.edu/validate?return_url=http://railsapp.library.nyu.edu&authpds_custom_param1=custom_param1",
38
- user_session.send(:validate_url, :controller => "test_controller",
37
+ "http://railsapp.library.nyu.edu/validate?return_url=http://railsapp.library.nyu.edu&authpds_custom_param1=custom_param1",
38
+ user_session.send(:validate_url, :controller => "test_controller",
39
39
  :action => "test_action", :return_url => "http://railsapp.library.nyu.edu",
40
40
  :custom_param1 => "custom_param1"))
41
41
  end
42
-
42
+
43
43
  test "pds_handle" do
44
44
  user_session = UserSession.new
45
45
  assert_equal(VALID_PDS_HANDLE_FOR_NYU, user_session.send(:pds_handle))
46
46
  end
47
-
47
+
48
48
  test "pds_user" do
49
49
  user_session = UserSession.new
50
50
  pds_user = user_session.pds_user
51
51
  assert_instance_of(Authpds::Exlibris::Pds::BorInfo, pds_user)
52
52
  assert_equal("N12162279", pds_user.id)
53
- assert_equal("std5", pds_user.uid)
54
53
  assert_equal("N12162279", pds_user.nyuidn)
55
54
  assert_equal("51", pds_user.bor_status)
56
55
  assert_equal("CB", pds_user.bor_type)
57
- assert_equal("true", pds_user.opensso)
58
- assert_equal("Scot Thomas", pds_user.name)
59
- assert_equal("Scot Thomas", pds_user.givenname)
60
- assert_equal("Dalton", pds_user.sn)
56
+ assert_equal("SCOT THOMAS", pds_user.name)
57
+ assert_equal("SCOT THOMAS", pds_user.givenname)
58
+ assert_equal("DALTON", pds_user.sn)
61
59
  assert_equal("Y", pds_user.ill_permission)
62
60
  assert_equal("GA", pds_user.college_code)
63
61
  assert_equal("CSCI", pds_user.dept_code)
64
62
  assert_equal("Information Systems", pds_user.major)
65
63
  assert_equal("NYU", pds_user.institute)
66
64
  end
67
-
65
+
68
66
  test "persist_session" do
69
67
  user_session = UserSession.new
70
68
  assert_nil(controller.session["authpds_credentials"])
@@ -77,7 +75,7 @@ class UserSessionTest < ActiveSupport::TestCase
77
75
  assert_nil(user_session.record)
78
76
  assert_equal("N12162279", user_session.send(:attempted_record).username)
79
77
  end
80
-
78
+
81
79
  test "find" do
82
80
  user_session = UserSession.new
83
81
  assert_nil(controller.session["authpds_credentials"])
@@ -92,12 +90,12 @@ class UserSessionTest < ActiveSupport::TestCase
92
90
  assert_equal(controller.session["authpds_credentials"], user_session.record.persistence_token)
93
91
  assert_equal("N12162279", user_session.record.username)
94
92
  end
95
-
93
+
96
94
  test "expiration_date" do
97
95
  user_session = UserSession.new
98
96
  assert_in_delta(-0.00001, 1.day.ago.to_f, user_session.expiration_date.to_f)
99
97
  end
100
-
98
+
101
99
  test "get_record" do
102
100
  user_session = UserSession.new
103
101
  record = user_session.send(:get_record, "std5")
@@ -1,12 +1,11 @@
1
1
  require 'test_helper'
2
2
  class UserSessionTest < ActiveSupport::TestCase
3
-
4
3
  def setup
5
4
  activate_authlogic
6
5
  controller.session[:session_id] = "FakeSessionID"
7
6
  controller.cookies[:PDS_HANDLE] = { :value => VALID_PDS_HANDLE_FOR_NYU }
8
- InstitutionList.class_variable_set(:@@institutions_yaml_path, nil)
9
- InstitutionList.instance.instance_variable_set(:@institutions, nil)
7
+ Institutions.send(:instance_variable_set, :@loadpaths, nil)
8
+ Institutions.send(:instance_variable_set, :@institutions, nil)
10
9
  end
11
10
 
12
11
  test "username=" do
@@ -20,8 +19,6 @@ class UserSessionTest < ActiveSupport::TestCase
20
19
  assert_not_equal(token1, token2)
21
20
  end
22
21
 
23
-
24
-
25
22
  test "user_attributes" do
26
23
  user = User.new
27
24
  user.user_attributes= {:test_attribute1 => "value1", :test_attribute2 => "value2"}
@@ -38,30 +35,39 @@ class UserSessionTest < ActiveSupport::TestCase
38
35
  assert_equal("value3.1", user.user_attributes[:test_attribute3])
39
36
  assert_equal("value4.1", user.user_attributes[:test_attribute4])
40
37
  end
41
-
38
+
42
39
  test "primary_institution" do
40
+ Institutions.loadpaths<< "#{File.dirname(__FILE__)}/../support/config"
41
+ user = User.new
42
+ assert_nothing_raised ArgumentError do
43
+ user.primary_institution= "NYU"
44
+ end
45
+ assert_equal(Institutions.institutions[:NYU], user.primary_institution)
46
+ end
47
+
48
+ test "primary_institution no institutions" do
43
49
  user = User.new
44
50
  assert_nothing_raised ArgumentError do
45
51
  user.primary_institution= "NYU"
46
52
  end
47
53
  assert_equal(nil, user.primary_institution)
48
- InstitutionList.yaml_path= "#{File.dirname(__FILE__)}/../support/config/institutions.yml"
49
- assert_equal(InstitutionList.instance.get("NYU"), user.primary_institution)
50
54
  end
51
-
55
+
52
56
  test "institutions" do
57
+ Institutions.loadpaths<< "#{File.dirname(__FILE__)}/../support/config"
53
58
  user = User.new
54
59
  assert_raise ArgumentError do
55
60
  user.institutions= "NYU"
56
61
  end
57
- assert_raise ArgumentError do
58
- user.institutions= ["NYU"]
59
- end
60
- assert_nil(user.institutions)
61
- InstitutionList.yaml_path= "#{File.dirname(__FILE__)}/../support/config/institutions.yml"
62
62
  user.institutions= ["NYU"]
63
63
  assert_not_nil(user.institutions)
64
- assert_equal([InstitutionList.instance.get("NYU")], user.institutions)
64
+ assert_equal([Institutions.institutions[:NYU]], user.institutions)
65
+ end
66
+
67
+ test "institutions not set" do
68
+ user = User.new
69
+ user.institutions= ["NYU"]
70
+ assert_nil(user.institutions)
65
71
  end
66
72
 
67
73
  test "expired?" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: authpds
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-24 00:00:00.000000000 Z
12
+ date: 2012-11-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -32,19 +32,35 @@ dependencies:
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
- - - ! '>='
35
+ - - ~>
36
36
  - !ruby/object:Gem::Version
37
- version: '0'
37
+ version: 3.1.3
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
- - - ! '>='
43
+ - - ~>
44
44
  - !ruby/object:Gem::Version
45
- version: '0'
45
+ version: 3.1.3
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: nokogiri
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 1.5.5
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 1.5.5
62
+ - !ruby/object:Gem::Dependency
63
+ name: institutions
48
64
  requirement: !ruby/object:Gem::Requirement
49
65
  none: false
50
66
  requirements:
@@ -87,8 +103,6 @@ files:
87
103
  - lib/authpds/controllers/authpds_controller.rb
88
104
  - lib/authpds/controllers/authpds_sessions_controller.rb
89
105
  - lib/authpds/exlibris/pds.rb
90
- - lib/authpds/institution.rb
91
- - lib/authpds/institution_list.rb
92
106
  - lib/authpds/session.rb
93
107
  - lib/authpds/version.rb
94
108
  - lib/authpds.rb
@@ -99,14 +113,11 @@ files:
99
113
  - test/authpds_test.rb
100
114
  - test/fixtures/users.yml
101
115
  - test/support/config/institutions.yml
102
- - test/support/config/institutions2.yml
103
116
  - test/support/user.rb
104
117
  - test/support/user_session.rb
105
118
  - test/test_helper.rb
106
119
  - test/unit/authpds_controller_test.rb
107
120
  - test/unit/authpds_user_sessions_controller_test.rb
108
- - test/unit/institution_list_test.rb
109
- - test/unit/institution_test.rb
110
121
  - test/unit/pds_test.rb
111
122
  - test/unit/user_session_test.rb
112
123
  - test/unit/user_test.rb
@@ -122,12 +133,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
122
133
  - - ! '>='
123
134
  - !ruby/object:Gem::Version
124
135
  version: '0'
136
+ segments:
137
+ - 0
138
+ hash: -3555265848561160058
125
139
  required_rubygems_version: !ruby/object:Gem::Requirement
126
140
  none: false
127
141
  requirements:
128
142
  - - ! '>='
129
143
  - !ruby/object:Gem::Version
130
144
  version: '0'
145
+ segments:
146
+ - 0
147
+ hash: -3555265848561160058
131
148
  requirements: []
132
149
  rubyforge_project:
133
150
  rubygems_version: 1.8.24
@@ -139,14 +156,11 @@ test_files:
139
156
  - test/authpds_test.rb
140
157
  - test/fixtures/users.yml
141
158
  - test/support/config/institutions.yml
142
- - test/support/config/institutions2.yml
143
159
  - test/support/user.rb
144
160
  - test/support/user_session.rb
145
161
  - test/test_helper.rb
146
162
  - test/unit/authpds_controller_test.rb
147
163
  - test/unit/authpds_user_sessions_controller_test.rb
148
- - test/unit/institution_list_test.rb
149
- - test/unit/institution_test.rb
150
164
  - test/unit/pds_test.rb
151
165
  - test/unit/user_session_test.rb
152
166
  - test/unit/user_test.rb