Search in sources :

Example 96 with Member

use of cz.metacentrum.perun.core.api.Member in project perun by CESNET.

the class GroupsManagerEntryIntegrationTest method removeMemberFromSubGroup.

@Test
public void removeMemberFromSubGroup() throws Exception {
    System.out.println(CLASS_NAME + "removeMemberFromSubGroup");
    vo = setUpVo();
    Group topGroup = this.groupsManager.createGroup(sess, vo, group);
    Group subGroup = this.groupsManager.createGroup(sess, group, group2);
    List<Member> members = new ArrayList<>();
    members.add(setUpMemberWithDifferentParam(vo, 1));
    this.groupsManager.addMember(sess, group, members.get(0));
    this.groupsManager.addMember(sess, group2, members.get(0));
    this.groupsManager.removeMember(sess, group, members.get(0));
    List<Member> membersOfTopGroup = this.groupsManager.getGroupMembers(sess, group);
    List<Member> membersOfSubGroup = this.groupsManager.getGroupMembers(sess, group2);
    assertTrue(membersOfTopGroup.contains(members.get(0)));
    assertEquals(membersOfTopGroup.get(0).getMembershipType(), MembershipType.INDIRECT);
    assertTrue(membersOfSubGroup.contains(members.get(0)));
    assertEquals(membersOfSubGroup.get(0).getMembershipType(), MembershipType.DIRECT);
}
Also used : Group(cz.metacentrum.perun.core.api.Group) RichGroup(cz.metacentrum.perun.core.api.RichGroup) ArrayList(java.util.ArrayList) RichMember(cz.metacentrum.perun.core.api.RichMember) Member(cz.metacentrum.perun.core.api.Member) AbstractPerunIntegrationTest(cz.metacentrum.perun.core.AbstractPerunIntegrationTest) Test(org.junit.Test)

Example 97 with Member

use of cz.metacentrum.perun.core.api.Member in project perun by CESNET.

the class GroupsManagerEntryIntegrationTest method canExtendMembershipOutOfGracePeriodRelativeDate.

@Test
public void canExtendMembershipOutOfGracePeriodRelativeDate() throws Exception {
    System.out.println(CLASS_NAME + "canExtendMembershipOutOfGracePeriodRelativeDate");
    // set up member in group and vo
    Vo vo = setUpVo();
    Member member1 = setUpMemberWithDifferentParam(vo, 111);
    // set up group
    groupsManagerBl.createGroup(sess, vo, group);
    groupsManagerBl.addMember(sess, group, member1);
    // Set membershipExpirationRules attribute
    HashMap<String, String> extendMembershipRules = new LinkedHashMap<>();
    extendMembershipRules.put(AbstractMembershipExpirationRulesModule.membershipPeriodKeyName, "+6m");
    extendMembershipRules.put(AbstractMembershipExpirationRulesModule.membershipGracePeriodKeyName, "2d");
    Attribute extendMembershipRulesAttribute = new Attribute(attributesManager.getAttributeDefinition(sess, AttributesManager.NS_GROUP_ATTR_DEF + ":groupMembershipExpirationRules"));
    extendMembershipRulesAttribute.setValue(extendMembershipRules);
    attributesManager.setAttribute(sess, group, extendMembershipRulesAttribute);
    // Set expiration date to three days after. (one day untill grace period begins)
    LocalDate today = LocalDate.now().plusDays(3);
    Attribute expirationAttr = new Attribute(attributesManager.getAttributeDefinition(sess, AttributesManager.NS_MEMBER_GROUP_ATTR_DEF + ":groupMembershipExpiration"));
    expirationAttr.setValue(today.toString());
    attributesManager.setAttribute(sess, member1, group, expirationAttr);
    // Check if enviroment is set properly
    expirationAttr = attributesManager.getAttribute(sess, member1, group, AttributesManager.NS_MEMBER_GROUP_ATTR_DEF + ":groupMembershipExpiration");
    assertNotNull("membership attribute must be set", expirationAttr);
    assertNotNull("membership attribute value must be set", expirationAttr.getValue());
    // Check if membership can be extended
    assertFalse(groupsManagerBl.canExtendMembershipInGroup(sess, member1, group));
}
Also used : Attribute(cz.metacentrum.perun.core.api.Attribute) Vo(cz.metacentrum.perun.core.api.Vo) RichMember(cz.metacentrum.perun.core.api.RichMember) Member(cz.metacentrum.perun.core.api.Member) LocalDate(java.time.LocalDate) LinkedHashMap(java.util.LinkedHashMap) AbstractPerunIntegrationTest(cz.metacentrum.perun.core.AbstractPerunIntegrationTest) Test(org.junit.Test)

