hydra-access-controls 6.5.2 → 7.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
@@ -169,14 +169,14 @@ describe Hydra::AccessControlsEnforcement do
169
169
  end
170
170
  end
171
171
 
172
- describe "apply_individual_permissions" do
172
+ describe "apply_user_permissions" do
173
173
  describe "when the user is a guest user (user key nil)" do
174
174
  before do
175
175
  stub_user = User.new
176
176
  subject.stub(:current_user).and_return(stub_user)
177
177
  end
178
178
  it "should not create filters" do
179
- subject.send(:apply_individual_permissions, ["edit","discover","read"]).should == []
179
+ subject.send(:apply_user_permissions, ["edit","discover","read"]).should == []
180
180
  end
181
181
  end
182
182
  describe "when the user is a guest user (user key empty string)" do
@@ -185,7 +185,7 @@ describe Hydra::AccessControlsEnforcement do
185
185
  subject.stub(:current_user).and_return(stub_user)
186
186
  end
187
187
  it "should not create filters" do
188
- subject.send(:apply_individual_permissions, ["edit","discover","read"]).should == []
188
+ subject.send(:apply_user_permissions, ["edit","discover","read"]).should == []
189
189
  end
190
190
  end
191
191
  end
@@ -1,23 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Hydra::AdminPolicy do
4
- before do
5
- Hydra.stub(:config).and_return({:permissions=>{
6
- :discover => {:group =>"discover_access_group_ssim", :individual=>"discover_access_person_ssim"},
7
- :read => {:group =>"read_access_group_ssim", :individual=>"read_access_person_ssim"},
8
- :edit => {:group =>"edit_access_group_ssim", :individual=>"edit_access_person_ssim"},
9
- :owner => "depositor_ssim",
10
- :embargo_release_date => "embargo_release_date_dtsi",
11
-
12
- :inheritable => {
13
- :discover => {:group =>"inheritable_discover_access_group_ssim", :individual=>"inheritable_discover_access_person_ssim"},
14
- :read => {:group =>"inheritable_read_access_group_ssim", :individual=>"inheritable_read_access_person_ssim"},
15
- :edit => {:group =>"inheritable_edit_access_group_ssim", :individual=>"inheritable_edit_access_person_ssim"},
16
- :owner => "inheritable_depositor_ssim",
17
- :embargo_release_date => "inheritable_embargo_release_date_dtsi"
18
- }
19
- }})
20
- end
21
4
  its(:defaultRights) { should be_kind_of Hydra::Datastream::InheritableRightsMetadata}
22
5
  its(:rightsMetadata) { should be_kind_of Hydra::Datastream::RightsMetadata}
23
6
  its(:descMetadata) { should be_kind_of ActiveFedora::QualifiedDublinCoreDatastream}
