hydra-core 7.0.0 → 7.0.1

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: 49c8a1e875c79d9755f8b70f052efd056e804411
4
- data.tar.gz: 833a9c78e91293b4597d6ed8badee944ff3f4cbb
3
+ metadata.gz: 4e00f40dbd2788db9f9604419b786044b7634d05
4
+ data.tar.gz: f2a980dcfd1dce0761ddc87d24f52f196511020a
5
5
  SHA512:
6
- metadata.gz: ffe8839308cdf3dd9d3b7f5fc6ebefd0243c38012da3488b63bc4d764550b1bb940bfc184bbb50e62e0023ae1b509f8332d427d5aea067c02ef468eae04ca88e
7
- data.tar.gz: 8d441b1be8af28f9ec9c99999d3b8e3c68c126ca4411c013f59b9308610c839ebce2a980a739f9b225a1fce7fc4e29323534c30048450c0d65d01670aff42bcd
6
+ metadata.gz: 2e2936a83461ca3a9a53dfccb945a3993b4965780bfbbb035a7ee61b5729218b3b4c347ec8e9ee15242b3969daf19590aecf5366a6107dccd9202b8d63d7281d
7
+ data.tar.gz: 450565c96214fd6c7de40d78dd5d9313331871d3997c42802ddb84d839b295a40877274ade67ba3edc1109cb2b4e2e986c0374159987f31f8c8bd7a4a035805e
@@ -16,14 +16,14 @@ module Hydra::Controller::ControllerBehavior
16
16
  include Hydra::AccessControlsEnforcement
17
17
 
18
18
  # Catch permission errors
19
- rescue_from Hydra::AccessDenied do |exception|
19
+ rescue_from CanCan::AccessDenied do |exception|
20
20
  if (exception.action == :edit)
21
21
  redirect_to({:action=>'show'}, :alert => exception.message)
22
22
  elsif current_user and current_user.persisted?
23
- redirect_to root_url, :alert => exception.message
23
+ redirect_to root_path, :alert => exception.message
24
24
  else
25
25
  session["user_return_to"] = request.url
26
- redirect_to new_user_session_url, :alert => exception.message
26
+ redirect_to new_user_session_path, :alert => exception.message
27
27
  end
28
28
  end
29
29
  end
@@ -5,6 +5,7 @@ module Hydra
5
5
  extend Deprecation
6
6
 
7
7
  included do
8
+ include Hydra::Controller::ControllerBehavior
8
9
  before_filter :load_asset
9
10
  before_filter :load_datastream
10
11
  before_filter :authorize_download!
@@ -1,4 +1,4 @@
1
1
  module HydraHead
2
- VERSION = "7.0.0"
2
+ VERSION = "7.0.1"
3
3
  end
4
4
 
@@ -4,6 +4,8 @@ describe DownloadsController do
4
4
  before do
5
5
  Rails.application.routes.draw do
6
6
  resources :downloads
7
+ devise_for :users
8
+ root to: 'catalog#index'
7
9
  end
8
10
  end
9
11
 
@@ -32,12 +34,35 @@ describe DownloadsController do
32
34
  @obj.destroy
33
35
  Object.send(:remove_const, :ContentHolder)
34
36
  end
35
- describe "when logged in as reader" do
37
+ context "when not logged in" do
38
+ context "when a specific datastream is requested" do
39
+ it "should redirect to the root path and display an error" do
40
+ get "show", id: @obj.pid, datastream_id: "descMetadata"
41
+ expect(response).to redirect_to new_user_session_path
42
+ expect(flash[:alert]).to eq "You are not authorized to access this page."
43
+ end
44
+ end
45
+ end
46
+ context "when logged in, but without read access" do
47
+ let(:user) { User.new.tap {|u| u.email = 'email2@example.com'; u.password = 'password'; u.save} }
48
+ before do
49
+ sign_in user
50
+ end
51
+ context "when a specific datastream is requested" do
52
+ it "should redirect to the root path and display an error" do
53
+ get "show", id: @obj.pid, datastream_id: "descMetadata"
54
+ expect(response).to redirect_to root_path
55
+ expect(flash[:alert]).to eq "You are not authorized to access this page."
56
+ end
57
+ end
58
+ end
59
+
60
+ context "when logged in as reader" do
36
61
  before do
37
62
  sign_in @user
38
63
  User.any_instance.stub(:groups).and_return([])
39
64
  end
40
- describe "show" do
65
+ describe "#show" do
41
66
  it "should default to returning default download configured by object" do
42
67
  ContentHolder.stub(:default_content_ds).and_return('buzz')
43
68
  get "show", :id => @obj.pid
@@ -167,7 +192,10 @@ describe DownloadsController do
167
192
  it "should authorize according to can_download?" do
168
193
  controller.current_ability.can?(:download, @obj.datastreams['buzz']).should be_true
169
194
  controller.stub(:can_download?).and_return(false)
170
- expect { get :show, id: @obj, datastream_id: 'buzz' }.to raise_error(CanCan::AccessDenied)
195
+ Deprecation.silence(Hydra::Controller::DownloadBehavior) do
196
+ get :show, id: @obj, datastream_id: 'buzz'
197
+ end
198
+ expect(response).to redirect_to root_url
171
199
  end
172
200
  end
173
201
  context "current_ability.can? returns false / can_download? returns true" do
@@ -178,7 +206,9 @@ describe DownloadsController do
178
206
  it "should authorize according to can_download?" do
179
207
  controller.current_ability.can?(:download, @obj.datastreams['buzz']).should be_false
180
208
  controller.stub(:can_download?).and_return(true)
181
- get :show, id: @obj, datastream_id: 'buzz'
209
+ Deprecation.silence(Hydra::Controller::DownloadBehavior) do
210
+ get :show, id: @obj, datastream_id: 'buzz'
211
+ end
182
212
  response.should be_successful
183
213
  end
184
214
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hydra-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.0
4
+ version: 7.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Zumwalt, Bess Sadler, Julie Meloni, Naomi Dushay, Jessie Keck, John Scofield,
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-03-31 00:00:00.000000000 Z
12
+ date: 2014-04-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -51,14 +51,14 @@ dependencies:
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 7.0.0
54
+ version: 7.0.1
55
55
  type: :runtime
56
56
  prerelease: false
57
57
  version_requirements: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 7.0.0
61
+ version: 7.0.1
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: jettywrapper
64
64
  requirement: !ruby/object:Gem::Requirement