authpds 0.0.16 → 0.0.17
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.
- data/lib/authpds/institution.rb +3 -3
- data/lib/authpds/institution_list.rb +1 -0
- data/lib/authpds/version.rb +1 -1
- data/test/test_helper.rb +2 -2
- data/test/unit/institution_list_test.rb +53 -0
- data/test/unit/institution_test.rb +17 -0
- data/test/unit/pds_test.rb +5 -2
- data/test/unit/user_test.rb +3 -4
- metadata +11 -7
data/lib/authpds/institution.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
class Institution < Struct.new(:display_name, :name, :default,
|
1
|
+
class Institution < Struct.new(:display_name, :name, :default,
|
2
2
|
:application_layout, :ip_addresses, :parent_institution, :view_attributes, :login_attributes)
|
3
3
|
require 'ipaddr'
|
4
4
|
|
@@ -9,8 +9,8 @@ class Institution < Struct.new(:display_name, :name, :default,
|
|
9
9
|
members.each {|m| self.send( ("#{m}=").to_sym , (h.delete("#{m}".to_sym) || h.delete("#{m}"))) }
|
10
10
|
# If the institution is named default, take that as an
|
11
11
|
# indication that it's the default institution
|
12
|
-
default
|
13
|
-
default
|
12
|
+
self.default= true if name == "default" or name == "DEFAULT"
|
13
|
+
self.default= false unless default
|
14
14
|
# Log the fact that there are left overs in the hash
|
15
15
|
# Rails.logger.warn("The following institution settings were ignored: #{h.inspect}.") unless h.empty?
|
16
16
|
end
|
@@ -51,6 +51,7 @@ class InstitutionList
|
|
51
51
|
# Turn the institution hashes to Institutions
|
52
52
|
institution_list.each_pair do |institution_name, institution_hash|
|
53
53
|
institution_hash["name"] = institution_name
|
54
|
+
institution_hash["default"] = false if institution_hash["default"].nil?
|
54
55
|
# Merge with parent institution
|
55
56
|
institution_hash =
|
56
57
|
institution_list[institution_hash["parent_institution"]].
|
data/lib/authpds/version.rb
CHANGED
data/test/test_helper.rb
CHANGED
@@ -37,11 +37,11 @@ ActiveRecord::Schema.define(:version => 1) do
|
|
37
37
|
end
|
38
38
|
|
39
39
|
# Load support files
|
40
|
-
require File.dirname(__FILE__) + '/../lib/authpds'
|
40
|
+
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 = '
|
44
|
+
VALID_PDS_HANDLE_FOR_NYU = '732012103839115682024010207789'
|
45
45
|
VALID_PDS_HANDLE_FOR_NEWSCHOOL = '272201212284614806184193096120278'
|
46
46
|
VALID_PDS_HANDLE_FOR_COOPER = '272201212284614806184193096120278'
|
47
47
|
INVALID_PDS_HANDLE = "Invalid"
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class InstitutionListTest < ActiveSupport::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
InstitutionList.class_variable_set(:@@institutions_yaml_path, nil)
|
7
|
+
InstitutionList.instance.instance_variable_set(:@institutions, nil)
|
8
|
+
@yaml_path = "#{File.dirname(__FILE__)}/../support/config/institutions.yml"
|
9
|
+
end
|
10
|
+
|
11
|
+
test "yaml_path" do
|
12
|
+
assert_raise ArgumentError do
|
13
|
+
InstitutionList.yaml_path= nil
|
14
|
+
end
|
15
|
+
assert_raise NameError do
|
16
|
+
InstitutionList.yaml_path= "garbage_path"
|
17
|
+
end
|
18
|
+
assert_nothing_raised do
|
19
|
+
InstitutionList.yaml_path= @yaml_path
|
20
|
+
InstitutionList.instance.institutions
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
test "defined" do
|
25
|
+
assert(!InstitutionList.institutions_defined?)
|
26
|
+
InstitutionList.yaml_path= @yaml_path
|
27
|
+
assert(InstitutionList.institutions_defined?)
|
28
|
+
end
|
29
|
+
|
30
|
+
test "defaults" do
|
31
|
+
assert_raise ArgumentError do
|
32
|
+
InstitutionList.instance.defaults
|
33
|
+
end
|
34
|
+
assert_nothing_raised do
|
35
|
+
InstitutionList.yaml_path= @yaml_path
|
36
|
+
InstitutionList.instance.defaults
|
37
|
+
end
|
38
|
+
assert_not_nil(InstitutionList.instance.defaults)
|
39
|
+
assert_equal([InstitutionList.instance.get("NYUAD")], InstitutionList.instance.defaults)
|
40
|
+
end
|
41
|
+
|
42
|
+
test "institutions_with_ip" do
|
43
|
+
assert_raise ArgumentError do
|
44
|
+
InstitutionList.instance.institutions_with_ip "128.122.149.122"
|
45
|
+
end
|
46
|
+
assert_nothing_raised do
|
47
|
+
InstitutionList.yaml_path= @yaml_path
|
48
|
+
InstitutionList.instance.institutions_with_ip "128.122.149.122"
|
49
|
+
end
|
50
|
+
assert_not_nil(InstitutionList.instance.institutions_with_ip "128.122.149.122")
|
51
|
+
assert_equal([InstitutionList.instance.get("NYU")], InstitutionList.instance.institutions_with_ip("128.122.149.122"))
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class InstitutionTest < ActiveSupport::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
end
|
7
|
+
|
8
|
+
test "default" do
|
9
|
+
default_name_institution = Institution.new({"name" => "default"})
|
10
|
+
assert(default_name_institution.default, "Default name didn't work.")
|
11
|
+
regular_institution = Institution.new({"name" => "not_default"})
|
12
|
+
assert(!regular_institution.default, "Default attribute didn't work.")
|
13
|
+
default_attribute_institution = Institution.new({"name" => "not_default", "default" => "true"})
|
14
|
+
assert(default_attribute_institution.default)
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
data/test/unit/pds_test.rb
CHANGED
@@ -3,7 +3,7 @@ require 'test_helper'
|
|
3
3
|
class PdsTest < ActiveSupport::TestCase
|
4
4
|
|
5
5
|
def setup
|
6
|
-
@pds_url = "https://
|
6
|
+
@pds_url = "https://logindev.library.nyu.edu"
|
7
7
|
@calling_system = "authpds"
|
8
8
|
@valid_pds_handle_for_nyu = VALID_PDS_HANDLE_FOR_NYU
|
9
9
|
@valid_pds_handle_for_newschool = VALID_PDS_HANDLE_FOR_NEWSCHOOL
|
@@ -37,7 +37,7 @@ class PdsTest < ActiveSupport::TestCase
|
|
37
37
|
assert_equal("Error User does not exist", get_attribute.error)
|
38
38
|
end
|
39
39
|
|
40
|
-
test "
|
40
|
+
test "bor_info_valid_nyu" do
|
41
41
|
nyu = Authpds::Exlibris::Pds::BorInfo.new(@pds_url, @calling_system, @valid_pds_handle_for_nyu, @bor_info_attributes)
|
42
42
|
assert_equal("N12162279", nyu.id)
|
43
43
|
assert_equal("std5", nyu.uid)
|
@@ -52,6 +52,9 @@ class PdsTest < ActiveSupport::TestCase
|
|
52
52
|
assert_equal("GA", nyu.college_code)
|
53
53
|
assert_equal("CSCI", nyu.dept_code)
|
54
54
|
assert_equal("Information Systems", nyu.major)
|
55
|
+
end
|
56
|
+
|
57
|
+
test "bor_info_valid_newschool" do
|
55
58
|
newschool = Authpds::Exlibris::Pds::BorInfo.new(@pds_url, @calling_system, @valid_pds_handle_for_newschool, @bor_info_attributes)
|
56
59
|
assert_equal("N00206454", newschool.id)
|
57
60
|
assert_equal("314519567249252", newschool.uid)
|
data/test/unit/user_test.rb
CHANGED
@@ -41,13 +41,12 @@ class UserSessionTest < ActiveSupport::TestCase
|
|
41
41
|
|
42
42
|
test "primary_institution" do
|
43
43
|
user = User.new
|
44
|
-
assert_raise ArgumentError do
|
45
|
-
user.primary_institution= "NYU"
|
46
|
-
end
|
47
|
-
InstitutionList.yaml_path= "#{File.dirname(__FILE__)}/../support/config/institutions.yml"
|
48
44
|
assert_nothing_raised ArgumentError do
|
49
45
|
user.primary_institution= "NYU"
|
50
46
|
end
|
47
|
+
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)
|
51
50
|
end
|
52
51
|
|
53
52
|
test "institutions" 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.0.
|
4
|
+
version: 0.0.17
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-03-07 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &2151877280 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.2.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2151877280
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: authlogic
|
27
|
-
requirement: &
|
27
|
+
requirement: &2151876220 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2151876220
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: nokogiri
|
38
|
-
requirement: &
|
38
|
+
requirement: &2151869780 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2151869780
|
47
47
|
description: Libraries that use Ex Libris products, can integrate Rails application
|
48
48
|
with PDS to provide single sign-on across systems.
|
49
49
|
email:
|
@@ -73,6 +73,8 @@ files:
|
|
73
73
|
- test/test_helper.rb
|
74
74
|
- test/unit/authpds_controller_test.rb
|
75
75
|
- test/unit/authpds_user_sessions_controller_test.rb
|
76
|
+
- test/unit/institution_list_test.rb
|
77
|
+
- test/unit/institution_test.rb
|
76
78
|
- test/unit/pds_test.rb
|
77
79
|
- test/unit/user_session_test.rb
|
78
80
|
- test/unit/user_test.rb
|
@@ -110,6 +112,8 @@ test_files:
|
|
110
112
|
- test/test_helper.rb
|
111
113
|
- test/unit/authpds_controller_test.rb
|
112
114
|
- test/unit/authpds_user_sessions_controller_test.rb
|
115
|
+
- test/unit/institution_list_test.rb
|
116
|
+
- test/unit/institution_test.rb
|
113
117
|
- test/unit/pds_test.rb
|
114
118
|
- test/unit/user_session_test.rb
|
115
119
|
- test/unit/user_test.rb
|