Search in sources :

Example 21 with Member

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());
}
Also used : Attribute(cz.metacentrum.perun.core.api.Attribute) ServiceAttributes(cz.metacentrum.perun.core.api.ServiceAttributes) ArrayList(java.util.ArrayList) Member(cz.metacentrum.perun.core.api.Member) AbstractPerunIntegrationTest(cz.metacentrum.perun.core.AbstractPerunIntegrationTest) Test(org.junit.Test)

Example 22 with Member

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;
}
Also used : Candidate(cz.metacentrum.perun.core.api.Candidate) UserExtSource(cz.metacentrum.perun.core.api.UserExtSource) ExtSource(cz.metacentrum.perun.core.api.ExtSource) UserExtSource(cz.metacentrum.perun.core.api.UserExtSource) Member(cz.metacentrum.perun.core.api.Member)

Example 23 with Member

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);
}
Also used : RichDestination(cz.metacentrum.perun.core.api.RichDestination) Destination(cz.metacentrum.perun.core.api.Destination) User(cz.metacentrum.perun.core.api.User) AuthzRoles(cz.metacentrum.perun.core.impl.AuthzRoles) Facility(cz.metacentrum.perun.core.api.Facility) Member(cz.metacentrum.perun.core.api.Member) AbstractPerunIntegrationTest(cz.metacentrum.perun.core.AbstractPerunIntegrationTest) Test(org.junit.Test)

Example 24 with Member

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)));
}
Also used : Group(cz.metacentrum.perun.core.api.Group) User(cz.metacentrum.perun.core.api.User) RichUser(cz.metacentrum.perun.core.api.RichUser) UsersPageQuery(cz.metacentrum.perun.core.api.UsersPageQuery) RichUser(cz.metacentrum.perun.core.api.RichUser) Resource(cz.metacentrum.perun.core.api.Resource) Service(cz.metacentrum.perun.core.api.Service) Facility(cz.metacentrum.perun.core.api.Facility) Member(cz.metacentrum.perun.core.api.Member) AbstractPerunIntegrationTest(cz.metacentrum.perun.core.AbstractPerunIntegrationTest) Test(org.junit.Test)

Example 25 with Member

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);
}
Also used : User(cz.metacentrum.perun.core.api.User) RichUser(cz.metacentrum.perun.core.api.RichUser) Vo(cz.metacentrum.perun.core.api.Vo) 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