HBASE-22879 user_permission command failed to show global permission (#511)

This commit is contained in:
meiyi 2019-08-21 09:29:31 +08:00 committed by GitHub
parent ab28f9d8c7
commit 66ad42c742
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 2 deletions

View File

@ -150,7 +150,7 @@ module Hbase
if !table_regex.nil? && isNamespace?(table_regex)
nsPerm = permission.to_java(org.apache.hadoop.hbase.security.access.NamespacePermission)
namespace = nsPerm.getNamespace
else
elsif !table_regex.nil?
tblPerm = permission.to_java(org.apache.hadoop.hbase.security.access.TablePermission)
namespace = tblPerm.getNamespace
table = !tblPerm.getTableName.nil? ? tblPerm.getTableName.getNameAsString : ''

View File

@ -35,7 +35,7 @@ public class TestShell extends AbstractTestShell {
@Test
public void testRunShellTests() throws IOException {
System.setProperty("shell.test.exclude", "replication_admin_test.rb,rsgroup_shell_test.rb," +
"admin_test.rb,table_test.rb,quotas_test.rb");
"admin_test.rb,table_test.rb,quotas_test.rb,admin2_test.rb");
// Start all ruby tests
jruby.runScriptlet(PathType.ABSOLUTE, "src/test/ruby/tests_runner.rb");
}

View File

@ -78,5 +78,25 @@ module Hbase
end
assert(found_permission, "Permission for user test_grant_revoke was not found.")
end
define_test 'Grant and revoke global permission should set access rights appropriately' do
global_user_name = 'test_grant_revoke_global'
security_admin.grant(global_user_name, 'W')
found_permission = false
security_admin.user_permission do |user, permission|
if user == global_user_name
assert_match(/WRITE/, permission.to_s)
found_permission = true
end
end
assert(found_permission, 'Permission for user ' + global_user_name + ' was not found.')
found_permission = false
security_admin.revoke(global_user_name)
security_admin.user_permission do |user, _|
found_permission = true if user == global_user_name
end
assert(!found_permission, 'Permission for user ' + global_user_name + ' was found.')
end
end
end