Example 98 with Member

use of cz.metacentrum.perun.core.api.Member in project perun by CESNET.

the class GroupsManagerEntryIntegrationTest method getUserGroups.

@Test
public void getUserGroups() throws Exception {
    System.out.println(CLASS_NAME + "getUserGroups");
    vo = setUpVo();
    setUpGroup(vo);
    List<Group> groups = setUpGroups(vo);
    Member member = setUpMember(vo);
    groupsManagerBl.addMember(sess, group, member);
    User u = perun.getUsersManager().getUserByMember(sess, member);
    List<Group> resultGroups = groupsManagerBl.getUserGroups(sess, u);
    assertTrue("User should be member of two groups.", resultGroups.size() == 2);
    assertTrue("Returned groups should contain expected group.", resultGroups.contains(group));
    assertTrue("Returned groups should contain VO's members group", resultGroups.stream().anyMatch(g -> g.getName().equals("members")));
}
Also used : InternalErrorException(cz.metacentrum.perun.core.api.exceptions.InternalErrorException) Arrays(java.util.Arrays) Candidate(cz.metacentrum.perun.core.api.Candidate) Vo(cz.metacentrum.perun.core.api.Vo) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) MemberNotExistsException(cz.metacentrum.perun.core.api.exceptions.MemberNotExistsException) ExternallyManagedException(cz.metacentrum.perun.core.api.exceptions.ExternallyManagedException) GroupExistsException(cz.metacentrum.perun.core.api.exceptions.GroupExistsException) ExtSource(cz.metacentrum.perun.core.api.ExtSource) UserNotAdminException(cz.metacentrum.perun.core.api.exceptions.UserNotAdminException) RelationExistsException(cz.metacentrum.perun.core.api.exceptions.RelationExistsException) ExtSourcesManager(cz.metacentrum.perun.core.api.ExtSourcesManager) Map(java.util.Map) UsersManagerBl(cz.metacentrum.perun.core.bl.UsersManagerBl) GroupsManager(cz.metacentrum.perun.core.api.GroupsManager) MemberGroupStatus(cz.metacentrum.perun.core.api.MemberGroupStatus) PerunPrincipal(cz.metacentrum.perun.core.api.PerunPrincipal) GroupRelationNotAllowed(cz.metacentrum.perun.core.api.exceptions.GroupRelationNotAllowed) Attribute(cz.metacentrum.perun.core.api.Attribute) Facility(cz.metacentrum.perun.core.api.Facility) GroupRelationCannotBeRemoved(cz.metacentrum.perun.core.api.exceptions.GroupRelationCannotBeRemoved) BeansUtils(cz.metacentrum.perun.core.api.BeansUtils) UserExtSource(cz.metacentrum.perun.core.api.UserExtSource) GroupMoveNotAllowedException(cz.metacentrum.perun.core.api.exceptions.GroupMoveNotAllowedException) AttributeDefinition(cz.metacentrum.perun.core.api.AttributeDefinition) PerunSessionImpl(cz.metacentrum.perun.core.impl.PerunSessionImpl) UUID(java.util.UUID) Collectors(java.util.stream.Collectors) User(cz.metacentrum.perun.core.api.User) Objects(java.util.Objects) VosManager(cz.metacentrum.perun.core.api.VosManager) List(java.util.List) Assert.assertFalse(org.junit.Assert.assertFalse) LocalDate(java.time.LocalDate) Optional(java.util.Optional) RichMember(cz.metacentrum.perun.core.api.RichMember) SortingOrder(cz.metacentrum.perun.core.api.SortingOrder) Resource(cz.metacentrum.perun.core.api.Resource) PerunSession(cz.metacentrum.perun.core.api.PerunSession) AbstractPerunIntegrationTest(cz.metacentrum.perun.core.AbstractPerunIntegrationTest) GroupNotExistsException(cz.metacentrum.perun.core.api.exceptions.GroupNotExistsException) GroupNotAllowedToAutoRegistrationException(cz.metacentrum.perun.core.api.exceptions.GroupNotAllowedToAutoRegistrationException) Paginated(cz.metacentrum.perun.core.api.Paginated) HashMap(java.util.HashMap) GroupsManagerBl(cz.metacentrum.perun.core.bl.GroupsManagerBl) Group(cz.metacentrum.perun.core.api.Group) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) LinkedHashMap(java.util.LinkedHashMap) Assert.assertSame(org.junit.Assert.assertSame) IllegalArgumentException(cz.metacentrum.perun.core.api.exceptions.IllegalArgumentException) GroupRelationDoesNotExist(cz.metacentrum.perun.core.api.exceptions.GroupRelationDoesNotExist) Assertions.assertThatExceptionOfType(org.assertj.core.api.Assertions.assertThatExceptionOfType) NotGroupMemberException(cz.metacentrum.perun.core.api.exceptions.NotGroupMemberException) GroupsOrderColumn(cz.metacentrum.perun.core.api.GroupsOrderColumn) AlreadyAdminException(cz.metacentrum.perun.core.api.exceptions.AlreadyAdminException) Before(org.junit.Before) Member(cz.metacentrum.perun.core.api.Member) GroupRelationAlreadyExists(cz.metacentrum.perun.core.api.exceptions.GroupRelationAlreadyExists) Assert.assertNotNull(org.junit.Assert.assertNotNull) RichGroup(cz.metacentrum.perun.core.api.RichGroup) AbstractMembershipExpirationRulesModule(cz.metacentrum.perun.core.implApi.modules.attributes.AbstractMembershipExpirationRulesModule) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) AlreadyMemberException(cz.metacentrum.perun.core.api.exceptions.AlreadyMemberException) AttributesManager(cz.metacentrum.perun.core.api.AttributesManager) MembershipType(cz.metacentrum.perun.core.api.MembershipType) ExtendMembershipException(cz.metacentrum.perun.core.api.exceptions.ExtendMembershipException) VoNotExistsException(cz.metacentrum.perun.core.api.exceptions.VoNotExistsException) Assert.assertNull(org.junit.Assert.assertNull) PerunClient(cz.metacentrum.perun.core.api.PerunClient) GroupsPageQuery(cz.metacentrum.perun.core.api.GroupsPageQuery) UserNotExistsException(cz.metacentrum.perun.core.api.exceptions.UserNotExistsException) Collections(java.util.Collections) Status(cz.metacentrum.perun.core.api.Status) Assert.assertEquals(org.junit.Assert.assertEquals) Assert(org.springframework.util.Assert) Group(cz.metacentrum.perun.core.api.Group) RichGroup(cz.metacentrum.perun.core.api.RichGroup) User(cz.metacentrum.perun.core.api.User) RichMember(cz.metacentrum.perun.core.api.RichMember) Member(cz.metacentrum.perun.core.api.Member) AbstractPerunIntegrationTest(cz.metacentrum.perun.core.AbstractPerunIntegrationTest) Test(org.junit.Test)

