/** * Copyright (c) Codice Foundation * <p> * This is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser * General Public License as published by the Free Software Foundation, either version 3 of the * License, or any later version. * <p> * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. A copy of the GNU Lesser General Public License * is distributed along with this program and can be found at * <http://www.gnu.org/licenses/lgpl.html>. */ package ddf.security.permission; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.is; import static org.hamcrest.core.IsEqual.equalTo; import java.util.List; import java.util.Map; import java.util.Set; import org.junit.Test; public class PermissionsTest { @Test public void testParsePermissions() throws Exception { Map<String, Set<String>> map = Permissions.parsePermissionsFromString((String) null); assertThat(map.size(), is(0)); map = Permissions.parsePermissionsFromString("someRandomString"); assertThat(map.size(), is(0)); map = Permissions.parsePermissionsFromString("too=many=equals"); assertThat(map.size(), is(0)); map = Permissions.parsePermissionsFromString("too=many=equals", "valid=permission"); assertThat(map.size(), is(1)); assertThat(map.get("valid") .iterator() .next(), equalTo("permission")); map = Permissions.parsePermissionsFromString("name=value1"); assertThat(map.size(), is(1)); assertThat(map.get("name") .iterator() .next(), equalTo("value1")); map = Permissions.parsePermissionsFromString("name=value1,value2"); assertThat(map.size(), is(1)); assertThat(map.get("name") .size(), is(2)); } @Test public void testGetPermissions() throws Exception { List<String> permStrings = Permissions.getPermissionsAsStrings(null); assertThat(permStrings.size(), is(0)); Map<String, Set<String>> map = Permissions.parsePermissionsFromString("name=value1,value2", "name2=value3"); permStrings = Permissions.getPermissionsAsStrings(map); assertThat(permStrings.contains("name=value1,value2") || permStrings.contains( "name=value2,value1"), is(true)); assertThat(permStrings.contains("name2=value3"), is(true)); } }