Martin Beták has uploaded a new change for review. Change subject: restapi: [WIP] Add Test for adding VmPool via REST ......................................................................
restapi: [WIP] Add Test for adding VmPool via REST Change-Id: I3f91f937bd6302af7f9f96fe7b3c7dfd614c2437 Signed-off-by: Martin Betak <[email protected]> --- A backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolsResourceTest.java 1 file changed, 154 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/60/14560/1 diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolsResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolsResourceTest.java new file mode 100644 index 0000000..c22c6fa --- /dev/null +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmPoolsResourceTest.java @@ -0,0 +1,154 @@ +package org.ovirt.engine.api.restapi.resource; + +import static org.easymock.EasyMock.expect; + +import java.util.List; + +import javax.ws.rs.core.Response; +import javax.ws.rs.core.UriInfo; + +import org.junit.Test; +import org.ovirt.engine.api.model.Cluster; +import org.ovirt.engine.api.model.Template; +import org.ovirt.engine.api.model.VmPool; +import org.ovirt.engine.core.common.action.VdcActionType; +import org.ovirt.engine.core.common.action.VmPoolParametersBase; +import org.ovirt.engine.core.common.businessentities.DisplayType; +import org.ovirt.engine.core.common.businessentities.VDSGroup; +import org.ovirt.engine.core.common.businessentities.VmType; +import org.ovirt.engine.core.common.interfaces.SearchType; +import org.ovirt.engine.core.common.queries.GetVmPoolByIdParameters; +import org.ovirt.engine.core.common.queries.GetVmTemplateParameters; +import org.ovirt.engine.core.common.queries.VdcQueryType; + +public class BackendVmPoolsResourceTest extends + AbstractBackendCollectionResourceTest<VmPool, org.ovirt.engine.core.common.businessentities.VmPool, BackendVmPoolsResource> { + + public BackendVmPoolsResourceTest() { + super(new BackendVmPoolsResource(), SearchType.VmPools, "Pools : "); + } + + @Override + protected List<VmPool> getCollection() { + return collection.list().getVmPools(); + } + + @Override + protected org.ovirt.engine.core.common.businessentities.VmPool getEntity(int index) { + return setUpEntityExpectations(control.createMock(org.ovirt.engine.core.common.businessentities.VmPool.class), index); + } + + protected org.ovirt.engine.core.common.businessentities.VmTemplate getTemplateEntity(int index) { + return setUpEntityExpectations( + control.createMock(org.ovirt.engine.core.common.businessentities.VmTemplate.class), + index); + } + + protected org.ovirt.engine.core.common.businessentities.VDSGroup getVdsGroupEntity() { + return new VDSGroup(); + } + + private org.ovirt.engine.core.common.businessentities.VmPool setUpEntityExpectations( + org.ovirt.engine.core.common.businessentities.VmPool entity, + int index) { + expect(entity.getVmPoolId()).andReturn(GUIDS[index]).anyTimes(); + expect(entity.getName()).andReturn(NAMES[index]).anyTimes(); + expect(entity.getVmPoolDescription()).andReturn(DESCRIPTIONS[index]).anyTimes(); + return entity; + } + + static org.ovirt.engine.core.common.businessentities.VmTemplate setUpEntityExpectations( + org.ovirt.engine.core.common.businessentities.VmTemplate entity, int index) { + expect(entity.getId()).andReturn(GUIDS[index]).anyTimes(); + expect(entity.getVdsGroupId()).andReturn(GUIDS[2]).anyTimes(); + expect(entity.getName()).andReturn(NAMES[index]).anyTimes(); + expect(entity.getDescription()).andReturn(DESCRIPTIONS[index]).anyTimes(); + expect(entity.getNumOfCpus()).andReturn(8).anyTimes(); + expect(entity.getNumOfSockets()).andReturn(2).anyTimes(); + expect(entity.getDefaultDisplayType()).andReturn(DisplayType.vnc).anyTimes(); + expect(entity.getNumOfMonitors()).andReturn(2).anyTimes(); + expect(entity.getVmType()).andReturn(VmType.Server).anyTimes(); + return entity; + } + + static VmPool getModel(int index) { + VmPool model = new VmPool(); + model.setName(NAMES[index]); + model.setDescription(DESCRIPTIONS[index]); + model.setId(GUIDS[0].toString()); + model.setCluster(new Cluster()); + model.getCluster().setId(GUIDS[2].toString()); + return model; + } + + private VmPool createModel() { + VmPool model = getModel(0); + + model.setTemplate(new Template()); + model.getTemplate().setId(GUIDS[1].toString()); + + return model; + } + + @Test + public void add() throws Exception { + setUriInfo(setUpBasicUriExpectations()); + + setUpEntityQueryExpectations(VdcQueryType.GetVmTemplate, + GetVmTemplateParameters.class, + new String[] { "Id" }, + new Object[] { GUIDS[1] }, + getTemplateEntity(0)); + + setUpCreationExpectations(VdcActionType.AddVmPoolWithVms, + VmPoolParametersBase.class, + new String[] { "StorageDomainId" }, + new Object[] { GUIDS[0] }, + true, + true, + GUIDS[0], + VdcQueryType.GetVmPoolById, + GetVmPoolByIdParameters.class, + new String[] { "PoolId" }, + new Object[] { GUIDS[0] }, + getEntity(0)); + + Response response = collection.add(createModel()); + assertEquals(201, response.getStatus()); + assertTrue(response.getEntity() instanceof VmPool); + verifyModel((VmPool) response.getEntity(), 0); + } + + @Test + @Override + public void testList() throws Exception { + UriInfo uriInfo = setUpUriExpectations(null); + + setUpQueryExpectations(""); + collection.setUriInfo(uriInfo); + verifyCollection(getCollection()); + } + + @Test + @Override + public void testQuery() throws Exception { + UriInfo uriInfo = setUpUriExpectations(QUERY); + + setUpQueryExpectations(QUERY); + collection.setUriInfo(uriInfo); + verifyCollection(getCollection()); + } + + @Override + protected void verifyModel(VmPool model, int index) { + super.verifyModel(model, index); + verifyModelSpecific(model, index); + } + + static void verifyModelSpecific(VmPool model, int index) { + assertNotNull(model.getCluster()); + assertEquals(GUIDS[2], model.getCluster().getId()); + assertNotNull(model.getTemplate()); + assertEquals(GUIDS[1], model.getTemplate().getId()); + } +} -- To view, visit http://gerrit.ovirt.org/14560 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I3f91f937bd6302af7f9f96fe7b3c7dfd614c2437 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Martin Beták <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