Example 99 with Member

use of cz.metacentrum.perun.core.api.Member in project perun by CESNET.

the class FacilitiesManagerEntryIntegrationTest method getBansForFacility.

@Test
public void getBansForFacility() throws Exception {
    System.out.println(CLASS_NAME + "getBansForFacility");
    Vo vo = setUpVo();
    Resource resource = setUpResource(vo);
    Member member = setUpMember(vo);
    User user = perun.getUsersManagerBl().getUserByMember(sess, member);
    Group group = setUpGroup(vo, member);
    perun.getResourcesManagerBl().assignGroupToResource(sess, group, resource, false, false, false);
    BanOnFacility banOnFacility = new BanOnFacility();
    banOnFacility.setUserId(user.getId());
    banOnFacility.setFacilityId(facility.getId());
    banOnFacility.setDescription("Popisek");
    banOnFacility.setValidityTo(new Date());
    banOnFacility = facilitiesManagerEntry.setBan(sess, banOnFacility);
    List<BanOnFacility> returnedBans = facilitiesManagerEntry.getBansForFacility(sess, banOnFacility.getFacilityId());
    assertEquals(banOnFacility, returnedBans.get(0));
}
Also used : Group(cz.metacentrum.perun.core.api.Group) User(cz.metacentrum.perun.core.api.User) RichUser(cz.metacentrum.perun.core.api.RichUser) BanOnFacility(cz.metacentrum.perun.core.api.BanOnFacility) Resource(cz.metacentrum.perun.core.api.Resource) RichResource(cz.metacentrum.perun.core.api.RichResource) Vo(cz.metacentrum.perun.core.api.Vo) Member(cz.metacentrum.perun.core.api.Member) Date(java.util.Date) AbstractPerunIntegrationTest(cz.metacentrum.perun.core.AbstractPerunIntegrationTest) Test(org.junit.Test)

