Search in sources :

Example 96 with User

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

the class FacilitiesManagerEntryIntegrationTest method getAllowedUsersWithVoAndServiceFilter.

@Test
public void getAllowedUsersWithVoAndServiceFilter() throws Exception {
    System.out.println(CLASS_NAME + "getAllowedUsers");
    Vo vo = setUpVo();
    Resource resource = setUpResource(vo);
    Service serv = new Service();
    serv.setName("TestService");
    perun.getServicesManager().createService(sess, serv);
    perun.getResourcesManager().assignService(sess, resource, serv);
    Member member = setUpMember(vo);
    User user = perun.getUsersManagerBl().getUserByMember(sess, member);
    Group group = setUpGroup(vo, member);
    perun.getResourcesManagerBl().assignGroupToResource(sess, group, resource);
    // second vo and member, assign group but no service
    Vo vo2 = new Vo();
    vo2.setName("FacilitiesMangerTestVo2");
    vo2.setShortName("FMTVO2");
    assertNotNull("unable to create VO", perun.getVosManager().createVo(sess, vo2));
    Member member2 = setUpMember(vo2);
    User user2 = perun.getUsersManagerBl().getUserByMember(sess, member2);
    Group group2 = setUpGroup(vo2, member2);
    Resource resource2 = setUpResource(vo2);
    perun.getResourcesManager().assignService(sess, resource2, serv);
    perun.getResourcesManagerBl().assignGroupToResource(sess, group2, resource2);
    List<User> users = perun.getFacilitiesManager().getAllowedUsers(sess, facility, vo, serv);
    assertTrue("our facility should have 1 allowed user", users.size() == 1);
    assertTrue("our user should be between allowed on facility", users.contains(user));
    List<User> users2 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, vo2, serv);
    assertTrue("our facility should have 1 allowed user", users2.size() == 1);
    assertTrue("our user should be between allowed on facility", users2.contains(user2));
    List<User> users3 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, null, serv);
    assertTrue("our facility should have 1 allowed user", users3.size() == 2);
    assertTrue("our user should be between allowed on facility", users3.contains(user));
    assertTrue("our user should be between allowed on facility", users3.contains(user2));
    List<User> users4 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, vo, null);
    assertTrue("our facility should have 1 allowed user", users4.size() == 1);
    assertTrue("our user should be between allowed on facility", users4.contains(user));
    List<User> users5 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, vo2, null);
    assertTrue("our facility should have 1 allowed user", users5.size() == 1);
    assertTrue("our user should be between allowed on facility", users5.contains(user2));
    // remove service from resource2 to test other edge cases
    perun.getResourcesManager().removeService(sess, resource2, serv);
    List<User> users6 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, vo, serv);
    assertTrue("our facility should have 1 allowed user", users6.size() == 1);
    assertTrue("our user should be between allowed on facility", users6.contains(user));
    List<User> users7 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, vo2, serv);
    assertTrue("our user shouldn't be allowed on facility with vo filter on", users7.size() == 0);
    List<User> users8 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, null, serv);
    assertTrue("our facility should have 1 allowed user", users8.size() == 1);
    assertTrue("our user should be between allowed on facility", users8.contains(user));
    assertTrue("our user shouldn't be between allowed on facility", !users8.contains(user2));
    List<User> users9 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, vo, null);
    assertTrue("our facility should have 1 allowed user", users9.size() == 1);
    assertTrue("our user should be between allowed on facility", users9.contains(user));
    List<User> users10 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, vo2, null);
    assertTrue("our facility should have 1 allowed user", users10.size() == 1);
    assertTrue("our user should be between allowed on facility", users10.contains(user2));
    // create different service to test another edge cases
    Service serv2 = new Service();
    serv2.setName("TestService2");
    serv2 = perun.getServicesManager().createService(sess, serv2);
    perun.getResourcesManager().assignService(sess, resource2, serv2);
    List<User> users11 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, vo, serv2);
    assertTrue("our facility shouldn't have allowed user with vo and service filter on", users11.size() == 0);
    List<User> users12 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, vo2, serv2);
    assertTrue("our facility should have 1 allowed user", users12.size() == 1);
    assertTrue("our user should be between allowed on facility", users12.contains(user2));
    List<User> users13 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, null, serv2);
    assertTrue("our facility should have 1 allowed user", users13.size() == 1);
    assertTrue("our user should be between allowed on facility", users13.contains(user2));
    List<User> users14 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, vo, null);
    assertTrue("our facility should have 1 allowed user", users14.size() == 1);
    assertTrue("our user should be between allowed on facility", users14.contains(user));
    List<User> users15 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, vo2, null);
    assertTrue("our facility should have 1 allowed user", users15.size() == 1);
    assertTrue("our user should be between allowed on facility", users15.contains(user2));
    List<User> users16 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, null, null);
    assertTrue("our facility should have 2 allowed users", users16.size() == 2);
    assertTrue("our user should be between allowed on facility", users16.contains(user));
    assertTrue("our user should be between allowed on facility", users16.contains(user2));
    // disabled members shouldn't be allowed
    perun.getMembersManager().setStatus(sess, member, Status.DISABLED);
    List<User> users17 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, null, null);
    assertTrue("our facility should have 1 allowed user", users17.size() == 1);
    assertTrue("our user should be between allowed on facility", users17.contains(user2));
    List<User> users18 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, vo, null);
    assertTrue("our facility shouldn't have allowed user with vo filter on", users18.size() == 0);
    List<User> users19 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, vo2, null);
    assertTrue("our facility should have 1 allowed user", users19.size() == 1);
    assertTrue("our user should be between allowed on facility", users19.contains(user2));
    List<User> users20 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, vo2, serv);
    assertTrue("our facility shouldn't have allowed user with vo and service filter on", users20.size() == 0);
    List<User> users21 = perun.getFacilitiesManager().getAllowedUsers(sess, facility, vo2, serv2);
    assertTrue("our facility should have 1 allowed user", users21.size() == 1);
    assertTrue("our user should be between allowed on facility", users21.contains(user2));
}
Also used : Group(cz.metacentrum.perun.core.api.Group) ContactGroup(cz.metacentrum.perun.core.api.ContactGroup) User(cz.metacentrum.perun.core.api.User) RichUser(cz.metacentrum.perun.core.api.RichUser) Resource(cz.metacentrum.perun.core.api.Resource) RichResource(cz.metacentrum.perun.core.api.RichResource) Vo(cz.metacentrum.perun.core.api.Vo) Service(cz.metacentrum.perun.core.api.Service) Member(cz.metacentrum.perun.core.api.Member) AbstractPerunIntegrationTest(cz.metacentrum.perun.core.AbstractPerunIntegrationTest) Test(org.junit.Test)

