Yevgeny Zaspitsky has uploaded a new change for review. Change subject: engine: Add isManagementNetwork(String, Guid) to ManagementNetworkUtil ......................................................................
engine: Add isManagementNetwork(String, Guid) to ManagementNetworkUtil Add isManagementNetwork(String, Guid) method to ManagementNetworkUtil. Replace get*Dao methods with DI in ManagementNetworkUtil class. Change-Id: I8a6274614d0102ab944fad7a56b20856cced0a9a Signed-off-by: Yevgeny Zaspitsky <[email protected]> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/ManagementNetworkUtil.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/ManagementNetworkUtilImpl.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/cluster/ManagementNetworkUtilImplTest.java 3 files changed, 85 insertions(+), 28 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/16/33816/15 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/ManagementNetworkUtil.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/ManagementNetworkUtil.java index 0f9b0e2..3dd6a61 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/ManagementNetworkUtil.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/ManagementNetworkUtil.java @@ -25,7 +25,7 @@ boolean isManagementNetwork(Guid networkId); /** - * The method checks if the given network is defined as the management network for the given cluster cluster. + * The method checks if the given network is defined as the management network for the given cluster. * * @param networkId * the given network id @@ -36,4 +36,15 @@ */ boolean isManagementNetwork(Guid networkId, Guid clusterId); + /** + * The method checks if the given network is defined as the management network for the given cluster. + * + * @param networkName + * the given network name + * @param clusterId + * the given cluster id + * @return true if the network is defined as the management one for the given cluster, + * false otherwise + */ + boolean isManagementNetwork(String networkName, Guid clusterId); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/ManagementNetworkUtilImpl.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/ManagementNetworkUtilImpl.java index 0ca2efd..836d02f 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/ManagementNetworkUtilImpl.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/ManagementNetworkUtilImpl.java @@ -2,13 +2,14 @@ import java.util.List; +import javax.inject.Inject; import javax.inject.Singleton; +import org.apache.commons.lang.Validate; import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.core.common.businessentities.network.NetworkCluster; import org.ovirt.engine.core.common.businessentities.network.NetworkClusterId; import org.ovirt.engine.core.compat.Guid; -import org.ovirt.engine.core.dal.dbbroker.DbFacadeLocator; import org.ovirt.engine.core.dao.network.NetworkClusterDao; import org.ovirt.engine.core.dao.network.NetworkDao; import org.ovirt.engine.core.utils.linq.LinqUtils; @@ -17,14 +18,26 @@ @Singleton final class ManagementNetworkUtilImpl implements ManagementNetworkUtil { + private final NetworkDao networkDao; + private final NetworkClusterDao networkClusterDao; + + @Inject + ManagementNetworkUtilImpl(NetworkDao networkDao, NetworkClusterDao networkClustrerDao) { + Validate.notNull(networkDao, "networkDao cannot be null"); + Validate.notNull(networkClustrerDao, "networkClustrerDao cannot be null"); + + this.networkDao = networkDao; + this.networkClusterDao = networkClustrerDao; + } + @Override public Network getManagementNetwork(Guid clusterId) { - return getNetworkDao().getManagementNetwork(clusterId); + return networkDao.getManagementNetwork(clusterId); } @Override public boolean isManagementNetwork(Guid networkId) { - final List<NetworkCluster> networkClusters = getNetworkClusterDao().getAllForNetwork(networkId); + final List<NetworkCluster> networkClusters = networkClusterDao.getAllForNetwork(networkId); final NetworkCluster managementNetworkCluster = LinqUtils.firstOrNull(networkClusters, new Predicate<NetworkCluster>() { @Override @@ -37,15 +50,13 @@ @Override public boolean isManagementNetwork(Guid networkId, Guid clusterId) { - final NetworkCluster networkCluster = getNetworkClusterDao().get(new NetworkClusterId(clusterId, networkId)); + final NetworkCluster networkCluster = networkClusterDao.get(new NetworkClusterId(clusterId, networkId)); return networkCluster != null && networkCluster.isManagement(); } - private NetworkClusterDao getNetworkClusterDao() { - return DbFacadeLocator.getDbFacade().getNetworkClusterDao(); - } - - private NetworkDao getNetworkDao() { - return DbFacadeLocator.getDbFacade().getNetworkDao(); + @Override + public boolean isManagementNetwork(String networkName, Guid clusterId) { + final Network managementNetwork = getManagementNetwork(clusterId); + return managementNetwork != null && managementNetwork.getName().equals(networkName); } } diff --git a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/cluster/ManagementNetworkUtilImplTest.java b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/cluster/ManagementNetworkUtilImplTest.java index 360aca3..99028bd 100644 --- a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/cluster/ManagementNetworkUtilImplTest.java +++ b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/network/cluster/ManagementNetworkUtilImplTest.java @@ -8,32 +8,32 @@ import java.util.Collections; -import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.ovirt.engine.core.common.businessentities.network.Network; import org.ovirt.engine.core.common.businessentities.network.NetworkCluster; import org.ovirt.engine.core.common.businessentities.network.NetworkClusterId; import org.ovirt.engine.core.compat.Guid; -import org.ovirt.engine.core.dal.dbbroker.DbFacade; -import org.ovirt.engine.core.dal.dbbroker.DbFacadeLocator; import org.ovirt.engine.core.dao.network.NetworkClusterDao; import org.ovirt.engine.core.dao.network.NetworkDao; @RunWith(MockitoJUnitRunner.class) public class ManagementNetworkUtilImplTest { + private static final String TEST_NETWORK_NAME = "test network name"; private static final Guid TEST_CLUSTER_ID = Guid.newGuid(); private static final Guid TEST_NETWORK_ID = Guid.newGuid(); private static final NetworkClusterId TEST_NETWORK_CLUSTER_ID = new NetworkClusterId(TEST_CLUSTER_ID, TEST_NETWORK_ID); - private ManagementNetworkUtil underTest; + @InjectMocks + private ManagementNetworkUtilImpl underTest; - @Mock - private DbFacade mockDbFacade; @Mock private NetworkDao mockNetworkDao; @Mock @@ -44,15 +44,8 @@ @Mock private NetworkCluster mockNetworkCluster; - @Before - public void setUp() throws Exception { - when(mockDbFacade.getNetworkDao()).thenReturn(mockNetworkDao); - when(mockDbFacade.getNetworkClusterDao()).thenReturn(mockNetworkClusterDao); - - DbFacadeLocator.setDbFacade(mockDbFacade); - - underTest = new ManagementNetworkUtilImpl(); - } + @Captor + private ArgumentCaptor<NetworkClusterId> networkClusterIdCaptor; /** * Test method for {@link ManagementNetworkUtilImpl#getManagementNetwork(Guid)} . @@ -86,8 +79,7 @@ private void testIsManagementNetworkInAClusterCommon(boolean expectedResult) { when(mockNetworkCluster.isManagement()).thenReturn(expectedResult); - when(mockNetworkClusterDao.getAllForNetwork(TEST_NETWORK_ID)) - .thenReturn(Collections.singletonList(mockNetworkCluster)); + when(mockNetworkClusterDao.getAllForNetwork(TEST_NETWORK_ID)).thenReturn(Collections.singletonList(mockNetworkCluster)); final boolean actual = underTest.isManagementNetwork(TEST_NETWORK_ID); @@ -119,5 +111,48 @@ final boolean actual = underTest.isManagementNetwork(TEST_NETWORK_ID, TEST_CLUSTER_ID); assertEquals(expectedResult, actual); + + verify(mockNetworkClusterDao).get(networkClusterIdCaptor.capture()); + final NetworkClusterId networkClusterIdCaptured = networkClusterIdCaptor.getValue(); + assertEquals(TEST_CLUSTER_ID, networkClusterIdCaptured.getClusterId()); + assertEquals(TEST_NETWORK_ID, networkClusterIdCaptured.getNetworkId()); } + + /** + * Test method for {@link ManagementNetworkUtilImpl#isManagementNetwork(String, Guid)} . + */ + @Test + public void testIsManagementNetworkNameInGivenClusterPositive() throws Exception { + testIsManagementNetworkNameInGivenClusterCommon(TEST_NETWORK_NAME, true); + } + + /** + * Test method for {@link ManagementNetworkUtilImpl#isManagementNetwork(String, Guid)} . + */ + @Test + public void testIsManagementNetworkNameInGivenClusterNegative() throws Exception { + testIsManagementNetworkNameInGivenClusterCommon("not" + TEST_NETWORK_NAME, false); + } + + /** + * Test method for {@link ManagementNetworkUtilImpl#isManagementNetwork(String, Guid)} . + */ + @Test + public void testIsManagementNetworkNameInGivenClusterNull() throws Exception { + testIsManagementNetworkNameInGivenClusterCommon(null, false); + } + + void testIsManagementNetworkNameInGivenClusterCommon(String managementNetworkName, boolean expected) { + if (managementNetworkName != null) { + when(mockNetwork.getName()).thenReturn(managementNetworkName); + when(mockNetworkDao.getManagementNetwork(TEST_CLUSTER_ID)).thenReturn(mockNetwork); + } + + final boolean actual = underTest.isManagementNetwork(TEST_NETWORK_NAME, TEST_CLUSTER_ID); + + verify(mockNetworkDao).getManagementNetwork(TEST_CLUSTER_ID); + + assertEquals(expected, actual); + } + } -- To view, visit http://gerrit.ovirt.org/33816 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I8a6274614d0102ab944fad7a56b20856cced0a9a Gerrit-PatchSet: 15 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Yevgeny Zaspitsky <[email protected]> Gerrit-Reviewer: Alona Kaplan <[email protected]> Gerrit-Reviewer: [email protected] Gerrit-Reviewer: oVirt Jenkins CI Server _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
