package org.ovirt.engine.api.restapi.resource; import java.util.ArrayList; import java.util.List; import javax.ws.rs.core.Response; import org.junit.Ignore; import org.junit.Test; import org.ovirt.engine.api.model.Permit; import org.ovirt.engine.core.common.action.ActionGroupsToRoleParameter; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.ActionGroup; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; public class BackendPermitsResourceTest extends AbstractBackendCollectionResourceTest<Permit, ActionGroup, BackendPermitsResource> { public BackendPermitsResourceTest() { super(new BackendPermitsResource(GUIDS[1]), null, ""); } @Test @Ignore @Override public void testQuery() throws Exception { } @Test public void testAddPermit() throws Exception { setUriInfo(setUpBasicUriExpectations()); setUpCreationExpectations(VdcActionType.AttachActionGroupsToRole, ActionGroupsToRoleParameter.class, new String[] { "RoleId" }, new Object[] { GUIDS[1] }, true, true, GUIDS[2], null, null, null, null, getEntity(1)); Permit model = new Permit(); model.setId("1"); Response response = collection.add(model); assertEquals(201, response.getStatus()); assertTrue(response.getEntity() instanceof Permit); verifyModel((Permit)response.getEntity(), 0); } @Override protected List<Permit> getCollection() { return collection.list().getPermits(); } @Override protected void setUpQueryExpectations(String query, Object failure) throws Exception { assertEquals("", query); setUpEntityQueryExpectations(VdcQueryType.GetRoleActionGroupsByRoleId, IdQueryParameters.class, new String[] { "Id" }, new Object[] { GUIDS[1] }, setUpActionGroups(), failure); } static List<ActionGroup> setUpActionGroups() { List<ActionGroup> actionGroups = new ArrayList<>(); for (int i = 1; i <= NAMES.length; i++) { actionGroups.add(ActionGroup.forValue(i)); } return actionGroups; } @Override protected ActionGroup getEntity(int index) { return ActionGroup.forValue(index); } @Override protected void verifyModel(Permit model, int index) { assertEquals(Integer.toString(index + 1), model.getId()); ActionGroup actionGroup = ActionGroup.forValue(index + 1); assertEquals(actionGroup.name().toLowerCase(), model.getName()); } }