Moti Asayag has uploaded a new change for review. Change subject: engine: Add GetVmsWithoutNetworkQuery ......................................................................
engine: Add GetVmsWithoutNetworkQuery Added a query to retrieve all of the VMs within the same data-center on which a network is configured, and none of the VMs has the network attached to it. The query will be used to show the user all the VMs that a specific network is not attached to. Change-Id: I0cc50f6739c96a5fa9c5e0bb1c5713b01abb2188 Signed-off-by: Moti Asayag <[email protected]> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmsWithoutNetworkQuery.java A backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVmsWithoutNetworkQueryTest.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java 3 files changed, 65 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/42/10342/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmsWithoutNetworkQuery.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmsWithoutNetworkQuery.java new file mode 100644 index 0000000..0a1d437 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/GetVmsWithoutNetworkQuery.java @@ -0,0 +1,18 @@ +package org.ovirt.engine.core.bll; + +import org.ovirt.engine.core.common.queries.IdQueryParameters; + +/** + * A query to retrieve all VMs that the given Network is not attached to within the data-center. + */ +public class GetVmsWithoutNetworkQuery<P extends IdQueryParameters> extends QueriesCommandBase<P> { + + public GetVmsWithoutNetworkQuery(P parameters) { + super(parameters); + } + + @Override + protected void executeQueryCommand() { + getQueryReturnValue().setReturnValue(getDbFacade().getVmDao().getAllWithoutNetwork(getParameters().getId())); + } +} diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVmsWithoutNetworkQueryTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVmsWithoutNetworkQueryTest.java new file mode 100644 index 0000000..4751926 --- /dev/null +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/GetVmsWithoutNetworkQueryTest.java @@ -0,0 +1,46 @@ +package org.ovirt.engine.core.bll; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import java.util.Arrays; +import java.util.List; + +import org.junit.Test; +import org.ovirt.engine.core.common.businessentities.VM; +import org.ovirt.engine.core.common.queries.IdQueryParameters; +import org.ovirt.engine.core.compat.Guid; +import org.ovirt.engine.core.dal.dbbroker.DbFacade; +import org.ovirt.engine.core.dao.VmDAO; + +public class GetVmsWithoutNetworkQueryTest + extends AbstractQueryTest<IdQueryParameters, GetVmsWithoutNetworkQuery<IdQueryParameters>> { + + @Test + public void testExecuteQueryCommand() { + DbFacade dbFacade = getDbFacadeMockInstance(); + VmDAO vmDao = mock(VmDAO.class); + + Guid networkId = Guid.NewGuid(); + VM expectedVm = new VM(); + expectedVm.setStoragePoolId(networkId); + + IdQueryParameters params = getQueryParameters(); + when(params.getId()).thenReturn(networkId); + + when(dbFacade.getVmDao()).thenReturn(vmDao); + when(vmDao.getAllWithoutNetwork(networkId)).thenReturn(Arrays.asList(expectedVm)); + + getQuery().executeQueryCommand(); + + @SuppressWarnings("unchecked") + List<VM> vms = (List<VM>) getQuery().getQueryReturnValue().getReturnValue(); + + assertNotNull(vms); + assertEquals("There should be exactly one VM returned", 1, vms.size()); + assertTrue("VM should be in the return value", vms.contains(expectedVm)); + } +} diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java index dcf6ab3..ea62737 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/VdcQueryType.java @@ -16,6 +16,7 @@ GetVmPayload(VdcQueryAuthType.User), IsBalloonEnabled(VdcQueryAuthType.User), GetVmsByDataCenterId, + GetVmsWithoutNetwork, // Vds queries IsVdsWithSameNameExist, -- To view, visit http://gerrit.ovirt.org/10342 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I0cc50f6739c96a5fa9c5e0bb1c5713b01abb2188 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Moti Asayag <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