Example 97 with User

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

the class FacilitiesManagerEntryIntegrationTest method removeAdmin.

@Test
public void removeAdmin() throws Exception {
    System.out.println(CLASS_NAME + "removeAdmin");
    final Member member = setUpMember(vo);
    User u = perun.getUsersManagerBl().getUserByMember(sess, member);
    final RichUser richUser = new RichUser(u, perun.getUsersManagerBl().getUserExtSources(sess, u));
    facilitiesManagerEntry.addAdmin(sess, facility, u);
    assertTrue(facilitiesManagerEntry.getAdmins(sess, facility).contains(u));
    facilitiesManagerEntry.removeAdmin(sess, facility, u);
    assertFalse(facilitiesManagerEntry.getAdmins(sess, facility).contains(u));
}
Also used : User(cz.metacentrum.perun.core.api.User) RichUser(cz.metacentrum.perun.core.api.RichUser) RichUser(cz.metacentrum.perun.core.api.RichUser) Member(cz.metacentrum.perun.core.api.Member) AbstractPerunIntegrationTest(cz.metacentrum.perun.core.AbstractPerunIntegrationTest) Test(org.junit.Test)

Example 98 with User

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

the class AttributesManagerEntryIntegrationTest method getResourceRequiredFacilityUserAttributesWhenResourceNotExists.

@Test(expected = ResourceNotExistsException.class)
public void getResourceRequiredFacilityUserAttributesWhenResourceNotExists() throws Exception {
    System.out.println(CLASS_NAME + "getResourceRequiredFacilityUserAttributesWhenResourceNotExists");
    vo = setUpVo();
    member = setUpMember();
    facility = setUpFacility();
    User user = perun.getUsersManager().getUserByMember(sess, member);
    attributesManager.getResourceRequiredAttributes(sess, new Resource(), facility, user);
// shouldn't find resource
}
Also used : User(cz.metacentrum.perun.core.api.User) Resource(cz.metacentrum.perun.core.api.Resource) AbstractPerunIntegrationTest(cz.metacentrum.perun.core.AbstractPerunIntegrationTest) Test(org.junit.Test)

