Search in sources :

Example 1 with Group

use of org.ovirt.engine.api.model.Group in project ovirt-engine by oVirt.

the class V3GroupInAdapter method adapt.

@Override
public Group adapt(V3Group from) {
    Group to = new Group();
    if (from.isSetLinks()) {
        to.getLinks().addAll(adaptIn(from.getLinks()));
    }
    if (from.isSetActions()) {
        to.setActions(adaptIn(from.getActions()));
    }
    if (from.isSetComment()) {
        to.setComment(from.getComment());
    }
    if (from.isSetDescription()) {
        to.setDescription(from.getDescription());
    }
    if (from.isSetDomain()) {
        to.setDomain(adaptIn(from.getDomain()));
    }
    if (from.isSetDomainEntryId()) {
        to.setDomainEntryId(from.getDomainEntryId());
    }
    if (from.isSetId()) {
        to.setId(from.getId());
    }
    if (from.isSetHref()) {
        to.setHref(from.getHref());
    }
    if (from.isSetName()) {
        to.setName(from.getName());
    }
    if (from.isSetNamespace()) {
        to.setNamespace(from.getNamespace());
    }
    if (from.isSetRoles()) {
        to.setRoles(new Roles());
        to.getRoles().getRoles().addAll(adaptIn(from.getRoles().getRoles()));
    }
    return to;
}
Also used : Group(org.ovirt.engine.api.model.Group) V3Group(org.ovirt.engine.api.v3.types.V3Group) Roles(org.ovirt.engine.api.model.Roles)

Example 2 with Group

use of org.ovirt.engine.api.model.Group in project ovirt-engine by oVirt.

the class GroupMapper method map.

@Mapping(from = DbGroup.class, to = Group.class)
public static Group map(DbGroup entity, Group template) {
    Group model = template != null ? template : new Group();
    model.setName(entity.getName());
    model.setId(entity.getId().toString());
    if (!StringUtils.isEmpty(entity.getDomain())) {
        Domain dom = new Domain();
        dom.setName(entity.getDomain());
        dom.setId(DirectoryEntryIdUtils.encode(dom.getName()));
        model.setDomain(dom);
    }
    model.setDomainEntryId(DirectoryEntryIdUtils.encode(entity.getExternalId()));
    model.setNamespace(entity.getNamespace());
    return model;
}
Also used : Group(org.ovirt.engine.api.model.Group) DbGroup(org.ovirt.engine.core.common.businessentities.aaa.DbGroup) DirectoryGroup(org.ovirt.engine.core.aaa.DirectoryGroup) AuthzGroup(org.ovirt.engine.core.common.businessentities.aaa.AuthzGroup) Domain(org.ovirt.engine.api.model.Domain)

Example 3 with Group

use of org.ovirt.engine.api.model.Group in project ovirt-engine by oVirt.

the class BackendGroupsResourceTest method testAddGroupWithoutDirectoryName.

/**
 * Test that a group can't be added if the directory name isn't provider explicitly or as part of the group name.
 */
@Test
public void testAddGroupWithoutDirectoryName() throws Exception {
    setUriInfo(setUpBasicUriExpectations());
    setUpEntityQueryExpectations(QueryType.GetDomainList, QueryParametersBase.class, new String[] {}, new Object[] {}, setUpDomains());
    Group model = new Group();
    model.setName(GROUP_NAMES_WITH_NO_DOMAIN[0]);
    try {
        collection.add(model);
        fail("expected WebApplicationException");
    } catch (WebApplicationException wae) {
        assertNotNull(wae.getResponse());
        assertEquals(400, wae.getResponse().getStatus());
    }
}
Also used : Group(org.ovirt.engine.api.model.Group) DbGroup(org.ovirt.engine.core.common.businessentities.aaa.DbGroup) DirectoryGroup(org.ovirt.engine.core.aaa.DirectoryGroup) WebApplicationException(javax.ws.rs.WebApplicationException) Test(org.junit.Test) AbstractBackendCollectionResourceTest(org.ovirt.engine.api.restapi.resource.AbstractBackendCollectionResourceTest)

Example 4 with Group

use of org.ovirt.engine.api.model.Group in project ovirt-engine by oVirt.

the class BackendGroupsResourceTest method testAddGroupByIdFailure.

/**
 * Test that if the provided directory identifier doesn't correspond to any existing directory user the user isn't
 * added.
 */
