TestAccessControlList.java
上传用户:quxuerui
上传日期:2018-01-08
资源大小:41811k
文件大小:3k
源码类别:

网格计算

开发平台:

Java

  1. /**
  2.  * Licensed to the Apache Software Foundation (ASF) under one
  3.  * or more contributor license agreements.  See the NOTICE file
  4.  * distributed with this work for additional information
  5.  * regarding copyright ownership.  The ASF licenses this file
  6.  * to you under the Apache License, Version 2.0 (the
  7.  * "License"); you may not use this file except in compliance
  8.  * with the License.  You may obtain a copy of the License at
  9.  *
  10.  *     http://www.apache.org/licenses/LICENSE-2.0
  11.  *
  12.  * Unless required by applicable law or agreed to in writing, software
  13.  * distributed under the License is distributed on an "AS IS" BASIS,
  14.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15.  * See the License for the specific language governing permissions and
  16.  * limitations under the License.
  17.  */
  18. package org.apache.hadoop.security;
  19. import java.util.Iterator;
  20. import java.util.Set;
  21. import org.apache.hadoop.security.SecurityUtil.AccessControlList;
  22. import junit.framework.TestCase;
  23. public class TestAccessControlList extends TestCase {
  24.   
  25.   public void testWildCardAccessControlList() throws Exception {
  26.     AccessControlList acl;
  27.     
  28.     acl = new AccessControlList("*");
  29.     assertTrue(acl.allAllowed());
  30.     
  31.     acl = new AccessControlList("  * ");
  32.     assertTrue(acl.allAllowed());
  33.     
  34.     acl = new AccessControlList(" *");
  35.     assertTrue(acl.allAllowed());
  36.     
  37.     acl = new AccessControlList("*  ");
  38.     assertTrue(acl.allAllowed());
  39.   }
  40.   
  41.   public void testAccessControlList() throws Exception {
  42.     AccessControlList acl;
  43.     Set<String> users;
  44.     Set<String> groups;
  45.     
  46.     acl = new AccessControlList("drwho tardis");
  47.     users = acl.getUsers();
  48.     assertEquals(users.size(), 1);
  49.     assertEquals(users.iterator().next(), "drwho");
  50.     groups = acl.getGroups();
  51.     assertEquals(groups.size(), 1);
  52.     assertEquals(groups.iterator().next(), "tardis");
  53.     
  54.     acl = new AccessControlList("drwho");
  55.     users = acl.getUsers();
  56.     assertEquals(users.size(), 1);
  57.     assertEquals(users.iterator().next(), "drwho");
  58.     groups = acl.getGroups();
  59.     assertEquals(groups.size(), 0);
  60.     
  61.     acl = new AccessControlList("drwho ");
  62.     users = acl.getUsers();
  63.     assertEquals(users.size(), 1);
  64.     assertEquals(users.iterator().next(), "drwho");
  65.     groups = acl.getGroups();
  66.     assertEquals(groups.size(), 0);
  67.     
  68.     acl = new AccessControlList(" tardis");
  69.     users = acl.getUsers();
  70.     assertEquals(users.size(), 0);
  71.     groups = acl.getGroups();
  72.     assertEquals(groups.size(), 1);
  73.     assertEquals(groups.iterator().next(), "tardis");
  74.     Iterator<String> iter;
  75.     acl = new AccessControlList("drwho,joe tardis,users");
  76.     users = acl.getUsers();
  77.     assertEquals(users.size(), 2);
  78.     iter = users.iterator();
  79.     assertEquals(iter.next(), "drwho");
  80.     assertEquals(iter.next(), "joe");
  81.     groups = acl.getGroups();
  82.     assertEquals(groups.size(), 2);
  83.     iter = groups.iterator();
  84.     assertEquals(iter.next(), "tardis");
  85.     assertEquals(iter.next(), "users");
  86.     
  87.     acl = new AccessControlList("drwho,joe tardis, users");
  88.     users = acl.getUsers();
  89.     assertEquals(users.size(), 2);
  90.     iter = users.iterator();
  91.     assertEquals(iter.next(), "drwho");
  92.     assertEquals(iter.next(), "joe");
  93.     groups = acl.getGroups();
  94.     assertEquals(groups.size(), 2);
  95.     iter = groups.iterator();
  96.     assertEquals(iter.next(), "tardis");
  97.     assertEquals(iter.next(), "users");
  98.   }
  99. }