Example 99 with User

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

the class AttributesManagerEntryIntegrationTest method getUserAttributeById.

@Test
public void getUserAttributeById() throws Exception {
    System.out.println(CLASS_NAME + "getUserAttributeById");
    vo = setUpVo();
    member = setUpMember();
    attributes = setUpUserAttribute();
    User user = perun.getUsersManager().getUserByMember(sess, member);
    attributesManager.setAttributes(sess, user, attributes);
    int id = attributes.get(0).getId();
    Attribute retAttr = attributesManager.getAttributeById(sess, user, id);
    assertNotNull("unable to get user attribute by id", retAttr);
    assertEquals("returned attribute is not same as stored", retAttr, attributes.get(0));
}
Also used : User(cz.metacentrum.perun.core.api.User) Attribute(cz.metacentrum.perun.core.api.Attribute) RichAttribute(cz.metacentrum.perun.core.api.RichAttribute) AbstractPerunIntegrationTest(cz.metacentrum.perun.core.AbstractPerunIntegrationTest) Test(org.junit.Test)

Example 100 with User

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

the class AttributesManagerEntryIntegrationTest method removeFacilityUserAttributes.

@Test
public void removeFacilityUserAttributes() throws Exception {
    System.out.println(CLASS_NAME + "removeFacilityUserAttributes");
    vo = setUpVo();
    facility = setUpFacility();
    member = setUpMember();
    User user = perun.getUsersManager().getUserByMember(sess, member);
    attributes = setUpFacilityUserAttribute();
    attributesManager.setAttributes(sess, facility, user, attributes);
    // create facility user and set attribute with value
    attributesManager.removeAttributes(sess, facility, user, attributes);
    // remove attributes from facility user (definition or attribute)
    List<Attribute> retAttr = attributesManager.getAttributes(sess, facility, user);
    assertFalse("our member-resource shouldn't have set our attribute", retAttr.contains(attributes.get(0)));
}
Also used : User(cz.metacentrum.perun.core.api.User) Attribute(cz.metacentrum.perun.core.api.Attribute) RichAttribute(cz.metacentrum.perun.core.api.RichAttribute) AbstractPerunIntegrationTest(cz.metacentrum.perun.core.AbstractPerunIntegrationTest) Test(org.junit.Test)

Aggregations

User (cz.metacentrum.perun.core.api.User)332 Test (org.junit.Test)192 AbstractPerunIntegrationTest (cz.metacentrum.perun.core.AbstractPerunIntegrationTest)168 Attribute (cz.metacentrum.perun.core.api.Attribute)131 Member (cz.metacentrum.perun.core.api.Member)87 Facility (cz.metacentrum.perun.core.api.Facility)81 RichUser (cz.metacentrum.perun.core.api.RichUser)78 ArrayList (java.util.ArrayList)62 RichAttribute (cz.metacentrum.perun.core.api.RichAttribute)56 Resource (cz.metacentrum.perun.core.api.Resource)55 Group (cz.metacentrum.perun.core.api.Group)46 InternalErrorException (cz.metacentrum.perun.core.api.exceptions.InternalErrorException)38 Vo (cz.metacentrum.perun.core.api.Vo)32 WrongAttributeAssignmentException (cz.metacentrum.perun.core.api.exceptions.WrongAttributeAssignmentException)31 BanOnFacility (cz.metacentrum.perun.core.api.BanOnFacility)27 AttributeDefinition (cz.metacentrum.perun.core.api.AttributeDefinition)24 PerunSession (cz.metacentrum.perun.core.api.PerunSession)22 ContactGroup (cz.metacentrum.perun.core.api.ContactGroup)20 ConsistencyErrorException (cz.metacentrum.perun.core.api.exceptions.ConsistencyErrorException)18 AttributeNotExistsException (cz.metacentrum.perun.core.api.exceptions.AttributeNotExistsException)17