authpds-nyu 0.0.7 → 0.0.8
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-nyu.rb +1 -0
- data/lib/authpds-nyu/session.rb +7 -2
- data/lib/authpds-nyu/version.rb +1 -1
- data/test/support/user_session.rb +2 -2
- data/test/test_helper.rb +5 -4
- data/test/unit/user_session_test.rb +23 -0
- metadata +10 -12
- data/test/unit/aleph_bor_auth_test.rb +0 -28
    
        data/lib/authpds-nyu.rb
    CHANGED
    
    
    
        data/lib/authpds-nyu/session.rb
    CHANGED
    
    | @@ -61,6 +61,11 @@ module AuthpdsNyu | |
| 61 61 | 
             
                      login_inaccessible_url "http://library.nyu.edu/errors/login-library-nyu-edu/"
         | 
| 62 62 | 
             
                    end
         | 
| 63 63 | 
             
                  end
         | 
| 64 | 
            +
                  
         | 
| 65 | 
            +
                  # Override logout url for NYU.
         | 
| 66 | 
            +
                  def logout_url
         | 
| 67 | 
            +
                    return "#{self.class.pds_url}/logout?url=#{CGI::escape(controller.user_session_redirect_url(self.class.redirect_logout_url))}"
         | 
| 68 | 
            +
                  end
         | 
| 64 69 |  | 
| 65 70 | 
             
                  def aleph_bor_auth_permissions(bor_id=nil, verification=nil, adm=nil, sublibrary=nil)
         | 
| 66 71 | 
             
                    bor_auth = aleph_bor_auth(bor_id, verification, adm, sublibrary)
         | 
| @@ -75,8 +80,8 @@ module AuthpdsNyu | |
| 75 80 | 
             
                    sublibrary = self.class.aleph_default_sublibrary if sublibrary.nil?
         | 
| 76 81 | 
             
                    # Call X-Service
         | 
| 77 82 | 
             
                    bor_auth = 
         | 
| 78 | 
            -
                       | 
