/******************************************************************************* * Copyright (c) 2010-2014 SAP AG and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * SAP AG - initial API and implementation *******************************************************************************/ package org.eclipse.skalli.core.group; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.util.ArrayList; import java.util.Arrays; import java.util.SortedSet; import org.eclipse.skalli.model.Issue; import org.eclipse.skalli.services.group.GroupService; import org.junit.Test; @SuppressWarnings("nls") public class GroupResourceTest { @Test public void testValidate_emptyGroupId() { GroupsResource groupResource = new GroupsResource(); SortedSet<Issue> issues = groupResource.validate( new GroupsConfig(Arrays.asList(new GroupConfig("", Arrays.asList("jon")))), "admin"); assertFalse(issues.isEmpty()); } @Test public void testValidate_noAdmin() { final String loggedInUser = "admin"; //no group at all GroupsResource groupResource = new GroupsResource(); SortedSet<Issue> issues = groupResource.validate(new GroupsConfig(), loggedInUser); assertFalse(Issue.hasFatalIssues(issues)); assertFalse(issues.isEmpty()); //no admin group issues = groupResource.validate( new GroupsConfig(Arrays.asList( new GroupConfig("dummy", Arrays.asList(loggedInUser)))), loggedInUser); assertFalse(Issue.hasFatalIssues(issues)); assertFalse(issues.isEmpty()); } @Test public void testValidate_ok() { final String loggedInUser = "admin"; GroupsResource groupResource = new GroupsResource(); SortedSet<Issue> issues = groupResource.validate( new GroupsConfig(Arrays.asList( new GroupConfig(GroupService.ADMIN_GROUP, Arrays.asList(loggedInUser)), new GroupConfig("myDummyGroup", Arrays.asList(loggedInUser)))), loggedInUser); assertTrue(issues.isEmpty()); } @Test public void testValidate_memberEmpty() { final String loggedInUser = "admin"; GroupsResource groupResource = new GroupsResource(); SortedSet<Issue> issues = groupResource.validate( new GroupsConfig(Arrays.asList(new GroupConfig(GroupService.ADMIN_GROUP, Arrays .asList(loggedInUser, "")))), loggedInUser); assertTrue(Issue.hasFatalIssues(issues)); } @Test public void testValidate_groups_without_member() { final String loggedInUser = "admin"; GroupsResource groupResource = new GroupsResource(); SortedSet<Issue> issues = groupResource.validate( new GroupsConfig(Arrays.asList(// new GroupConfig(GroupService.ADMIN_GROUP, Arrays.asList(loggedInUser)), // new GroupConfig("emptyGroup", new ArrayList<String>()) )), loggedInUser); assertFalse(Issue.hasFatalIssues(issues)); assertFalse(issues.isEmpty()); } @Test public void testValidate_groups_doublye() { final String loggedInUser = "admin"; GroupsResource groupResource = new GroupsResource(); SortedSet<Issue> issues = groupResource.validate( new GroupsConfig(Arrays.asList(// new GroupConfig(GroupService.ADMIN_GROUP, Arrays.asList(loggedInUser)), // new GroupConfig("myDummyGroup", Arrays.asList("user1", "user2")), new GroupConfig("myDummyGroup", Arrays.asList("user4", "user6")) )), loggedInUser); assertTrue(Issue.hasFatalIssues(issues)); } }