1 require File.dirname(__FILE__) + '/../test_helper'
3 # Test Permission class
5 class PermissionTest < ActiveSupport::TestCase
6 TEST_DATA_ACTIONS = <<EOF
7 org.opensuse.yast.modules.ysr.statelessregister
8 org.opensuse.yast.modules.ysr.getregistrationconfig
9 org.opensuse.yast.modules.ysr.setregistrationconfig
10 org.freedesktop.network-manager-settings.system.modify
11 org.opensuse.yast.module-manager.import
12 org.opensuse.yast.module-manager.lock
13 org.opensuse.yast.modules.yapi.users.usersget
14 org.opensuse.yast.modules.yapi.users.userget
15 org.opensuse.yast.modules.yapi.users.usermodify
16 org.opensuse.yast.modules.yapi.users.useradd
17 org.opensuse.yast.modules.yapi.users.userdelete
18 org.opensuse.yast.permissions.read
19 org.opensuse.yast.permissions.write
23 polkit-auth: cannot look up uid for user 'nonexist'
27 Permission.any_instance.stubs(:all_actions).returns(TEST_DATA_ACTIONS)
28 PolKit.stubs(:polkit_check).returns(:no)
29 ["org.opensuse.yast.modules.ysr.statelessregister",
30 "org.opensuse.yast.modules.ysr.getregistrationconfig",
31 "org.freedesktop.network-manager-settings.system.modify",
32 "org.opensuse.yast.module-manager.import"].each do |perm|
33 PolKit.stubs(:polkit_check).with(perm,"test").returns(:yes)
38 perm = Permission.find(:all)
39 #test all yast perm is loaded
40 assert_equal 12,perm.permissions.size
41 #test that all have not granted
42 perm.permissions.each do |p|
48 def test_find_for_user
49 perm = Permission.find(:all,{:user_id => "test"})
51 assert_equal 12,perm.permissions.size
53 perm.permissions.each do |p|
54 if p[:id]=="org.opensuse.yast.modules.ysr.statelessregister"
57 assert !p[:granted] if p[:id]=="org.opensuse.yast.modules.ysr.setregisterconfig"
61 def test_find_with_filter
62 perm = Permission.find(:all,{:user_id => "test",:filter => "org.opensuse.yast.module-manager.import"})
65 assert_equal 1,perm.permissions.size
67 perm.permissions.each do |p|
68 assert p[:id] == "org.opensuse.yast.module-manager.import"