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, 47 insertions(+), 6 deletions(-)


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

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 2a7238b..28ea54b 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 df1bf52..833789c 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
@@ -21,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;
@@ -70,6 +71,9 @@
     @Mock
     private StoragePool dataCenter;
 
+    @Mock
+    private ManagementNetworkUtil managementNetworkUtil;
+
     private List<Network> networks = new ArrayList<Network>();
 
     private NetworkValidator validator;
@@ -80,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);
@@ -398,4 +403,18 @@
         
when(network.getLabel()).thenReturn(RandomUtils.instance().nextPropertyString(10));
         assertThat(validator.notLabeled(), 
failsWith(VdcBllMessages.ACTION_TYPE_FAILED_NETWORK_ALREADY_LABELED));
     }
+
+    @Test
+    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 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: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Yevgeny Zaspitsky <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to