@@ -0,0 +1,48 @@
1
+ require 'spec_helper'
2
+ describe Hydra::Config do
3
+ let (:config) { subject }
4
+ it "Should accept a hash based config" do
5
+ # This specifies the solr field names of permissions-related fields.
6
+ # You only need to change these values if you've indexed permissions by some means other than the Hydra's built-in tooling.
7
+ # If you change these, you must also update the permissions request handler in your solrconfig.xml to return those values
8
+ config[:permissions] = {
9
+ :discover => {:group =>ActiveFedora::SolrService.solr_name("discover_access_group", :symbol), :individual=>ActiveFedora::SolrService.solr_name("discover_access_person", :symbol)},
10
+ :read => {:group =>ActiveFedora::SolrService.solr_name("read_access_group", :symbol), :individual=>ActiveFedora::SolrService.solr_name("read_access_person", :symbol)},
11
+ :edit => {:group =>ActiveFedora::SolrService.solr_name("edit_access_group", :symbol), :individual=>ActiveFedora::SolrService.solr_name("edit_access_person", :symbol)},
12
+ :owner => ActiveFedora::SolrService.solr_name("depositor", :symbol),
13
+ :embargo_release_date => ActiveFedora::SolrService.solr_name("embargo_release_date", Solrizer::Descriptor.new(:date, :stored, :indexed))
14
+ }
15
+
16
+ # specify the user model
17
+ config[:user_model] = 'User'
18
+
19
+ config[:permissions][:edit][:individual].should == 'edit_access_person_ssim'
20
+ end
21
+
22
+ it "should accept a struct based config" do
23
+ # This specifies the solr field names of permissions-related fields.
24
+ # You only need to change these values if you've indexed permissions by some means other than the Hydra's built-in tooling.
25
+ # If you change these, you must also update the permissions request handler in your solrconfig.xml to return those values
26
+ config.permissions.discover.group = ActiveFedora::SolrService.solr_name("discover_access_group", :symbol)
27
+
28
+ # specify the user model
29
+ config.user_model = 'User'
30
+
31
+ config.permissions.discover.group.should == 'discover_access_group_ssim'
32
+ config.user_model.should == 'User'
33
+ end
34
+
35
+ it "should have inheritable attributes" do
36
+ config[:permissions][:inheritable][:edit][:individual].should == 'inheritable_edit_access_person_ssim'
37
+ end
38
+ it "should have a nil policy_class" do
39
+ config[:permissions][:policy_class].should be_nil
40
+ end
41
+
42
+ it "should have defaults" do
43
+ config.permissions.read.individual.should == 'read_access_person_ssim'
44
+ config.permissions.embargo_release_date.should == 'embargo_release_date_dtsi'
45
+ config.user_model.should == 'User'
46
+ end
47
+
48
+ end
@@ -14,7 +14,7 @@ describe Hydra::Datastream::RightsMetadata do
14
14
  describe "rightsMetadata" do
15
15
  let!(:thing) {RightsTest.new}
16
16
 
17
- [:discover,:read,:edit].each do |mode|
17
+ [:discover,:read, :edit].each do |mode|
18
18
  describe "##{mode}_users" do
19
19
  let(:get_method) {"#{mode}_users".to_sym}
20
20
  let(:set_method) {"#{mode}_users=".to_sym}
@@ -176,11 +176,6 @@ describe Hydra::Datastream::RightsMetadata do
176
176
  it "should only accept valid date values" do
177
177
 
178
178
  end
179
- it "should accept a nil value after having a date value" do
180
- @sample.embargo_release_date=("2010-12-01")
181
- @sample.embargo_release_date=(nil)
182
- @sample.embargo_release_date.should == nil
183
- end
184
179
  end
185
180
  describe "embargo_release_date" do
186
181
  it "should return solr formatted date" do
@@ -21,66 +21,84 @@ describe Hydra::AccessControls::Permissions do
21
21
  Hydra::AccessControls::Permission.new({:type=>"user", :access=>"edit", :name=>"user1"})]
22
22
  end
23
23
  describe "updating permissions" do
