Mike Kolesnik has uploaded a new change for review.

Change subject: engine: Add validation that network exists (#743830)
......................................................................

engine: Add validation that network exists (#743830)

https://bugzilla.redhat.com/743830

If the network sent doesn't exist, an error will be returned.

Change-Id: I8f4908cfca5fc282512ad245f7b4f458f450113f
Signed-off-by: Mike Kolesnik <mkole...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AttachNetworkToVdsGroupCommand.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AttachNetworkToVdsGroupCommandTest.java
2 files changed, 21 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/33/7333/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AttachNetworkToVdsGroupCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AttachNetworkToVdsGroupCommand.java
index 1120fa8..64d5daf 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AttachNetworkToVdsGroupCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AttachNetworkToVdsGroupCommand.java
@@ -104,7 +104,16 @@
 
     @Override
     protected boolean canDoAction() {
-        return super.canDoAction() && VdsGroupExists() && 
changesAreClusterCompatible();
+        return super.canDoAction() && VdsGroupExists() && 
logicalNetworkExists() && changesAreClusterCompatible();
+    }
+
+    private boolean logicalNetworkExists() {
+        if 
(getNetworkDAO().get(getParameters().getNetworkCluster().getnetwork_id()) != 
null) {
+            return true;
+        }
+
+        addCanDoActionMessage(VdcBllMessages.NETWROK_NOT_EXISTS);
+        return false;
     }
 
     private boolean changesAreClusterCompatible() {
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AttachNetworkToVdsGroupCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AttachNetworkToVdsGroupCommandTest.java
index c493aaf..3cd5b0e 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AttachNetworkToVdsGroupCommandTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AttachNetworkToVdsGroupCommandTest.java
@@ -18,13 +18,14 @@
 import org.mockito.runners.MockitoJUnitRunner;
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.action.AttachNetworkToVdsGroupParameter;
-import org.ovirt.engine.core.common.businessentities.VDSGroup;
 import org.ovirt.engine.core.common.businessentities.Network;
+import org.ovirt.engine.core.common.businessentities.VDSGroup;
 import org.ovirt.engine.core.common.businessentities.network_cluster;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.core.dal.VdcBllMessages;
 import org.ovirt.engine.core.dao.NetworkClusterDAO;
+import org.ovirt.engine.core.dao.NetworkDAO;
 import org.ovirt.engine.core.dao.VdsGroupDAO;
 import org.springframework.dao.DataIntegrityViolationException;
 
@@ -41,6 +42,9 @@
     @Mock
     VdsGroupDAO vdsGroupDAO;
 
+    @Mock
+    NetworkDAO networkDao;
+
     @Before
     public void setup() {
         existingGroup.setcompatibility_version(Version.v3_1);
@@ -50,6 +54,7 @@
     @Test
     public void networkExists() {
         simulateVdsGroupExists();
+        when(networkDao.get(any(Guid.class))).thenReturn(getNetwork());
         assertCanDoActionSucceeds();
     }
 
@@ -91,6 +96,11 @@
             protected NetworkClusterDAO getNetworkClusterDAO() {
                 return networkClusterDAO;
             }
+
+            @Override
+            protected NetworkDAO getNetworkDAO() {
+                return networkDao;
+            }
         };
     }
 


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8f4908cfca5fc282512ad245f7b4f458f450113f
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Mike Kolesnik <mkole...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to