@Test
public void testAddGroupByIdFailure() throws Exception {
    setUriInfo(setUpBasicUriExpectations());
    setUpEntityQueryExpectations(QueryType.GetDomainList, QueryParametersBase.class, new String[] {}, new Object[] {}, setUpDomains());
    setUpGetEntityExpectations(QueryType.GetDirectoryGroupById, DirectoryIdQueryParameters.class, new String[] { "Domain", "Id" }, new Object[] { DOMAIN, DirectoryEntryIdUtils.decode(NON_EXISTANT_EXTERNAL_ID) }, null);
    Group model = new Group();
    model.setName(GROUP_NAMES[0]);
    model.setId(NON_EXISTANT_EXTERNAL_ID);
    try {
        collection.add(model);
        fail("expected WebApplicationException");
    } catch (WebApplicationException wae) {
        assertNotNull(wae.getResponse());
        assertEquals(404, wae.getResponse().getStatus());
    }
}
Also used : Group(org.ovirt.engine.api.model.Group) DbGroup(org.ovirt.engine.core.common.businessentities.aaa.DbGroup) DirectoryGroup(org.ovirt.engine.core.aaa.DirectoryGroup) WebApplicationException(javax.ws.rs.WebApplicationException) Test(org.junit.Test) AbstractBackendCollectionResourceTest(org.ovirt.engine.api.restapi.resource.AbstractBackendCollectionResourceTest)

Example 5 with Group

use of org.ovirt.engine.api.model.Group in project ovirt-engine by oVirt.

the class BackendGroupsResourceTest method testAddGroupWithImplicitDirectoryName.

/**
 * Test that a group can be added when the user doesn't explicitly provide the name of the directory, but provides
 * it as part of the group name.
 */
@Test
public void testAddGroupWithImplicitDirectoryName() throws Exception {
    setUriInfo(setUpBasicUriExpectations());
    setUpEntityQueryExpectations(QueryType.GetDomainList, QueryParametersBase.class, new String[] {}, new Object[] {}, setUpDomains());
    setUpGetEntityExpectations("ADGROUP@" + DOMAIN + ":: name=" + GROUP_NAMES_WITH_NO_DOMAIN[0], SearchType.DirectoryGroup, getDirectoryGroup(0));
    setUpCreationExpectations(ActionType.AddGroup, AddGroupParameters.class, new String[] { "GroupToAdd" }, new Object[] { new DbGroup(getDirectoryGroup(0)) }, true, true, GUIDS[0], QueryType.GetDbGroupById, IdQueryParameters.class, new String[] { "Id" }, new Object[] { GUIDS[0] }, getEntity(0));
    Group model = new Group();
    model.setName(GROUP_NAMES[0]);
    Response response = collection.add(model);
    assertEquals(201, response.getStatus());
    assertTrue(response.getEntity() instanceof Group);
    verifyModel((Group) response.getEntity(), 0);
}
Also used : Response(javax.ws.rs.core.Response) DbGroup(org.ovirt.engine.core.common.businessentities.aaa.DbGroup) Group(org.ovirt.engine.api.model.Group) DbGroup(org.ovirt.engine.core.common.businessentities.aaa.DbGroup) DirectoryGroup(org.ovirt.engine.core.aaa.DirectoryGroup) Test(org.junit.Test) AbstractBackendCollectionResourceTest(org.ovirt.engine.api.restapi.resource.AbstractBackendCollectionResourceTest)

Aggregations

Group (org.ovirt.engine.api.model.Group)19 DbGroup (org.ovirt.engine.core.common.businessentities.aaa.DbGroup)12 DirectoryGroup (org.ovirt.engine.core.aaa.DirectoryGroup)11 Test (org.junit.Test)8 Domain (org.ovirt.engine.api.model.Domain)5 AbstractBackendCollectionResourceTest (org.ovirt.engine.api.restapi.resource.AbstractBackendCollectionResourceTest)5 Response (javax.ws.rs.core.Response)4 WebApplicationException (javax.ws.rs.WebApplicationException)3 Groups (org.ovirt.engine.api.model.Groups)3 Permission (org.ovirt.engine.api.model.Permission)3 User (org.ovirt.engine.api.model.User)3 AuthzGroup (org.ovirt.engine.core.common.businessentities.aaa.AuthzGroup)3 DbUser (org.ovirt.engine.core.common.businessentities.aaa.DbUser)3 Role (org.ovirt.engine.api.model.Role)2 BaseResource (org.ovirt.engine.api.model.BaseResource)1 Roles (org.ovirt.engine.api.model.Roles)1 V3Group (org.ovirt.engine.api.v3.types.V3Group)1 DirectoryUser (org.ovirt.engine.core.aaa.DirectoryUser)1