implement backend test

#5059
This commit is contained in:
Georg Herdt committed 2020-03-02 13:03:27 +01:00
1 parent b5715fafbf
commit f3ddf9db8f
1 file changed
+28
@@ -8,10 +8,17 @@ import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import java.net.UnknownHostException;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import org.apache.shiro.SecurityUtils;
import org.hamcrest.Matchers;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -30,6 +37,8 @@ import com.sap.sse.security.shared.RoleDefinition;
import com.sap.sse.security.shared.UserGroupManagementException;
import com.sap.sse.security.shared.UserManagementException;
import com.sap.sse.security.shared.WildcardPermission;
import com.sap.sse.security.shared.impl.AccessControlList;
import com.sap.sse.security.shared.impl.QualifiedObjectIdentifierImpl;
import com.sap.sse.security.shared.impl.Role;
import com.sap.sse.security.shared.impl.User;
import com.sap.sse.security.shared.impl.UserGroup;
@@ -84,6 +93,25 @@ public class LoginTest {
assertFalse(Util.contains(specialUserGroup2.getUsers(), user));
}
@Test
public void testAclAnonUserGroup() throws UserManagementException, MailException, UserGroupManagementException {
final String username = "TheNewUser";
securityService.createSimpleUser(username, "u@a.b", "Humba", username, /* company */ null,
/* locale */ null, /* validationBaseURL */ null, /* owning group */ null);
final UserGroup defaultUserGroup = securityService.getUserGroupByName(username + SecurityService.TENANT_SUFFIX);
Map<UserGroup, Set<String>> permissionMap = new HashMap<>();
permissionMap.put(defaultUserGroup, new HashSet<>(Arrays.asList(new String[] { "!READ", "UPDATE" })));
permissionMap.put(null, new HashSet<>(Arrays.asList(new String[] { "!READ", "UPDATE" })));
AccessControlList acl = securityService.updateAccessControlList(
QualifiedObjectIdentifierImpl.fromDBWithoutEscaping("someid/more"), permissionMap);
Map<UserGroup, Set<String>> result = acl.getActionsByUserGroup();
Assert.assertThat(result.get(defaultUserGroup), Matchers.contains("!READ", "UPDATE"));
Assert.assertThat(result.get(null), Matchers.contains("UPDATE"));
}
@Test
public void testGetUser() {
assertNotNull("Subject should not be null: ", SecurityUtils.getSubject());