Reject getVersionByInvariantId with no IDs 84/73684/1
authorIttay Stern <ittay.stern@att.com>
Tue, 27 Nov 2018 14:02:41 +0000 (16:02 +0200)
committerIttay Stern <ittay.stern@att.com>
Tue, 27 Nov 2018 14:10:53 +0000 (16:10 +0200)
Reject the case where zero invariant-ids provided to
getVersionByInvariantId, as this will cause full models listing.

Change-Id: I7b86b65de30a9df0b3fd1cafa60e8254e8e252c0
Issue-ID: VID-360
Signed-off-by: Ittay Stern <ittay.stern@att.com>
vid-app-common/src/main/java/org/onap/vid/aai/AaiClient.java
vid-app-common/src/test/java/org/onap/vid/services/AaiServiceImplTest.java

index 06e0f01..baf92b8 100644 (file)
@@ -8,16 +8,17 @@ import org.codehaus.jackson.map.ObjectMapper;
 import org.json.simple.JSONArray;
 import org.json.simple.JSONObject;
 import org.json.simple.parser.JSONParser;
+import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
 import org.onap.vid.aai.model.AaiGetAicZone.AicZones;
 import org.onap.vid.aai.model.*;
 import org.onap.vid.aai.model.AaiGetNetworkCollectionDetails.*;
 import org.onap.vid.aai.model.AaiGetOperationalEnvironments.OperationalEnvironmentList;
 import org.onap.vid.aai.model.AaiGetPnfs.Pnf;
 import org.onap.vid.aai.model.AaiGetServicesRequestModel.GetServicesAAIRespone;
-import org.onap.vid.aai.model.AaiGetTenatns.GetTenantsResponse;
 import org.onap.vid.aai.model.Relationship;
 import org.onap.vid.aai.model.RelationshipData;
 import org.onap.vid.aai.model.RelationshipList;
+import org.onap.vid.aai.model.AaiGetTenatns.GetTenantsResponse;
 import org.onap.vid.aai.util.AAIRestInterface;
 import org.onap.vid.aai.util.VidObjectMapperType;
 import org.onap.vid.exceptions.GenericUncheckedException;
@@ -26,7 +27,6 @@ import org.onap.vid.model.probes.ErrorMetadata;
 import org.onap.vid.model.probes.ExternalComponentStatus;
 import org.onap.vid.model.probes.HttpRequestMetadata;
 import org.onap.vid.utils.Logging;
-import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
 import org.springframework.web.util.UriUtils;
 
 import javax.inject.Inject;
@@ -37,7 +37,10 @@ import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.Date;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.UUID;
 
 import static java.util.Collections.emptyList;
 import static org.apache.commons.lang3.ObjectUtils.defaultIfNull;
@@ -297,6 +300,10 @@ public class AaiClient implements AaiClientInterface {
 
     @Override
     public Response getVersionByInvariantId(List<String> modelInvariantId) {
+        if (modelInvariantId.isEmpty()) {
+            throw new GenericUncheckedException("Zero invariant-ids provided to getVersionByInvariantId; request is rejected as this will cause full models listing");
+        }
+
         StringBuilder sb = new StringBuilder();
         for (String id : modelInvariantId){
             sb.append(MODEL_INVARIANT_ID);
index 70a454a..efa12f2 100644 (file)
 
 package org.onap.vid.services;
 
+import com.google.common.collect.ImmutableList;
 import io.joshworks.restclient.http.HttpResponse;
-import java.util.Collection;
-import java.util.List;
-
 import org.junit.Assert;
 import org.junit.Test;
 import org.onap.vid.aai.AaiResponse;
@@ -35,6 +33,8 @@ import org.onap.vid.aai.model.AaiGetTenatns.GetTenantsResponse;
 import org.onap.vid.model.SubscriberList;
 import org.onap.vid.roles.RoleValidator;
 
+import java.util.List;
+
 public class AaiServiceImplTest {
 
     private AaiServiceImpl createTestSubject() {
@@ -166,7 +166,7 @@ public class AaiServiceImplTest {
     @Test
     public void testGetVersionByInvariantId() throws Exception {
         AaiServiceImpl testSubject;
-        List<String> modelInvariantId = null;
+        List<String> modelInvariantId = ImmutableList.of("some invariant id");
 
         // default test
         try {