Yevgeny Zaspitsky has uploaded a new change for review.

Change subject: engine: update NetworkValidator logic
......................................................................

engine: update NetworkValidator logic

Update NetworkValidator and DetachNetworkValidator logic to use
ManagementNetworkUtil in order to determine whether a Network is
management or not.

Change-Id: I2b9d4643c28c8ca90494ed774942a9dfe50c5e67
Signed-off-by: Yevgeny Zaspitsky <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/DetachNetworkToVdsGroupCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/NetworkValidator.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/NetworkValidatorTest.java
3 files changed, 41 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/23/33823/15

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/DetachNetworkToVdsGroupCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/DetachNetworkToVdsGroupCommand.java
index b41f760..a6566b5 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/DetachNetworkToVdsGroupCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/cluster/DetachNetworkToVdsGroupCommand.java
@@ -128,5 +128,12 @@
             }
             return networkNotUsed(templatesUsingNetwork, 
VdcBllMessages.VAR__ENTITIES__VM_TEMPLATES);
         }
+
+        @Override
+        protected boolean isManagementNetwork() {
+            return getManagementNetworkUtil().isManagementNetwork(
+                    networkCluster.getNetworkId(),
+                    networkCluster.getClusterId());
+        }
     }
 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/NetworkValidator.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/NetworkValidator.java
index c6e4783..4766870 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/NetworkValidator.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/validator/NetworkValidator.java
@@ -4,6 +4,8 @@
 import java.util.List;
 
 import org.ovirt.engine.core.bll.ValidationResult;
+import org.ovirt.engine.core.bll.network.cluster.ManagementNetworkUtil;
+import org.ovirt.engine.core.bll.utils.Injector;
 import org.ovirt.engine.core.common.FeatureSupported;
 import org.ovirt.engine.core.common.businessentities.IscsiBond;
 import org.ovirt.engine.core.common.businessentities.Nameable;
@@ -123,7 +125,7 @@
     }
 
     /**
-     * @return An error iff the network's name is already used by another 
network in the same data center.
+     * @return An error if the network's name is already used by another 
network in the same data center.
      */
     public ValidationResult networkNameNotUsed() {
         for (Network otherNetwork : getNetworks()) {
@@ -137,10 +139,23 @@
     }
 
     public ValidationResult notManagementNetwork() {
-        return NetworkUtils.isManagementNetwork(network)
-                ? new 
ValidationResult(VdcBllMessages.NETWORK_CANNOT_REMOVE_MANAGEMENT_NETWORK,
-                        getNetworkNameReplacement())
-                : ValidationResult.VALID;
+        final boolean isManagementNetwork = isManagementNetwork();
+        return getManagementNetworkValidationResult(isManagementNetwork);
+    }
+
+    protected boolean isManagementNetwork() {
+        return getManagementNetworkUtil().isManagementNetwork(network.getId());
+    }
+
+    private ValidationResult getManagementNetworkValidationResult(final 
boolean isManagementNetwork) {
+        return isManagementNetwork
+                                  ? new 
ValidationResult(VdcBllMessages.NETWORK_CANNOT_REMOVE_MANAGEMENT_NETWORK,
+                                          getNetworkNameReplacement())
+                                  : ValidationResult.VALID;
+    }
+
+    protected ManagementNetworkUtil getManagementNetworkUtil() {
+        return Injector.get(ManagementNetworkUtil.class);
     }
 
     public ValidationResult notIscsiBondNetwork() {
@@ -154,7 +169,7 @@
         return ValidationResult.VALID;
     }
 
-    private String getNetworkNameReplacement() {
+    protected String getNetworkNameReplacement() {
         return String.format("$NetworkName %s", network.getName());
     }
 
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/NetworkValidatorTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/NetworkValidatorTest.java
index 5bfb86e..c8a6b8e 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/NetworkValidatorTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/validator/NetworkValidatorTest.java
@@ -1,6 +1,5 @@
 package org.ovirt.engine.core.bll.validator;
 
-import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
 import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.doReturn;
@@ -22,6 +21,7 @@
 import org.mockito.Mock;
 import org.mockito.runners.MockitoJUnitRunner;
 import org.ovirt.engine.core.bll.ValidationResult;
+import org.ovirt.engine.core.bll.network.cluster.ManagementNetworkUtil;
 import org.ovirt.engine.core.common.businessentities.IscsiBond;
 import org.ovirt.engine.core.common.businessentities.StoragePool;
 import org.ovirt.engine.core.common.businessentities.VDS;
@@ -71,6 +71,9 @@
     @Mock
     private StoragePool dataCenter;
 
+    @Mock
+    private ManagementNetworkUtil managementNetworkUtil;
+
     private List<Network> networks = new ArrayList<Network>();
 
     private NetworkValidator validator;
@@ -81,6 +84,7 @@
         // spy on attempts to access the database
         validator = spy(new NetworkValidator(network));
         doReturn(dbFacade).when(validator).getDbFacade();
+        
doReturn(managementNetworkUtil).when(validator).getManagementNetworkUtil();
 
         // mock some commonly used DAOs
         when(dbFacade.getStoragePoolDao()).thenReturn(dataCenterDao);
@@ -401,15 +405,17 @@
     }
 
     @Test
-    public void testNotExternalNetworkFailsForExternalNetwork() throws 
Exception {
-        when(network.isExternal()).thenReturn(true);
-        assertThat(validator.notExternalNetwork(), 
failsWith(VdcBllMessages.ACTION_TYPE_FAILED_NOT_SUPPORTED_FOR_EXTERNAL_NETWORK));
+    public void testNotManagementNetworkPositive() {
+        when(network.getId()).thenReturn(DEFAULT_GUID);
+        
when(managementNetworkUtil.isManagementNetwork(DEFAULT_GUID)).thenReturn(true);
+        assertThat(validator.notManagementNetwork(), 
failsWith(VdcBllMessages.NETWORK_CANNOT_REMOVE_MANAGEMENT_NETWORK));
     }
 
     @Test
-    public void testNotExternalNetworkSucceedsForNonExternalNetwork() throws 
Exception {
-        when(network.isExternal()).thenReturn(false);
-        assertThat(validator.notExternalNetwork(), is(ValidationResult.VALID));
+    public void testNotManagementNetworkNegative() {
+        when(network.getId()).thenReturn(DEFAULT_GUID);
+        
when(managementNetworkUtil.isManagementNetwork(DEFAULT_GUID)).thenReturn(false);
+        assertThat(validator.notManagementNetwork(), isValid());
     }
 
 }


-- 
To view, visit http://gerrit.ovirt.org/33823
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2b9d4643c28c8ca90494ed774942a9dfe50c5e67
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

Reply via email to