Example 100 with Member

use of cz.metacentrum.perun.core.api.Member in project perun by CESNET.

the class GroupsManagerEntryIntegrationTest method addMembersToGroupsFromTriggerAttributeWithGroupStructureTriggerToFour.

@Test
public void addMembersToGroupsFromTriggerAttributeWithGroupStructureTriggerToFour() throws Exception {
    System.out.println(CLASS_NAME + "addMembersToGroupsFromTriggerAttributeWithGroupStructureTriggerToFour");
    vo = setUpVo();
    // set up sub groups
    groupsManagerBl.createGroup(sess, vo, group);
    groupsManagerBl.createGroup(sess, group, group2);
    groupsManagerBl.createGroup(sess, group2, group3);
    groupsManagerBl.createGroup(sess, group3, group4);
    Member member = setUpMember(vo);
    groupsManager.addMember(sess, group3, member);
    ArrayList<String> list = new ArrayList<>();
    list.add(String.valueOf(group4.getId()));
    Attribute triggerAttr = new Attribute(attributesManager.getAttributeDefinition(sess, AttributesManager.NS_GROUP_ATTR_DEF + ":groupTrigger"));
    triggerAttr.setValue(list);
    attributesManager.setAttribute(sess, group3, triggerAttr);
    assertTrue(groupsManager.isGroupMember(sess, group, member));
    assertFalse(groupsManager.isDirectGroupMember(sess, group, member));
    assertTrue(groupsManager.isGroupMember(sess, group2, member));
    assertFalse(groupsManager.isDirectGroupMember(sess, group2, member));
    assertTrue(groupsManager.isDirectGroupMember(sess, group3, member));
    groupsManager.removeMember(sess, group3, member);
    assertTrue(groupsManager.isGroupMember(sess, group, member));
    assertTrue(groupsManager.isGroupMember(sess, group2, member));
    assertTrue(groupsManager.isGroupMember(sess, group3, member));
    assertFalse(groupsManager.isDirectGroupMember(sess, group, member));
    assertFalse(groupsManager.isDirectGroupMember(sess, group2, member));
    assertFalse(groupsManager.isDirectGroupMember(sess, group3, member));
    assertTrue(groupsManager.isDirectGroupMember(sess, group4, member));
}
Also used : Attribute(cz.metacentrum.perun.core.api.Attribute) ArrayList(java.util.ArrayList) RichMember(cz.metacentrum.perun.core.api.RichMember) Member(cz.metacentrum.perun.core.api.Member) AbstractPerunIntegrationTest(cz.metacentrum.perun.core.AbstractPerunIntegrationTest) Test(org.junit.Test)

Aggregations

Member (cz.metacentrum.perun.core.api.Member)573 Test (org.junit.Test)369 AbstractPerunIntegrationTest (cz.metacentrum.perun.core.AbstractPerunIntegrationTest)331 RichMember (cz.metacentrum.perun.core.api.RichMember)258 User (cz.metacentrum.perun.core.api.User)238 Group (cz.metacentrum.perun.core.api.Group)183 ArrayList (java.util.ArrayList)153 Vo (cz.metacentrum.perun.core.api.Vo)149 Attribute (cz.metacentrum.perun.core.api.Attribute)137 RichUser (cz.metacentrum.perun.core.api.RichUser)108 Resource (cz.metacentrum.perun.core.api.Resource)93 Facility (cz.metacentrum.perun.core.api.Facility)73 InternalErrorException (cz.metacentrum.perun.core.api.exceptions.InternalErrorException)69 LinkedHashMap (java.util.LinkedHashMap)66 HashSet (java.util.HashSet)65 UserExtSource (cz.metacentrum.perun.core.api.UserExtSource)56 RichGroup (cz.metacentrum.perun.core.api.RichGroup)52 LocalDate (java.time.LocalDate)52 Candidate (cz.metacentrum.perun.core.api.Candidate)51 HashMap (java.util.HashMap)50