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);
}
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));
}
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")));
}
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));
}
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));
}
Aggregations