1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.security.access;
20
21 import static org.junit.Assert.assertEquals;
22
23 import java.util.Arrays;
24 import java.util.HashSet;
25 import java.util.Set;
26
27 import org.apache.commons.lang.StringUtils;
28 import org.apache.hadoop.conf.Configuration;
29 import org.apache.hadoop.hbase.HBaseConfiguration;
30 import org.apache.hadoop.hbase.testclassification.SmallTests;
31 import org.junit.Test;
32 import org.junit.experimental.categories.Category;
33
34
35
36
37 @Category(SmallTests.class)
38 public class TestSecureBulkLoadEndpoint {
39
40 @Test
41 public void testFileSystemsWithoutPermissionSupport() {
42 final Configuration emptyConf = new Configuration(false);
43 final Configuration defaultConf = HBaseConfiguration.create();
44
45 final Set<String> expectedDefaultIgnoredSchemes = new HashSet<>(
46 Arrays.asList(
47 StringUtils.split(SecureBulkLoadEndpoint.FS_WITHOUT_SUPPORT_PERMISSION_DEFAULT, ',')));
48
49 final SecureBulkLoadEndpoint endpoint = new SecureBulkLoadEndpoint();
50
51
52 Set<String> defaultIgnoredSchemes = endpoint.getFileSystemSchemesWithoutPermissionSupport(
53 emptyConf);
54 assertEquals(defaultIgnoredSchemes, expectedDefaultIgnoredSchemes);
55
56
57 defaultIgnoredSchemes = endpoint.getFileSystemSchemesWithoutPermissionSupport(defaultConf);
58 assertEquals(defaultIgnoredSchemes, expectedDefaultIgnoredSchemes);
59
60 defaultConf.set(SecureBulkLoadEndpoint.FS_WITHOUT_SUPPORT_PERMISSION_KEY, "foo,bar");
61 defaultIgnoredSchemes = endpoint.getFileSystemSchemesWithoutPermissionSupport(defaultConf);
62 assertEquals(defaultIgnoredSchemes, new HashSet<String>(Arrays.asList("foo", "bar")));
63 }
64 }