24
- before do
25
- subject.permissions_attributes = [{:type=>"user", :access=>"edit", :name=>"jcoyne"}]
26
- end
27
- it "should handle a hash" do
28
- subject.permissions_attributes = {'0' => {type: "group", access:"read", name:"group1"}, '1'=> {type: 'user', access: 'edit', name: 'user2'}}
29
- subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"group", :access=>"read", :name=>"group1"),
30
- Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne"),
31
- Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"user2")]
32
- end
33
- it "should create new group permissions" do
34
- subject.permissions_attributes = [{:type=>"group", :access=>"read", :name=>"group1"}]
35
- subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"group", :access=>"read", :name=>"group1"),
36
- Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
37
- end
38
- it "should create new user permissions" do
39
- subject.permissions_attributes = [{:type=>"user", :access=>"read", :name=>"user1"}]
40
- subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"user", :access=>"read", :name=>"user1"),
41
- Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
42
- end
43
- it "should not replace existing groups" do
44
- subject.permissions_attributes = [{:type=>"group", :access=>"read", :name=>"group1"}]
45
- subject.permissions_attributes = [{:type=>"group", :access=>"read", :name=>"group2"}]
46
- subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"group", :access=>"read", :name=>"group1"),
47
- Hydra::AccessControls::Permission.new(:type=>"group", :access=>"read", :name=>"group2"),
48
- Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
49
- end
50
- it "should not replace existing users" do
51
- subject.permissions_attributes = [{:type=>"user", :access=>"read", :name=>"user1"}]
52
- subject.permissions_attributes = [{:type=>"user", :access=>"read", :name=>"user2"}]
53
- subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"user", :access=>"read", :name=>"user1"),
54
- Hydra::AccessControls::Permission.new(:type=>"user", :access=>"read", :name=>"user2"),
55
- Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
56
- end
57
- it "should update permissions on existing users" do
58
- subject.permissions_attributes = [{:type=>"user", :access=>"read", :name=>"user1"}]
59
- subject.permissions_attributes = [{:type=>"user", :access=>"edit", :name=>"user1"}]
60
- subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"user1"),
61
- Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
24
+ describe "with nested attributes" do
25
+ before do
26
+ subject.permissions_attributes = [{:type=>"user", :access=>"edit", :name=>"jcoyne"}]
27
+ end
28
+ it "should handle a hash" do
29
+ subject.permissions_attributes = {'0' => {type: "group", access:"read", name:"group1"}, '1'=> {type: 'user', access: 'edit', name: 'user2'}}
30
+ subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"group", :access=>"read", :name=>"group1"),
31
+ Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne"),
32
+ Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"user2")]
33
+ end
34
+ it "should create new group permissions" do
35
+ subject.permissions_attributes = [{:type=>"group", :access=>"read", :name=>"group1"}]
36
+ subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"group", :access=>"read", :name=>"group1"),
37
+ Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
38
+ end
39
+ it "should create new user permissions" do
40
+ subject.permissions_attributes = [{:type=>"user", :access=>"read", :name=>"user1"}]
41
+ subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"user", :access=>"read", :name=>"user1"),
42
+ Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
43
+ end
44
+ it "should not replace existing groups" do
45
+ subject.permissions_attributes = [{:type=>"group", :access=>"read", :name=>"group1"}]
46
+ subject.permissions_attributes = [{:type=>"group", :access=>"read", :name=>"group2"}]
47
+ subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"group", :access=>"read", :name=>"group1"),
48
+ Hydra::AccessControls::Permission.new(:type=>"group", :access=>"read", :name=>"group2"),
49
+ Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
50
+ end
51
+ it "should not replace existing users" do
52
+ subject.permissions_attributes = [{:type=>"user", :access=>"read", :name=>"user1"}]
53
+ subject.permissions_attributes = [{:type=>"user", :access=>"read", :name=>"user2"}]
54
+ subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"user", :access=>"read", :name=>"user1"),
55
+ Hydra::AccessControls::Permission.new(:type=>"user", :access=>"read", :name=>"user2"),
56
+ Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
57
+ end
58
+ it "should update permissions on existing users" do
59
+ subject.permissions_attributes = [{:type=>"user", :access=>"read", :name=>"user1"}]
60
+ subject.permissions_attributes = [{:type=>"user", :access=>"edit", :name=>"user1"}]
61
+ subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"user1"),
62
+ Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
63
+ end
64
+ it "should update permissions on existing groups" do
65
+ subject.permissions_attributes = [{:type=>"group", :access=>"read", :name=>"group1"}]
66
+ subject.permissions_attributes = [{:type=>"group", :access=>"edit", :name=>"group1"}]
67
+ subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"group", :access=>"edit", :name=>"group1"),
68
+ Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
69
+ end
70
+ it "should remove permissions on existing users" do
71
+ subject.permissions_attributes = [{:type=>"user", :access=>"read", :name=>"user1"}]
72
+ subject.permissions_attributes = [{:type=>"user", :access=>"edit", :name=>"user1", _destroy: true}]
73
+ subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
74
+ end
75
+ it "should remove permissions on existing groups" do
76
+ subject.permissions_attributes = [{:type=>"group", :access=>"read", :name=>"group1"}]
77
+ subject.permissions_attributes = [{:type=>"group", :access=>"edit", :name=>"group1", _destroy: '1'}]
78
+ subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
79
+ end
80
+ it "should not remove when destroy flag is falsy" do
81
+ subject.permissions_attributes = [{:type=>"group", :access=>"read", :name=>"group1"}]
82
+ subject.permissions_attributes = [{:type=>"group", :access=>"edit", :name=>"group1", _destroy: '0'}]
83
+ subject.permissions.should == [ Hydra::AccessControls::Permission.new(:type=>"group", :access=>"edit", :name=>"group1"),
84
+ Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
85
+ end
62
86
  end
63
- it "should update permissions on existing groups" do
64
- subject.permissions_attributes = [{:type=>"group", :access=>"read", :name=>"group1"}]
65
- subject.permissions_attributes = [{:type=>"group", :access=>"edit", :name=>"group1"}]
66
- subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"group", :access=>"edit", :name=>"group1"),
67
- Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
68
- end
69
- it "should remove permissions on existing users" do
70
- subject.permissions_attributes = [{:type=>"user", :access=>"read", :name=>"user1"}]
71
- subject.permissions_attributes = [{:type=>"user", :access=>"edit", :name=>"user1", _destroy: true}]
72
- subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
73
- end
74
- it "should remove permissions on existing groups" do
75
- subject.permissions_attributes = [{:type=>"group", :access=>"read", :name=>"group1"}]
76
- subject.permissions_attributes = [{:type=>"group", :access=>"edit", :name=>"group1", _destroy: '1'}]
77
- subject.permissions.should == [Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
78
- end
79
- it "should not remove when destroy flag is falsy" do
80
- subject.permissions_attributes = [{:type=>"group", :access=>"read", :name=>"group1"}]
81
- subject.permissions_attributes = [{:type=>"group", :access=>"edit", :name=>"group1", _destroy: '0'}]
82
- subject.permissions.should == [ Hydra::AccessControls::Permission.new(:type=>"group", :access=>"edit", :name=>"group1"),
83
- Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
87
+
88
+ describe "with the setter" do
89
+ before do
90
+ subject.permissions = [
91
+ Hydra::AccessControls::Permission.new(:type=>"group", :access=>"edit", :name=>"group1"),
92
+ Hydra::AccessControls::Permission.new(:type=>"user", :access=>"edit", :name=>"jcoyne")]
93
+ end
94
+ it "should set the permissions" do
95
+ expect(subject.edit_users).to eq ['jcoyne']
96
+ expect(subject.edit_groups).to eq ['group1']
97
+ subject.permissions = []
98
+ expect(subject.edit_users).to be_empty
99
+ expect(subject.edit_groups).to be_empty
100
+ end
101
+
84
102
  end
85
103
  end
86
104
  context "with rightsMetadata" do
@@ -96,29 +114,19 @@ describe Hydra::AccessControls::Permissions do
96
114
  it "should have read groups writer" do
97
115
  subject.read_groups = ['group-2', 'group-3']
98
116
  subject.rightsMetadata.groups.should == {'group-2' => 'read', 'group-3'=>'read', 'group-8' => 'edit'}
99
- subject.rightsMetadata.individuals.should == {"person1"=>"read","person2"=>"discover"}
117
+ subject.rightsMetadata.users.should == {"person1"=>"read","person2"=>"discover"}
100
118
  end
101
119
 
102
120
  it "should have read groups string writer" do
103
121
  subject.read_groups_string = 'umg/up.dlt.staff, group-3'
104
122
  subject.rightsMetadata.groups.should == {'umg/up.dlt.staff' => 'read', 'group-3'=>'read', 'group-8' => 'edit'}
105
- subject.rightsMetadata.individuals.should == {"person1"=>"read","person2"=>"discover"}
123
+ subject.rightsMetadata.users.should == {"person1"=>"read","person2"=>"discover"}
106
124
  end
107
125
  it "should only revoke eligible groups" do
108
126
  subject.set_read_groups(['group-2', 'group-3'], ['group-6'])
109
127
  # 'group-7' is not eligible to be revoked
110
128
  subject.rightsMetadata.groups.should == {'group-2' => 'read', 'group-3'=>'read', 'group-7' => 'read', 'group-8' => 'edit'}
111
- subject.rightsMetadata.individuals.should == {"person1"=>"read","person2"=>"discover"}
112
- end
113
- end
114
- describe "#permissions=" do
115
- it "should behave like #permissions_attributes=" do
116
- foo1 = Foo.new
117
- foo2 = Foo.new
118
- Deprecation.stub(:warn).and_return(nil)
119
- foo1.permissions = [{type: "user", access: "edit", name: "editor"}]
120
- foo2.permissions_attributes = [{type: "user", access: "edit", name: "editor"}]
121
- foo1.permissions.should == foo2.permissions
129
+ subject.rightsMetadata.users.should == {"person1"=>"read","person2"=>"discover"}
122
130
  end
123
131
  end
124
132
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hydra-access-controls
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.5.2
4
+ version: 7.0.0.pre1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Beer
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-05-07 00:00:00.000000000 Z
13
+ date: 2014-01-15 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -32,14 +32,14 @@ dependencies:
32
32
  requirements:
33
33
  - - ~>
34
34
  - !ruby/object:Gem::Version
35
- version: '6.7'
35
+ version: 7.0.0.pre2
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - ~>
41
41
  - !ruby/object:Gem::Version
42
- version: '6.7'
42
+ version: 7.0.0.pre2
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: cancan
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -74,14 +74,14 @@ dependencies:
74
74
  requirements:
75
75
  - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: '4.7'
77
+ version: '4.0'
78
78
  type: :runtime
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - ~>
83
83
  - !ruby/object:Gem::Version
84
- version: '4.7'
84
+ version: '4.0'
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: rake
87
87
  requirement: !ruby/object:Gem::Requirement
@@ -136,10 +136,10 @@ files:
136
136
  - lib/hydra/access_controls_enforcement.rb
137
137
  - lib/hydra/access_controls_evaluation.rb
138
138
  - lib/hydra/admin_policy.rb
139
+ - lib/hydra/config.rb
139
140
  - lib/hydra/datastream.rb
140
141
  - lib/hydra/datastream/inheritable_rights_metadata.rb
141
142
  - lib/hydra/datastream/rights_metadata.rb
142
- - lib/hydra/model_mixins/rights_metadata.rb
143
143
  - lib/hydra/permissions_cache.rb
144
144
  - lib/hydra/permissions_query.rb
145
145
  - lib/hydra/permissions_solr_document.rb
@@ -160,14 +160,13 @@ files:
160
160
  - spec/unit/access_controls_enforcement_spec.rb
161
161
  - spec/unit/access_right_spec.rb
162
162
  - spec/unit/admin_policy_spec.rb
163
+ - spec/unit/config_spec.rb
163
164
  - spec/unit/hydra_rights_metadata_persistence_spec.rb
164
165
  - spec/unit/hydra_rights_metadata_spec.rb
165
166
  - spec/unit/inheritable_rights_metadata_spec.rb
166
- - spec/unit/permission_spec.rb
167
167
  - spec/unit/permissions_spec.rb
168
168
  - spec/unit/policy_aware_ability_spec.rb
169
169
  - spec/unit/policy_aware_access_controls_enforcement_spec.rb
170
- - spec/unit/rights_metadata_spec.rb
171
170
  - spec/unit/role_mapper_spec.rb
172
171
  - spec/unit/visibility_spec.rb
173
172
  - spec/unit/with_access_right_spec.rb
@@ -187,12 +186,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
187
186
  version: 1.9.3
188
187
  required_rubygems_version: !ruby/object:Gem::Requirement
189
188
  requirements:
190
- - - '>='
189
+ - - '>'
191
190
  - !ruby/object:Gem::Version
192
- version: '0'
191
+ version: 1.3.1
193
192
  requirements: []
194
193
  rubyforge_project:
195
- rubygems_version: 2.0.14
194
+ rubygems_version: 2.1.11
196
195
  signing_key:
197
196
  specification_version: 4
198
197
  summary: Access controls for project hydra
@@ -210,14 +209,13 @@ test_files:
210
209
  - spec/unit/access_controls_enforcement_spec.rb
211
210
  - spec/unit/access_right_spec.rb
212
211
  - spec/unit/admin_policy_spec.rb
212
+ - spec/unit/config_spec.rb
213
213
  - spec/unit/hydra_rights_metadata_persistence_spec.rb
214
214
  - spec/unit/hydra_rights_metadata_spec.rb
215
215
  - spec/unit/inheritable_rights_metadata_spec.rb
216
- - spec/unit/permission_spec.rb
217
216
  - spec/unit/permissions_spec.rb
218
217
  - spec/unit/policy_aware_ability_spec.rb
219
218
  - spec/unit/policy_aware_access_controls_enforcement_spec.rb
220
- - spec/unit/rights_metadata_spec.rb
221
219
  - spec/unit/role_mapper_spec.rb
222
220
  - spec/unit/visibility_spec.rb
223
221
  - spec/unit/with_access_right_spec.rb
@@ -1,27 +0,0 @@
1
- module Hydra
2
- module ModelMixins
3
- module RightsMetadata
4
- extend ActiveSupport::Concern
5
- extend Deprecation
6
- include Hydra::AccessControls::Permissions
7
-
8
- included do
9
- Deprecation.warn(RightsMetadata, "Hydra::ModelMixins::RightsMetadata has been deprecated and will be removed in hydra-head 7.0. Use Hydra::AccessControls::Permissions instead", caller(3));
10
- end
11
-
12
- ## Returns a list with all the permissions on the object.
13
- # @example
14
- # [{:name=>"group1", :access=>"discover", :type=>'group'},
15
- # {:name=>"group2", :access=>"discover", :type=>'group'},
16
- # {:name=>"user2", :access=>"read", :type=>'user'},
17
- # {:name=>"user1", :access=>"edit", :type=>'user'},
18
- # {:name=>"user3", :access=>"read", :type=>'user'}]
19
- def permissions
20
- (rightsMetadata.groups.map {|x| {:type=>'group', :access=>x[1], :name=>x[0] }} +
21
- rightsMetadata.individuals.map {|x| {:type=>'user', :access=>x[1], :name=>x[0]}})
22
-
23
- end
24
-
25
- end
26
- end
27
- end
@@ -1,28 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Hydra::AccessControls::Permission do
4
- describe "hash-like key access" do
5
- let(:perm) { described_class.new(type: 'user', name: 'bob', access: 'read') }
6
- it "should return values" do
7
- perm[:type].should == 'user'
8
- perm[:name].should == 'bob'
9
- perm[:access].should == 'read'
10
- end
11
- end
12
- describe "#to_hash" do
13
- subject { described_class.new(type: 'user', name: 'bob', access: 'read') }
14
- its(:to_hash) { should == {type: 'user', name: 'bob', access: 'read'} }
15
- end
16
- describe "equality comparison" do
17
- let(:perm1) { described_class.new(type: 'user', name: 'bob', access: 'read') }
18
- let(:perm2) { described_class.new(type: 'user', name: 'bob', access: 'read') }
19
- let(:perm3) { described_class.new(type: 'user', name: 'jane', access: 'read') }
20
- it "should be equal if all values are equal" do
21
- perm1.should == perm2
22
- end
23
- it "should be unequal if some values are unequal" do
24
- perm1.should_not == perm3
25
- perm2.should_not == perm3
26
- end
27
- end
28
- end