Juan Hernandez has uploaded a new change for review. Change subject: restapi: Move Network remove from collection to entity ......................................................................
restapi: Move Network remove from collection to entity This patch moves the method that implements the DELETE operation from the collection interface to the entity interface. This is needed to avoid issues with newer versions of Resteasy. Change-Id: Ib106d6cdf8b48931b257df2ef306317b8975b912 Related: https://gerrit.ovirt.org/41783 Signed-off-by: Juan Hernandez <[email protected]> --- M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AssignedNetworkResource.java M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AssignedNetworksResource.java M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/NetworkResource.java M backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/NetworksResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworkResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworksResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworkResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworksResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworkResource.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworksResource.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworkResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworksResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendDataCenterNetworkResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendDataCenterNetworksResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendNetworkResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendNetworksResourceTest.java 16 files changed, 305 insertions(+), 284 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/07/41807/1 diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AssignedNetworkResource.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AssignedNetworkResource.java index b0adbfb..6459134 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AssignedNetworkResource.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AssignedNetworkResource.java @@ -16,12 +16,14 @@ package org.ovirt.engine.api.resource; +import javax.ws.rs.DELETE; import javax.ws.rs.Produces; - +import javax.ws.rs.core.Response; import org.ovirt.engine.api.model.Network; @Produces({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, ApiMediaType.APPLICATION_X_YAML}) public interface AssignedNetworkResource extends UpdatableResource<Network> { - + @DELETE + Response remove(); } diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AssignedNetworksResource.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AssignedNetworksResource.java index 5c1e1fd..a4b2e1b 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AssignedNetworksResource.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/AssignedNetworksResource.java @@ -17,7 +17,6 @@ package org.ovirt.engine.api.resource; import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; @@ -28,21 +27,15 @@ import org.ovirt.engine.api.model.Network; import org.ovirt.engine.api.model.Networks; - @Produces({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, ApiMediaType.APPLICATION_X_YAML}) public interface AssignedNetworksResource { - @GET - public Networks list(); + Networks list(); @POST @Consumes({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, ApiMediaType.APPLICATION_X_YAML}) - public Response add(Network network); - - @DELETE - @Path("{id}") - public Response remove(@PathParam("id") String id); + Response add(Network network); @Path("{id}") - public AssignedNetworkResource getAssignedNetworkSubResource(@PathParam("id") String id); + AssignedNetworkResource getAssignedNetworkSubResource(@PathParam("id") String id); } diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/NetworkResource.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/NetworkResource.java index 775488b..d5fd116 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/NetworkResource.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/NetworkResource.java @@ -16,21 +16,24 @@ package org.ovirt.engine.api.resource; +import javax.ws.rs.DELETE; import javax.ws.rs.Path; import javax.ws.rs.Produces; +import javax.ws.rs.core.Response; import org.ovirt.engine.api.model.Network; - @Produces({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, ApiMediaType.APPLICATION_X_YAML}) public interface NetworkResource extends UpdatableResource<Network> { + @DELETE + Response remove(); @Path("permissions") - public AssignedPermissionsResource getPermissionsResource(); + AssignedPermissionsResource getPermissionsResource(); @Path("vnicprofiles") - public AssignedVnicProfilesResource getVnicProfilesResource(); + AssignedVnicProfilesResource getVnicProfilesResource(); @Path("labels") - public LabelsResource getLabelsResource(); + LabelsResource getLabelsResource(); } diff --git a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/NetworksResource.java b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/NetworksResource.java index 935b8e1..9b9ed2d 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/NetworksResource.java +++ b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/NetworksResource.java @@ -17,7 +17,6 @@ package org.ovirt.engine.api.resource; import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; @@ -31,18 +30,13 @@ @Path("/networks") @Produces({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, ApiMediaType.APPLICATION_X_YAML}) public interface NetworksResource { - @GET - public Networks list(); + Networks list(); @POST @Consumes({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, ApiMediaType.APPLICATION_X_YAML}) - public Response add(Network network); - - @DELETE - @Path("{id}") - public Response remove(@PathParam("id") String id); + Response add(Network network); @Path("{id}") - public NetworkResource getNetworkSubResource(@PathParam("id") String id); + NetworkResource getNetworkSubResource(@PathParam("id") String id); } diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworkResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworkResource.java index 733af06..d5d48b9 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworkResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworkResource.java @@ -1,16 +1,25 @@ package org.ovirt.engine.api.restapi.resource; - import org.ovirt.engine.api.model.Network; +import org.ovirt.engine.core.common.action.VdcActionParametersBase; +import org.ovirt.engine.core.common.action.VdcActionType; -public class AbstractBackendNetworkResource +import javax.ws.rs.core.Response; + +public abstract class AbstractBackendNetworkResource extends AbstractBackendSubResource<Network, org.ovirt.engine.core.common.businessentities.network.Network> { protected AbstractBackendNetworksResource parent; + private VdcActionType removeAction; - public AbstractBackendNetworkResource(String id, AbstractBackendNetworksResource parent, String... subCollections) { + public AbstractBackendNetworkResource( + String id, + AbstractBackendNetworksResource parent, + VdcActionType removeAction, + String... subCollections) { super(id, Network.class, org.ovirt.engine.core.common.businessentities.network.Network.class, subCollections); this.parent = parent; + this.removeAction = removeAction; } public Network get() { @@ -29,4 +38,16 @@ protected Network doPopulate(Network model, org.ovirt.engine.core.common.businessentities.network.Network entity) { return model; } + + protected abstract VdcActionParametersBase getRemoveParameters(org.ovirt.engine.core.common.businessentities.network.Network entity); + + public Response remove() { + get(); + org.ovirt.engine.core.common.businessentities.network.Network entity = parent.lookupNetwork(asGuidOr404(id)); + if (entity == null) { + notFound(); + return null; + } + return performAction(removeAction, getRemoveParameters(entity)); + } } diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworksResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworksResource.java index f93910c..05bdd31 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworksResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNetworksResource.java @@ -2,8 +2,6 @@ import java.util.List; -import javax.ws.rs.core.Response; - import org.ovirt.engine.api.model.Network; import org.ovirt.engine.api.model.Networks; import org.ovirt.engine.core.common.action.VdcActionParametersBase; @@ -12,41 +10,24 @@ import org.ovirt.engine.core.common.queries.VdcQueryType; import org.ovirt.engine.core.compat.Guid; -public abstract class AbstractBackendNetworksResource extends AbstractBackendCollectionResource<Network, org.ovirt.engine.core.common.businessentities.network.Network> -{ +public abstract class AbstractBackendNetworksResource + extends AbstractBackendCollectionResource<Network, org.ovirt.engine.core.common.businessentities.network.Network> { protected VdcQueryType queryType; protected VdcActionType addAction; - protected VdcActionType removeAction; - public AbstractBackendNetworksResource(VdcQueryType queryType, - VdcActionType addAction, - VdcActionType removeAction, - String... subCollections) { + public AbstractBackendNetworksResource(VdcQueryType queryType, VdcActionType addAction, String... subCollections) { super(Network.class, org.ovirt.engine.core.common.businessentities.network.Network.class, subCollections); this.queryType = queryType; this.addAction = addAction; - this.removeAction = removeAction; } protected abstract VdcQueryParametersBase getQueryParameters(); protected abstract VdcActionParametersBase getAddParameters(Network network, org.ovirt.engine.core.common.businessentities.network.Network entity); - protected abstract VdcActionParametersBase getRemoveParameters(org.ovirt.engine.core.common.businessentities.network.Network entity); - public Networks list() { return mapCollection(getBackendCollection(queryType, getQueryParameters())); - } - - @Override - public Response performRemove(String id) { - org.ovirt.engine.core.common.businessentities.network.Network entity = lookupNetwork(asGuidOr404(id)); - if (entity == null) { - notFound(); - return null; - } - return performAction(removeAction, getRemoveParameters(entity)); } protected Networks mapCollection(List<org.ovirt.engine.core.common.businessentities.network.Network> entities) { diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworkResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworkResource.java index 7f25c45..2a25dae 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworkResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworkResource.java @@ -2,7 +2,9 @@ import org.ovirt.engine.api.model.Network; import org.ovirt.engine.api.resource.AssignedNetworkResource; +import org.ovirt.engine.core.common.action.AttachNetworkToVdsGroupParameter; import org.ovirt.engine.core.common.action.NetworkClusterParameters; +import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; public class BackendClusterNetworkResource @@ -12,7 +14,7 @@ protected BackendClusterNetworksResource cluster; public BackendClusterNetworkResource(String id, BackendClusterNetworksResource parent) { - super(id, parent); + super(id, parent, VdcActionType.DetachNetworkToVdsGroup); this.cluster = parent; } @@ -36,4 +38,9 @@ new NetworkClusterParameters(network.getCluster())); return get(); } + + @Override + protected VdcActionParametersBase getRemoveParameters(org.ovirt.engine.core.common.businessentities.network.Network entity) { + return new AttachNetworkToVdsGroupParameter(cluster.getVDSGroup(), entity); + } } diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworksResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworksResource.java index 7a727c3..5b88e66 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworksResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworksResource.java @@ -25,9 +25,7 @@ private String clusterId; public BackendClusterNetworksResource(String clusterId) { - super(VdcQueryType.GetAllNetworksByClusterId, - VdcActionType.AttachNetworkToVdsGroup, - VdcActionType.DetachNetworkToVdsGroup); + super(VdcQueryType.GetAllNetworksByClusterId, VdcActionType.AttachNetworkToVdsGroup); this.clusterId = clusterId; } @@ -99,11 +97,6 @@ @Override protected VdcActionParametersBase getAddParameters(Network network, org.ovirt.engine.core.common.businessentities.network.Network entity) { - return new AttachNetworkToVdsGroupParameter(getVDSGroup(), entity); - } - - @Override - protected VdcActionParametersBase getRemoveParameters(org.ovirt.engine.core.common.businessentities.network.Network entity) { return new AttachNetworkToVdsGroupParameter(getVDSGroup(), entity); } diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworkResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworkResource.java index ebe2b5c..5342722 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworkResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworkResource.java @@ -8,6 +8,7 @@ import org.ovirt.engine.api.resource.NetworkResource; import org.ovirt.engine.core.common.VdcObjectType; import org.ovirt.engine.core.common.action.AddNetworkStoragePoolParameters; +import org.ovirt.engine.core.common.action.RemoveNetworkParameters; import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.queries.GetPermissionsForObjectParameters; @@ -16,7 +17,7 @@ public class BackendNetworkResource extends AbstractBackendNetworkResource implements NetworkResource { public BackendNetworkResource(String id, BackendNetworksResource parent) { - super(id, parent, BackendNetworksResource.SUB_COLLECTIONS); + super(id, parent, VdcActionType.RemoveNetwork, BackendNetworksResource.SUB_COLLECTIONS); } @Override @@ -65,4 +66,9 @@ public LabelsResource getLabelsResource() { return inject(new BackendNetworkLabelsResource(asGuid(id))); } + + @Override + protected VdcActionParametersBase getRemoveParameters(org.ovirt.engine.core.common.businessentities.network.Network entity) { + return new RemoveNetworkParameters(entity.getId()); + } } diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworksResource.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworksResource.java index 672e6e6..020e963 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworksResource.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendNetworksResource.java @@ -1,6 +1,5 @@ package org.ovirt.engine.api.restapi.resource; - import javax.ws.rs.core.Response; import org.ovirt.engine.api.model.Network; @@ -8,8 +7,6 @@ import org.ovirt.engine.api.resource.NetworkResource; import org.ovirt.engine.api.resource.NetworksResource; import org.ovirt.engine.core.common.action.AddNetworkStoragePoolParameters; -import org.ovirt.engine.core.common.action.RemoveNetworkParameters; -import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.interfaces.SearchType; @@ -28,7 +25,7 @@ } public BackendNetworksResource(VdcQueryType queryType) { - super(queryType, VdcActionType.AddNetwork, VdcActionType.RemoveNetwork, SUB_COLLECTIONS); + super(queryType, VdcActionType.AddNetwork, SUB_COLLECTIONS); } @Override @@ -77,11 +74,6 @@ } return parameters; - } - - @Override - protected VdcActionParametersBase getRemoveParameters(org.ovirt.engine.core.common.businessentities.network.Network entity) { - return new RemoveNetworkParameters(entity.getId()); } protected String[] getRequiredAddFields() { diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworkResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworkResourceTest.java index 230cfd3..20c780c 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworkResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworkResourceTest.java @@ -10,6 +10,7 @@ import org.junit.Test; import org.ovirt.engine.api.model.Network; import org.ovirt.engine.api.restapi.types.NetworkUsage; +import org.ovirt.engine.core.common.action.AttachNetworkToVdsGroupParameter; import org.ovirt.engine.core.common.action.NetworkClusterParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.VDSGroup; @@ -77,6 +78,73 @@ verifyUpdate(resource.update(getModel(0)), 0); } + @Test + public void testRemoveNotFound() throws Exception { + setUpEntityQueryExpectations( + VdcQueryType.GetAllNetworksByClusterId, + IdQueryParameters.class, + new String[] { "Id" }, + new Object[] { CLUSTER_ID }, + new ArrayList<org.ovirt.engine.core.common.businessentities.network.Network>() + ); + control.replay(); + try { + resource.remove(); + fail("expected WebApplicationException"); + } catch (WebApplicationException wae) { + verifyNotFoundException(wae); + } + } + + @Test + public void testRemove() throws Exception { + setUpVDSGroupExpectations(CLUSTER_ID); + setUpEntityQueryExpectations(2, false, false, false); + setUriInfo( + setUpActionExpectations( + VdcActionType.DetachNetworkToVdsGroup, + AttachNetworkToVdsGroupParameter.class, + new String[] { "VdsGroupId" }, + new Object[] { CLUSTER_ID }, + true, + true + ) + ); + verifyRemove(resource.remove()); + } + + @Test + public void testRemoveCantDo() throws Exception { + doTestBadRemove(false, true, CANT_DO); + } + + @Test + public void testRemoveFailed() throws Exception { + doTestBadRemove(true, false, FAILURE); + } + + protected void doTestBadRemove(boolean canDo, boolean success, String detail) throws Exception { + setUpVDSGroupExpectations(CLUSTER_ID); + setUpEntityQueryExpectations(2, false, false, false); + setUriInfo( + setUpActionExpectations( + VdcActionType.DetachNetworkToVdsGroup, + AttachNetworkToVdsGroupParameter.class, + new String[] { "VdsGroupId" }, + new Object[] { CLUSTER_ID }, + canDo, + success + ) + ); + try { + resource.remove(); + fail("expected WebApplicationException"); + } + catch (WebApplicationException wae) { + verifyFault(wae, detail); + } + } + protected VDSGroup setUpVDSGroupExpectations(Guid id) { VDSGroup group = control.createMock(VDSGroup.class); expect(group.getId()).andReturn(id).anyTimes(); diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworksResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworksResourceTest.java index 5356dda..2f5e6de 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworksResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendClusterNetworksResourceTest.java @@ -2,8 +2,6 @@ import static org.easymock.EasyMock.expect; -import java.util.ArrayList; - import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.Response; @@ -22,67 +20,6 @@ public BackendClusterNetworksResourceTest() { super(new BackendClusterNetworksResource(CLUSTER_ID.toString())); - } - - @Test - public void testRemoveNotFound() throws Exception { - setUpEntityQueryExpectations(VdcQueryType.GetAllNetworksByClusterId, - IdQueryParameters.class, - new String[] { "Id" }, - new Object[] { CLUSTER_ID }, - new ArrayList<org.ovirt.engine.core.common.businessentities.network.Network>()); - control.replay(); - try { - collection.remove(GUIDS[0].toString()); - fail("expected WebApplicationException"); - } catch (WebApplicationException wae) { - verifyNotFoundException(wae); - } - } - - @Test - public void testRemove() throws Exception { - setUpVDSGroupExpectations(CLUSTER_ID); - - setUpEntityQueryExpectations(2); - - setUriInfo(setUpActionExpectations(VdcActionType.DetachNetworkToVdsGroup, - AttachNetworkToVdsGroupParameter.class, - new String[] { "VdsGroupId" }, - new Object[] { CLUSTER_ID }, - true, - true)); - verifyRemove(collection.remove(GUIDS[0].toString())); - } - - - @Test - public void testRemoveCantDo() throws Exception { - doTestBadRemove(false, true, CANT_DO); - } - - @Test - public void testRemoveFailed() throws Exception { - doTestBadRemove(true, false, FAILURE); - } - - protected void doTestBadRemove(boolean canDo, boolean success, String detail) throws Exception { - setUpVDSGroupExpectations(CLUSTER_ID); - - setUpEntityQueryExpectations(2); - - setUriInfo(setUpActionExpectations(VdcActionType.DetachNetworkToVdsGroup, - AttachNetworkToVdsGroupParameter.class, - new String[] { "VdsGroupId" }, - new Object[] { CLUSTER_ID }, - canDo, - success)); - try { - collection.remove(GUIDS[0].toString()); - fail("expected WebApplicationException"); - } catch (WebApplicationException wae) { - verifyFault(wae, detail); - } } @Test diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendDataCenterNetworkResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendDataCenterNetworkResourceTest.java index 1b9cd95..9ffba6a 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendDataCenterNetworkResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendDataCenterNetworkResourceTest.java @@ -9,6 +9,7 @@ import org.junit.Test; import org.ovirt.engine.api.model.Network; import org.ovirt.engine.core.common.action.AddNetworkStoragePoolParameters; +import org.ovirt.engine.core.common.action.RemoveNetworkParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; @@ -136,6 +137,93 @@ } } + @Test + public void testRemoveNotFound() throws Exception { + setUpEntityQueryExpectations( + VdcQueryType.GetNetworksByDataCenterId, + IdQueryParameters.class, + new String[] { "Id" }, + new Object[] { dataCenterId }, + new ArrayList<org.ovirt.engine.core.common.businessentities.network.Network>() + ); + control.replay(); + try { + resource.remove(); + fail("expected WebApplicationException"); + } + catch (WebApplicationException wae) { + verifyNotFoundException(wae); + } + } + + @Test + public void testRemove() throws Exception { + setUpEntityQueryExpectations(2); + setUriInfo( + setUpActionExpectations( + VdcActionType.RemoveNetwork, + RemoveNetworkParameters.class, + new String[] { "Id" }, + new Object[] { networkId }, + true, + true + ) + ); + verifyRemove(resource.remove()); + } + + @Test + public void testRemoveNonExistant() throws Exception{ + setUpEntityQueryExpectations( + VdcQueryType.GetNetworksByDataCenterId, + IdQueryParameters.class, + new String[] { "Id" }, + new Object[] { dataCenterId }, + new ArrayList<org.ovirt.engine.core.common.businessentities.network.Network>(), + null + ); + control.replay(); + try { + resource.remove(); + fail("expected WebApplicationException"); + } + catch (WebApplicationException wae) { + assertNotNull(wae.getResponse()); + assertEquals(404, wae.getResponse().getStatus()); + } + } + + @Test + public void testRemoveCantDo() throws Exception { + doTestBadRemove(false, true, CANT_DO); + } + + @Test + public void testRemoveFailed() throws Exception { + doTestBadRemove(true, false, FAILURE); + } + + protected void doTestBadRemove(boolean canDo, boolean success, String detail) throws Exception { + setUpEntityQueryExpectations(2); + setUriInfo( + setUpActionExpectations( + VdcActionType.RemoveNetwork, + RemoveNetworkParameters.class, + new String[] { "Id" }, + new Object[] { networkId }, + canDo, + success + ) + ); + try { + resource.remove(); + fail("expected WebApplicationException"); + } + catch (WebApplicationException wae) { + verifyFault(wae, detail); + } + } + protected void setUpEntityQueryExpectations(int times) throws Exception { while (times-- > 0) { setUpEntityQueryExpectations(VdcQueryType.GetNetworksByDataCenterId, diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendDataCenterNetworksResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendDataCenterNetworksResourceTest.java index a8e4ff3..0244be2 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendDataCenterNetworksResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendDataCenterNetworksResourceTest.java @@ -2,9 +2,6 @@ import static org.easymock.EasyMock.expect; -import java.util.ArrayList; -import java.util.LinkedList; - import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.Response; @@ -12,7 +9,6 @@ import org.ovirt.engine.api.model.DataCenter; import org.ovirt.engine.api.model.Network; import org.ovirt.engine.core.common.action.AddNetworkStoragePoolParameters; -import org.ovirt.engine.core.common.action.RemoveNetworkParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.queries.IdQueryParameters; @@ -26,79 +22,6 @@ public BackendDataCenterNetworksResourceTest() { super(new BackendDataCenterNetworksResource(DATA_CENTER_ID.toString()), null, ""); - } - - @Test - public void testRemoveNotFound() throws Exception { - setUpEntityQueryExpectations(VdcQueryType.GetNetworksByDataCenterId, - IdQueryParameters.class, - new String[] { "Id" }, - new Object[] { DATA_CENTER_ID }, - new ArrayList<org.ovirt.engine.core.common.businessentities.network.Network>()); - control.replay(); - try { - collection.remove(GUIDS[0].toString()); - fail("expected WebApplicationException"); - } catch (WebApplicationException wae) { - verifyNotFoundException(wae); - } - } - - @Test - public void testRemove() throws Exception { - setUpEntityQueryExpectations(2); - setUriInfo(setUpActionExpectations(VdcActionType.RemoveNetwork, - RemoveNetworkParameters.class, - new String[] { "Id" }, - new Object[] { GUIDS[0] }, - true, - true)); - verifyRemove(collection.remove(GUIDS[0].toString())); - } - - @Test - public void testRemoveNonExistant() throws Exception{ - setUpEntityQueryExpectations(VdcQueryType.GetNetworksByDataCenterId, - IdQueryParameters.class, - new String[] { "Id" }, - new Object[] { DATA_CENTER_ID }, - new LinkedList<org.ovirt.engine.core.common.businessentities.network.Network>(), - null); - control.replay(); - try { - collection.remove(NON_EXISTANT_GUID.toString()); - fail("expected WebApplicationException"); - } catch (WebApplicationException wae) { - assertNotNull(wae.getResponse()); - assertEquals(404, wae.getResponse().getStatus()); - } - } - - @Test - public void testRemoveCantDo() throws Exception { - doTestBadRemove(false, true, CANT_DO); - } - - @Test - public void testRemoveFailed() throws Exception { - doTestBadRemove(true, false, FAILURE); - } - - protected void doTestBadRemove(boolean canDo, boolean success, String detail) throws Exception { - setUpEntityQueryExpectations(2); - - setUriInfo(setUpActionExpectations(VdcActionType.RemoveNetwork, - RemoveNetworkParameters.class, - new String[] { "Id" }, - new Object[] { GUIDS[0] }, - canDo, - success)); - try { - collection.remove(GUIDS[0].toString()); - fail("expected WebApplicationException"); - } catch (WebApplicationException wae) { - verifyFault(wae, detail); - } } @Test diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendNetworkResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendNetworkResourceTest.java index fbe8ba9..11826b1 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendNetworkResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendNetworkResourceTest.java @@ -6,6 +6,7 @@ import org.junit.Test; import org.ovirt.engine.api.model.Network; +import org.ovirt.engine.core.common.action.RemoveNetworkParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.action.AddNetworkStoragePoolParameters; import org.ovirt.engine.core.common.queries.IdQueryParameters; @@ -133,6 +134,93 @@ } } + @Test + public void testRemoveNotFound() throws Exception { + setUpEntityQueryExpectations( + VdcQueryType.GetAllNetworks, + IdQueryParameters.class, + new String[] { "Id" }, + new Object[] { Guid.Empty }, + new ArrayList<org.ovirt.engine.core.common.businessentities.network.Network>() + ); + control.replay(); + try { + resource.remove(); + fail("expected WebApplicationException"); + } + catch (WebApplicationException wae) { + verifyNotFoundException(wae); + } + } + + @Test + public void testRemove() throws Exception { + setUpEntityQueryExpectations(2); + setUriInfo( + setUpActionExpectations( + VdcActionType.RemoveNetwork, + RemoveNetworkParameters.class, + new String[] { "Id" }, + new Object[] { GUIDS[0] }, + true, + true + ) + ); + verifyRemove(resource.remove()); + } + + @Test + public void testRemoveNonExistant() throws Exception{ + setUpEntityQueryExpectations( + VdcQueryType.GetAllNetworks, + IdQueryParameters.class, + new String[] { "Id" }, + new Object[] { Guid.Empty }, + new ArrayList<org.ovirt.engine.core.common.businessentities.network.Network>(), + null + ); + control.replay(); + try { + resource.remove(); + fail("expected WebApplicationException"); + } + catch (WebApplicationException wae) { + assertNotNull(wae.getResponse()); + assertEquals(404, wae.getResponse().getStatus()); + } + } + + @Test + public void testRemoveCantDo() throws Exception { + doTestBadRemove(false, true, CANT_DO); + } + + @Test + public void testRemoveFailed() throws Exception { + doTestBadRemove(true, false, FAILURE); + } + + protected void doTestBadRemove(boolean canDo, boolean success, String detail) throws Exception { + setUpEntityQueryExpectations(2); + setUriInfo( + setUpActionExpectations( + VdcActionType.RemoveNetwork, + RemoveNetworkParameters.class, + new String[] { "Id" }, + new Object[] { GUIDS[0] }, + canDo, + success + ) + ); + try { + resource.remove(); + fail("expected WebApplicationException"); + } + catch (WebApplicationException wae) { + verifyFault(wae, detail); + } + } + protected void setUpEntityQueryExpectations(int times) throws Exception { while (times-- > 0) { setUpEntityQueryExpectations(VdcQueryType.GetAllNetworks, diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendNetworksResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendNetworksResourceTest.java index 70ebd6c..84b7e26 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendNetworksResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendNetworksResourceTest.java @@ -5,7 +5,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; -import java.util.LinkedList; import java.util.List; import javax.ws.rs.WebApplicationException; @@ -16,7 +15,6 @@ import org.ovirt.engine.api.model.DataCenter; import org.ovirt.engine.api.model.Network; import org.ovirt.engine.core.common.action.AddNetworkStoragePoolParameters; -import org.ovirt.engine.core.common.action.RemoveNetworkParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.StoragePool; import org.ovirt.engine.core.common.interfaces.SearchType; @@ -32,79 +30,6 @@ public BackendNetworksResourceTest() { super(new BackendNetworksResource(), SearchType.Network, "Networks : "); - } - - @Test - public void testRemoveNotFound() throws Exception { - setUpEntityQueryExpectations(VdcQueryType.GetAllNetworks, - IdQueryParameters.class, - new String[] { "Id" }, - new Object[] { Guid.Empty }, - new ArrayList<org.ovirt.engine.core.common.businessentities.network.Network>()); - control.replay(); - try { - collection.remove(GUIDS[0].toString()); - fail("expected WebApplicationException"); - } catch (WebApplicationException wae) { - verifyNotFoundException(wae); - } - } - - @Test - public void testRemove() throws Exception { - setUpEntityQueryExpectations(2); - setUriInfo(setUpActionExpectations(VdcActionType.RemoveNetwork, - RemoveNetworkParameters.class, - new String[] { "Id" }, - new Object[] { GUIDS[0] }, - true, - true)); - verifyRemove(collection.remove(GUIDS[0].toString())); - } - - @Test - public void testRemoveNonExistant() throws Exception{ - setUpEntityQueryExpectations(VdcQueryType.GetAllNetworks, - IdQueryParameters.class, - new String[] { "Id" }, - new Object[] { Guid.Empty }, - new LinkedList<org.ovirt.engine.core.common.businessentities.network.Network>(), - null); - control.replay(); - try { - collection.remove(NON_EXISTANT_GUID.toString()); - fail("expected WebApplicationException"); - } catch (WebApplicationException wae) { - assertNotNull(wae.getResponse()); - assertEquals(404, wae.getResponse().getStatus()); - } - } - - @Test - public void testRemoveCantDo() throws Exception { - doTestBadRemove(false, true, CANT_DO); - } - - @Test - public void testRemoveFailed() throws Exception { - doTestBadRemove(true, false, FAILURE); - } - - protected void doTestBadRemove(boolean canDo, boolean success, String detail) throws Exception { - setUpEntityQueryExpectations(2); - - setUriInfo(setUpActionExpectations(VdcActionType.RemoveNetwork, - RemoveNetworkParameters.class, - new String[] { "Id" }, - new Object[] { GUIDS[0] }, - canDo, - success)); - try { - collection.remove(GUIDS[0].toString()); - fail("expected WebApplicationException"); - } catch (WebApplicationException wae) { - verifyFault(wae, detail); - } } @Test -- To view, visit https://gerrit.ovirt.org/41807 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib106d6cdf8b48931b257df2ef306317b8975b912 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Juan Hernandez <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
