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

Reply via email to