use of cz.metacentrum.perun.core.api.Member in project perun by CESNET.
the class ServicesManagerEntryIntegrationTest method getHierarchicalDataWithoutExpiredMembers.
@Test
public void getHierarchicalDataWithoutExpiredMembers() throws Exception {
System.out.println(CLASS_NAME + "getHierarchicalDataWithoutExpiredMembers");
vo = setUpVo();
facility = setUpFacility();
resource = setUpResource();
service = setUpService();
member = setUpMember();
Member member2 = setUpMember();
group = setUpGroup();
perun.getGroupsManager().addMember(sess, group, member);
perun.getGroupsManager().addMember(sess, group, member2);
perun.getResourcesManager().assignGroupToResource(sess, group, resource, false, false, false);
perun.getGroupsManager().setMemberGroupStatus(sess, member2, group, MemberGroupStatus.EXPIRED);
// set element's name/id as required attributes to get some attributes for every element
Attribute reqFacAttr;
reqFacAttr = perun.getAttributesManager().getAttribute(sess, facility, "urn:perun:facility:attribute-def:core:name");
perun.getServicesManager().addRequiredAttribute(sess, service, reqFacAttr);
Attribute reqResAttr;
reqResAttr = perun.getAttributesManager().getAttribute(sess, resource, "urn:perun:resource:attribute-def:core:name");
perun.getServicesManager().addRequiredAttribute(sess, service, reqResAttr);
Attribute reqMemAttr;
reqMemAttr = perun.getAttributesManager().getAttribute(sess, member, "urn:perun:member:attribute-def:core:id");
perun.getServicesManager().addRequiredAttribute(sess, service, reqMemAttr);
// finally assign service
perun.getResourcesManager().assignService(sess, resource, service);
List<ServiceAttributes> facilities = new ArrayList<ServiceAttributes>();
facilities.add(perun.getServicesManager().getHierarchicalData(sess, service, facility, false));
assertEquals(2, facilities.get(0).getChildElements().get(0).getChildElements().size());
// return only one member because the other one is expired
facilities = new ArrayList<>();
facilities.add(perun.getServicesManager().getHierarchicalData(sess, service, facility, true));
assertEquals(1, facilities.get(0).getChildElements().get(0).getChildElements().size());
}
use of cz.metacentrum.perun.core.api.Member in project perun by CESNET.
the class ServicesManagerEntryIntegrationTest method setUpMemberInVo2.
private Member setUpMemberInVo2(Vo vo2) throws Exception {
String userFirstName = Long.toHexString(Double.doubleToLongBits(Math.random()));
String userLastName = Long.toHexString(Double.doubleToLongBits(Math.random()));
// his login in external source
String extLogin = Long.toHexString(Double.doubleToLongBits(Math.random()));
Candidate candidate;
// Mockito.mock(Candidate.class);
candidate = new Candidate();
candidate.setFirstName(userFirstName);
candidate.setId(0);
candidate.setMiddleName("");
candidate.setLastName(userLastName);
candidate.setTitleBefore("");
candidate.setTitleAfter("");
UserExtSource ues = new UserExtSource(new ExtSource(0, "testExtSource", "cz.metacentrum.perun.core.impl.ExtSourceInternal"), extLogin);
candidate.setUserExtSource(ues);
candidate.setAttributes(new HashMap<>());
Member createdMember = perun.getMembersManagerBl().createMemberSync(sess, vo2, candidate);
assertNotNull("No member created", createdMember);
usersForDeletion.add(perun.getUsersManager().getUserByMember(sess, createdMember));
// save user for deletion after test
return createdMember;
}
use of cz.metacentrum.perun.core.api.Member in project perun by CESNET.
the class ServicesManagerEntryIntegrationTest method addDestinationSameDestinationDifferentAdmin.
@Test(expected = PrivilegeException.class)
public void addDestinationSameDestinationDifferentAdmin() throws Exception {
System.out.println(CLASS_NAME + "addDestinationSameDestinationDifferentAdmin");
vo = setUpVo();
facility = setUpFacility();
resource = setUpResource();
service = setUpService();
Destination testDestination = new Destination(0, "test.destination", Destination.DESTINATIONHOSTTYPE);
member = setUpMember();
Member memberTwo = setUpMember();
// Creates second facility
Facility secondFacility = new Facility(0, "TestSecondFacility", "TestDescriptionText");
assertNotNull(perun.getFacilitiesManager().createFacility(sess, secondFacility));
// Set users as admins of different facilities
User userOne = perun.getUsersManagerBl().getUserByMember(sess, member);
perun.getFacilitiesManager().addAdmin(sess, facility, userOne);
User userTwo = perun.getUsersManagerBl().getUserByMember(sess, memberTwo);
perun.getFacilitiesManager().addAdmin(sess, secondFacility, userTwo);
// Sets userOne as actor in this test with role facility admin for facility
AuthzRoles authzRoles = new AuthzRoles(Role.FACILITYADMIN, facility);
sess.getPerunPrincipal().setRoles(authzRoles);
sess.getPerunPrincipal().setUser(userOne);
// Adds destination to facility
perun.getServicesManager().addDestination(sess, service, facility, testDestination);
assertTrue(perun.getServicesManager().getDestinations(sess, service, facility).size() == 1);
// Change actor in this test to userTwo
authzRoles = new AuthzRoles(Role.FACILITYADMIN, secondFacility);
sess.getPerunPrincipal().setRoles(authzRoles);
sess.getPerunPrincipal().setUser(userTwo);
// Adds same destination to secondFacility -> should throw exception
perun.getServicesManager().addDestination(sess, service, secondFacility, testDestination);
}
use of cz.metacentrum.perun.core.api.Member in project perun by CESNET.
the class UsersManagerEntryIntegrationTest method getUsersPage_facilityVoServiceOnlyAllowed.
@Test
public void getUsersPage_facilityVoServiceOnlyAllowed() throws Exception {
System.out.println(CLASS_NAME + "getUsersPage_facilityVoServiceOnlyAllowed");
User user = setUpUser("john", "smith");
User user2 = setUpUser("jane", "smith");
Facility facility = new Facility();
facility.setName("UsersManagerTestFacility");
facility = perun.getFacilitiesManager().createFacility(sess, facility);
Resource r = new Resource(0, "name", "description", facility.getId());
r = perun.getResourcesManager().createResource(sess, r, vo, facility);
Service service = new Service(0, "dummy_service");
service = perun.getServicesManagerBl().createService(sess, service);
perun.getResourcesManagerBl().assignService(sess, r, service);
Member member = perun.getMembersManagerBl().createMember(sess, vo, user);
Member member2 = perun.getMembersManagerBl().createMember(sess, vo, user2);
perun.getMembersManagerBl().setStatus(sess, member, Status.INVALID);
perun.getMembersManagerBl().setStatus(sess, member2, Status.VALID);
Group g1 = setUpGroup(vo, member, "group1");
Group g2 = setUpGroup(vo, member2, "group2");
perun.getResourcesManager().assignGroupToResource(sess, g1, r, false, false, false);
perun.getResourcesManager().assignGroupToResource(sess, g2, r, false, false, false);
UsersPageQuery query = new UsersPageQuery(3, 0, SortingOrder.ASCENDING, UsersOrderColumn.ID, "", facility.getId(), vo.getId(), service.getId(), null, true);
Paginated<RichUser> users = usersManager.getUsersPage(sess, query, List.of());
assertNotNull(users);
assertEquals(1, users.getData().size());
assertEquals(1, users.getTotalCount());
assertTrue(users.getData().contains(usersManager.getRichUser(sess, user2)));
}
use of cz.metacentrum.perun.core.api.Member in project perun by CESNET.
the class UsersManagerEntryIntegrationTest method getVosWhereUserIsAdmin.
@Test
public void getVosWhereUserIsAdmin() throws Exception {
System.out.println(CLASS_NAME + "getVosWhereUserIsAdmin");
Member member = setUpMember(vo);
User user = perun.getUsersManagerBl().getUserByMember(sess, member);
perun.getVosManager().addAdmin(sess, vo, user);
List<Vo> vos = usersManager.getVosWhereUserIsAdmin(sess, user);
assertTrue("our user should be admin in one VO", vos.size() >= 1);
}
Aggregations