use of org.apache.shiro.web.filter.authz.PermissionsAuthorizationFilter in project shiro by apache.
the class SimpleNamedFilterListTest method testListMethods.
/**
* Exists mainly to increase code coverage as the SimpleNamedFilterList
* implementation is a direct pass through.
*/
@Test
public void testListMethods() {
FilterChain mock = createNiceMock(FilterChain.class);
Filter filter = createNiceMock(Filter.class);
NamedFilterList list = new SimpleNamedFilterList("test");
list.add(filter);
FilterChain chain = list.proxy(mock);
assertNotNull(chain);
assertNotSame(mock, chain);
Filter singleFilter = new SslFilter();
List<? extends Filter> multipleFilters = CollectionUtils.asList(new PortFilter(), new UserFilter());
list.add(0, singleFilter);
assertEquals(2, list.size());
assertTrue(list.get(0) instanceof SslFilter);
assertTrue(Arrays.equals(list.toArray(), new Object[] { singleFilter, filter }));
list.addAll(multipleFilters);
assertEquals(4, list.size());
assertTrue(list.get(2) instanceof PortFilter);
assertTrue(list.get(3) instanceof UserFilter);
list.addAll(0, CollectionUtils.asList(new PermissionsAuthorizationFilter(), new RolesAuthorizationFilter()));
assertEquals(6, list.size());
assertTrue(list.get(0) instanceof PermissionsAuthorizationFilter);
assertTrue(list.get(1) instanceof RolesAuthorizationFilter);
assertEquals(2, list.indexOf(singleFilter));
assertEquals(multipleFilters, list.subList(4, list.size()));
assertTrue(list.contains(singleFilter));
assertTrue(list.containsAll(multipleFilters));
assertFalse(list.isEmpty());
list.clear();
assertTrue(list.isEmpty());
list.add(singleFilter);
Iterator i = list.iterator();
assertTrue(i.hasNext());
assertEquals(i.next(), singleFilter);
ListIterator li = list.listIterator();
assertTrue(li.hasNext());
assertEquals(li.next(), singleFilter);
li = list.listIterator(0);
assertTrue(li.hasNext());
assertEquals(li.next(), singleFilter);
list.set(0, singleFilter);
assertEquals(list.get(0), singleFilter);
Filter[] filters = new Filter[list.size()];
filters = list.toArray(filters);
assertEquals(1, filters.length);
assertEquals(filters[0], singleFilter);
assertEquals(0, list.lastIndexOf(singleFilter));
list.remove(singleFilter);
assertTrue(list.isEmpty());
list.add(singleFilter);
list.remove(0);
assertTrue(list.isEmpty());
list.add(singleFilter);
list.addAll(multipleFilters);
assertEquals(3, list.size());
list.removeAll(multipleFilters);
assertEquals(1, list.size());
assertEquals(list.get(0), singleFilter);
list.addAll(multipleFilters);
assertEquals(3, list.size());
list.retainAll(multipleFilters);
assertEquals(2, list.size());
// noinspection unchecked
assertEquals(new ArrayList(list), multipleFilters);
}
Aggregations