Ravi Nori has uploaded a new change for review.

Change subject: restapi : Add Role with wrong permit id leads to 500 
error(#908392)
......................................................................

restapi : Add Role with wrong permit id leads to 500 error(#908392)

Add Role with wrong permit id leads to internal server error.

This patch returns a proper error message when the permit id
is invalid.

Change-Id: I9adfda37e67d24f96933aa4eb8f79a8fdb416d62
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=908392
Signed-off-by: Ravi Nori <rn...@redhat.com>
---
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendRolesResourceTest.java
M 
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/PermitMapper.java
2 files changed, 27 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/24/11824/1

diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendRolesResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendRolesResourceTest.java
index a39b78f..088d8d9 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendRolesResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendRolesResourceTest.java
@@ -15,6 +15,7 @@
 import org.ovirt.engine.core.common.action.RoleWithActionGroupsParameters;
 import org.ovirt.engine.core.common.action.RolesParameterBase;
 import org.ovirt.engine.core.common.action.VdcActionType;
+import org.ovirt.engine.core.common.businessentities.ActionGroup;
 import org.ovirt.engine.core.common.businessentities.RoleType;
 import 
org.ovirt.engine.core.common.queries.MultilevelAdministrationByRoleIdParameters;
 import 
org.ovirt.engine.core.common.queries.MultilevelAdministrationsQueriesParameters;
@@ -115,7 +116,7 @@
         model.setName(NAMES[0].toString());
         model.setPermits(new Permits());
         model.getPermits().getPermits().add(new Permit());
-        model.getPermits().getPermits().get(0).setId("1");
+        
model.getPermits().getPermits().get(0).setId(""+ActionGroup.CREATE_VM.getId());
 
         Response response = collection.add(model);
         assertEquals(201, response.getStatus());
@@ -124,6 +125,25 @@
     }
 
     @Test
+    public void testAddRoleInvalidPermit() throws Exception {
+        setUriInfo(setUpBasicUriExpectations());
+        control.replay();
+        Role model = new Role();
+        model.setName(NAMES[0].toString());
+        model.setPermits(new Permits());
+        model.getPermits().getPermits().add(new Permit());
+        model.getPermits().getPermits().get(0).setId("1234");
+
+        try {
+            Response response = collection.add(model);
+            fail("expected WebApplicationException");
+        } catch(WebApplicationException wae) {
+            assertEquals(BAD_REQUEST, wae.getResponse().getStatus());
+            assertEquals(wae.getResponse().getEntity(), "1234 is not a valid 
permit ID.");
+        }
+    }
+
+    @Test
     public void testAddIncompleteParametersNoPermits() throws Exception {
         Role model = new Role();
         model.setName(NAMES[0].toString());
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/PermitMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/PermitMapper.java
index 094b77a..ab45376 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/PermitMapper.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/PermitMapper.java
@@ -282,6 +282,12 @@
             return ActionGroup.LOGIN;
         case INJECT_EXTERNAL_EVENTS:
             return ActionGroup.INJECT_EXTERNAL_EVENTS;
+        case CREATE_STORAGE_POOL_NETWORK:
+            return ActionGroup.CREATE_STORAGE_POOL_NETWORK;
+        case DELETE_STORAGE_POOL_NETWORK:
+            return ActionGroup.DELETE_STORAGE_POOL_NETWORK;
+        case ASSIGN_CLUSTER_NETWORK:
+            return ActionGroup.ASSIGN_CLUSTER_NETWORK;
         default:
             return null;
         }


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

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

Reply via email to