| 79 | 
            -
                        new(aleph_url, adm, sublibrary, "N", bor_id,  | 
| 83 | 
            +
                      Exlibris::Aleph::BorAuth.
         | 
| 84 | 
            +
                        new(aleph_url, adm, sublibrary, "N", bor_id, verification)
         | 
| 80 85 | 
             
                    controller.logger.error(
         | 
| 81 86 | 
             
                        "Error in #{self.class}. "+
         | 
| 82 87 | 
             
                        "No permissions returned from Aleph bor-auth for user with bor_id #{bor_id}."+
         | 
    
        data/lib/authpds-nyu/version.rb
    CHANGED
    
    
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            class UserSession < Authlogic::Session::Base
         | 
| 2 2 | 
             
              pds_url "https://logindev.library.nyu.edu"
         | 
| 3 | 
            -
              redirect_logout_url " | 
| 4 | 
            -
              aleph_url "http:// | 
| 3 | 
            +
              redirect_logout_url "http://bobcatdev.library.nyu.edu"
         | 
| 4 | 
            +
              aleph_url "http://aleph.library.nyu.edu"
         | 
| 5 5 | 
             
              calling_system "authpds-nyu"
         | 
| 6 6 | 
             
            end
         | 
    
        data/test/test_helper.rb
    CHANGED
    
    | @@ -42,9 +42,9 @@ require File.dirname(__FILE__) + '/../lib/authpds-nyu' | |
| 42 42 | 
             
            Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
         | 
| 43 43 |  | 
| 44 44 | 
             
            class ActiveSupport::TestCase
         | 
| 45 | 
            -
              VALID_OPENSSO_FOR_NYU = ' | 
| 45 | 
            +
              VALID_OPENSSO_FOR_NYU = 'AQIC5wM2LY4Sfcz_O7UA1U1KruO_dMKGYQQKYhZNqDgeEPI.*AAJTSQACMDIAAlNLAAstMTMwMzI0MzkzMwACUzEAAjAx*'
         | 
| 46 46 | 
             
              INVALID_OPENSSO = "Invalid"
         | 
| 47 | 
            -
              VALID_PDS_HANDLE_FOR_NEW_NYU = ' | 
| 47 | 
            +
              VALID_PDS_HANDLE_FOR_NEW_NYU = '293201211510129623735547952389'
         | 
| 48 48 | 
             
              VALID_PDS_HANDLE_FOR_EXISTING_NYU = '83201295456116368349190324314'
         | 
| 49 49 | 
             
              VALID_PDS_HANDLE_FOR_NEWSCHOOL = '272201212284614806184193096120278'
         | 
| 50 50 | 
             
              VALID_PDS_HANDLE_FOR_COOPER = '272201212284614806184193096120278'
         | 
| @@ -67,14 +67,15 @@ class Authlogic::TestCase::MockController | |
| 67 67 | 
             
              include Authpds::Controllers::AuthpdsController
         | 
| 68 68 |  | 
| 69 69 | 
             
              def url_for(options={})
         | 
| 70 | 
            -
                return " | 
| 70 | 
            +
                return "#{root_url}/validate?return_url=#{options[:return_url]}"
         | 
| 71 71 | 
             
              end
         | 
| 72 72 |  | 
| 73 73 | 
             
              def root_url
         | 
| 74 | 
            +
                return "http://railsapp.library.nyu.edu"
         | 
| 74 75 | 
             
              end
         | 
| 75 76 |  | 
| 76 77 | 
             
              def validate_url(options={})
         | 
| 77 | 
            -
                return " | 
| 78 | 
            +
                return "#{root_url}/validate?return_url=#{options[:return_url]}"
         | 
| 78 79 | 
             
              end
         | 
| 79 80 |  | 
| 80 81 | 
             
              def performed?
         | 
| @@ -23,6 +23,29 @@ class UserSessionTest < ActiveSupport::TestCase | |
| 23 23 | 
             
                user_session = UserSession.find
         | 
| 24 24 | 
             
              end
         | 
| 25 25 |  | 
| 26 | 
            +
              test "logout_url" do
         | 
| 27 | 
            +
                user_session = UserSession.new
         | 
| 28 | 
            +
                assert_equal(
         | 
| 29 | 
            +
                  "https://logindev.library.nyu.edu/logout?url=http%3A%2F%2Fbobcatdev.library.nyu.edu", 
         | 
| 30 | 
            +
                    user_session.logout_url)
         | 
| 31 | 
            +
              end
         | 
| 32 | 
            +
              
         | 
| 33 | 
            +
              test "aleph_bor_auth" do
         | 
| 34 | 
            +
                user_session = UserSession.new
         | 
| 35 | 
            +
                bor_auth = user_session.aleph_bor_auth("N12162279", "d4465aacaa645f2164908cd4184c09f0", "NYU50", "BOBST")
         | 
| 36 | 
            +
                assert_equal("51", bor_auth.permissions[:bor_status])
         | 
| 37 | 
            +
                assert_equal("CB", bor_auth.permissions[:bor_type])
         | 
| 38 | 
            +
                assert_equal("Y", bor_auth.permissions[:hold_on_shelf])
         | 
| 39 | 
            +
              end
         | 
| 40 | 
            +
              
         | 
| 41 | 
            +
              test "aleph_bor_auth_permissions" do
         | 
| 42 | 
            +
                user_session = UserSession.new
         | 
| 43 | 
            +
                permissions = user_session.aleph_bor_auth_permissions("N12162279", "d4465aacaa645f2164908cd4184c09f0", "NYU50", "BOBST")
         | 
| 44 | 
            +
                assert_equal("51", permissions[:bor_status])
         | 
| 45 | 
            +
                assert_equal("CB", permissions[:bor_type])
         | 
| 46 | 
            +
                assert_equal("Y", permissions[:hold_on_shelf])
         | 
| 47 | 
            +
              end
         | 
| 48 | 
            +
              
         | 
| 26 49 | 
             
              # test "find_new_user" do
         | 
| 27 50 | 
             
              #   controller.cookies[:PDS_HANDLE] = { :value => VALID_PDS_HANDLE_FOR_NEW_NYU }
         | 
| 28 51 | 
             
              #   user_session = UserSession.find
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: authpds-nyu
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.8
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,11 +9,11 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2012-03- | 
| 12 | 
            +
            date: 2012-03-29 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: rails
         | 
| 16 | 
            -
              requirement: & | 
| 16 | 
            +
              requirement: &2151935160 !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: *2151935160
         | 
| 25 25 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 26 26 | 
             
              name: authpds
         | 
| 27 | 
            -
              requirement: & | 
| 27 | 
            +
              requirement: &2151933360 !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: *2151933360
         | 
| 36 36 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 37 37 | 
             
              name: exlibris-aleph
         | 
| 38 | 
            -
              requirement: & | 
| 38 | 
            +
              requirement: &2151931920 !ruby/object:Gem::Requirement
         | 
| 39 39 | 
             
                none: false
         | 
| 40 40 | 
             
                requirements:
         | 
| 41 41 | 
             
                - - ! '>='
         | 
| @@ -43,10 +43,10 @@ dependencies: | |
| 43 43 | 
             
                    version: '0'
         | 
| 44 44 | 
             
              type: :runtime
         | 
| 45 45 | 
             
              prerelease: false
         | 
| 46 | 
            -
              version_requirements: * | 
| 46 | 
            +
              version_requirements: *2151931920
         | 
| 47 47 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 48 48 | 
             
              name: sqlite3
         | 
| 49 | 
            -
              requirement: & | 
| 49 | 
            +
              requirement: &2151930360 !ruby/object:Gem::Requirement
         | 
| 50 50 | 
             
                none: false
         | 
| 51 51 | 
             
                requirements:
         | 
| 52 52 | 
             
                - - ! '>='
         | 
| @@ -54,7 +54,7 @@ dependencies: | |
| 54 54 | 
             
                    version: '0'
         | 
| 55 55 | 
             
              type: :development
         | 
| 56 56 | 
             
              prerelease: false
         | 
| 57 | 
            -
              version_requirements: * | 
| 57 | 
            +
              version_requirements: *2151930360
         | 
| 58 58 | 
             
            description: NYU libraries SSO client.
         | 
| 59 59 | 
             
            email:
         | 
| 60 60 | 
             
            - scotdalton@gmail.com
         | 
| @@ -75,7 +75,6 @@ files: | |
| 75 75 | 
             
            - test/support/user.rb
         | 
| 76 76 | 
             
            - test/support/user_session.rb
         | 
| 77 77 | 
             
            - test/test_helper.rb
         | 
| 78 | 
            -
            - test/unit/aleph_bor_auth_test.rb
         | 
| 79 78 | 
             
            - test/unit/opensso_test.rb
         | 
| 80 79 | 
             
            - test/unit/user_session_test.rb
         | 
| 81 80 | 
             
            homepage: http://github.com/scotdalton/authpds-nyu
         | 
| @@ -108,6 +107,5 @@ test_files: | |
| 108 107 | 
             
            - test/support/user.rb
         | 
| 109 108 | 
             
            - test/support/user_session.rb
         | 
| 110 109 | 
             
            - test/test_helper.rb
         | 
| 111 | 
            -
            - test/unit/aleph_bor_auth_test.rb
         | 
| 112 110 | 
             
            - test/unit/opensso_test.rb
         | 
| 113 111 | 
             
            - test/unit/user_session_test.rb
         | 
| @@ -1,28 +0,0 @@ | |
| 1 | 
            -
            require 'test_helper'
         | 
| 2 | 
            -
            class AlephBorAuthTest < ActiveSupport::TestCase
         | 
| 3 | 
            -
              
         | 
| 4 | 
            -
              def setup
         | 
| 5 | 
            -
                activate_authlogic
         | 
| 6 | 
            -
                controller.session[:session_id] = "FakeSessionID"
         | 
| 7 | 
            -
                # controller.cookies[:PDS_HANDLE] = { :value => VALID_PDS_HANDLE_FOR_NEW_NYU }
         | 
| 8 | 
            -
                controller.cookies[:iPlanetDirectoryPro] = { :value => VALID_OPENSSO_FOR_NYU }
         | 
| 9 | 
            -
              end
         | 
| 10 | 
            -
             | 
| 11 | 
            -
              test "new" do
         | 
| 12 | 
            -
                bor_auth = 
         | 
| 13 | 
            -
                  AuthpdsNyu::Exlibris::Aleph::BorAuth.new(
         | 
| 14 | 
            -
                    "http://alephstage.library.nyu.edu", "NYU50", "BOBST", "N", 
         | 
| 15 | 
            -
                    "N12162279", "d4465aacaa645f2164908cd4184c09f0")
         | 
| 16 | 
            -
                assert_nil(bor_auth.error, "Error is not nil.")
         | 
| 17 | 
            -
              end
         | 
| 18 | 
            -
              
         | 
| 19 | 
            -
              test "permissions" do
         | 
| 20 | 
            -
                bor_auth = 
         | 
| 21 | 
            -
                  AuthpdsNyu::Exlibris::Aleph::BorAuth.new(
         | 
| 22 | 
            -
                    "http://alephstage.library.nyu.edu", "NYU50", "BOBST", "N", 
         | 
| 23 | 
            -
                    "N12162279", "d4465aacaa645f2164908cd4184c09f0")
         | 
| 24 | 
            -
                assert_equal("51", bor_auth.permissions[:bor_status])
         | 
| 25 | 
            -
                assert_equal("CB", bor_auth.permissions[:bor_type])
         | 
| 26 | 
            -
                assert_equal("Y", bor_auth.permissions[:hold_on_shelf])
         | 
| 27 | 
            -
              end
         | 
| 28 | 
            -
            end
         |