Skip to content

Commit

Permalink
Merge remote branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
Bernd Ledig committed Sep 19, 2010
2 parents e647b9f + 4d1c1e6 commit a51adb6
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 0 deletions.
2 changes: 2 additions & 0 deletions nbproject/private/private.properties
@@ -0,0 +1,2 @@
file.reference.tuersteher-lib=/home/bledig/Projects/tuersteher/lib
file.reference.tuersteher-spec=/home/bledig/Projects/tuersteher/spec
4 changes: 4 additions & 0 deletions nbproject/private/private.xml
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/1"/>
</project-private>
18 changes: 18 additions & 0 deletions nbproject/private/rake-d.txt
@@ -0,0 +1,18 @@
build=Build gem
check_dependencies=Check that runtime and development dependencies are installed
check_dependencies\:development=Check that development dependencies are installed
check_dependencies\:runtime=Check that runtime dependencies are installed
gemspec=Generate and validates gemspec
gemspec\:debug=Display the gemspec for debugging purposes
gemspec\:generate=Generates the gemspec, using version from VERSION
gemspec\:validate=Validates the gemspec
git\:release=Tag a release in Git
github\:release=Release Gem to GitHub
install=Install gem using sudo
release=Release gem
version=Displays the current version
version\:bump\:major=Bump the gemspec by a major version.
version\:bump\:minor=Bump the gemspec by a minor version.
version\:bump\:patch=Bump the gemspec by a patch version.
version\:write=Writes out an explicit version. Respects the following environment variables, or defaults to 0: MAJOR, MINOR, PATCH. Also recognizes BUILD, which defaults to nil
version_required=
7 changes: 7 additions & 0 deletions nbproject/project.properties
@@ -0,0 +1,7 @@
file.reference.tuersteher-lib=lib
file.reference.tuersteher-spec=spec
main.file=
platform.active=Ruby
source.encoding=UTF-8
src.dir=${file.reference.tuersteher-lib}
test.src.dir=${file.reference.tuersteher-spec}
15 changes: 15 additions & 0 deletions nbproject/project.xml
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.ruby.rubyproject</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/ruby-project/1">
<name>Tuersteher</name>
<source-roots>
<root id="src.dir"/>
</source-roots>
<test-roots>
<root id="test.src.dir"/>
</test-roots>
</data>
</configuration>
</project>
18 changes: 18 additions & 0 deletions spec/access_rules_spec.rb
Expand Up @@ -92,6 +92,7 @@ class SampleModel2; end

before do
rules = [
ModelAccessRule.new(:all).grant.role(:sysadmin),
ModelAccessRule.new(SampleModel1).grant.method(:all),
ModelAccessRule.new(SampleModel2).grant.method(:read),
ModelAccessRule.new(SampleModel2).grant.method(:update).role(:user).extension(:owner?),
Expand Down Expand Up @@ -142,6 +143,23 @@ class SampleModel2; end
end
end


context "User with role :sysadmin" do
before do
@user.stub(:has_role?){|role| role==:sysadmin}
end

it "should be true for this" do
AccessRules.model_access?(@user, "test", :xyz).should be_true
AccessRules.model_access?(@user, @model1, :xyz).should be_true
AccessRules.model_access?(@user, @model2, :read).should be_true
AccessRules.model_access?(@user, @model2, :update).should be_true
AccessRules.model_access?(@user, @model2, :delete).should be_true
AccessRules.model_access?(@user, @model2, :create).should be_true
end
end


context "without user" do
it "should be true for this models" do
AccessRules.model_access?(nil, @model1, :xyz).should be_true
Expand Down
17 changes: 17 additions & 0 deletions spec/model_access_rule_spec.rb
Expand Up @@ -55,6 +55,23 @@ module Tuersteher
@rule.fired?("test", :read, @user).should_not be_true
end
end

context "for :all Model-Instances" do
before do
@rule_all = ModelAccessRule.new(:all).grant.role(:admin)
@user = stub('user')
end

it "should fired for user with role :admin" do
@user.stub(:has_role?) { |role| role==:admin }
@rule_all.fired?("test", :xyz, @user).should be_true
end

it "should fired for user with role :admin" do
@user.stub(:has_role?).and_return(false)
@rule_all.fired?("test", :xyz, @user).should_not be_true
end
end
end # of context "grant with roles"


Expand Down

0 comments on commit a51adb6

Please sign in to comment.