diff options
Diffstat (limited to 'vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/onboarding/hooks/validatelifecycle/LifecycleTestExceutor.java')
-rw-r--r-- | vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/onboarding/hooks/validatelifecycle/LifecycleTestExceutor.java | 282 |
1 files changed, 155 insertions, 127 deletions
diff --git a/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/onboarding/hooks/validatelifecycle/LifecycleTestExceutor.java b/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/onboarding/hooks/validatelifecycle/LifecycleTestExceutor.java index 21a61add..3cf5310b 100644 --- a/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/onboarding/hooks/validatelifecycle/LifecycleTestExceutor.java +++ b/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/onboarding/hooks/validatelifecycle/LifecycleTestExceutor.java @@ -22,6 +22,7 @@ import java.util.Map; import org.apache.http.entity.ContentType; import org.apache.http.entity.mime.MultipartEntityBuilder; import org.onap.vnfsdk.marketplace.common.CommonConstant; +import org.onap.vnfsdk.marketplace.common.FileUtil; import org.onap.vnfsdk.marketplace.common.JsonUtil; import org.onap.vnfsdk.marketplace.msb.MsbDetails; import org.onap.vnfsdk.marketplace.msb.MsbDetailsHolder; @@ -37,131 +38,158 @@ import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; -public class LifecycleTestExceutor -{ - private static final Logger logger = LoggerFactory.getLogger(LifecycleTestExceutor.class); - public static final String CATALOUGE_UPLOAD_URL_IN = "{0}:{1}/openoapi/catalog/v1/csars"; - - private LifecycleTestExceutor() - {} - - /** - * Interface to Send Request to Start Function test - * @param onBoradFuncTestReq - * @return - */ - @SuppressWarnings("unchecked") - public static String uploadPackageToCatalouge(OnBoradingRequest onBoradFuncTestReq) - { - String packagePath = onBoradFuncTestReq.getPackagePath() + File.separator + onBoradFuncTestReq.getPackageName(); - logger.info("Package file path uploadPackageToCatalouge:" + packagePath); - - String catalougeCsarId = null; - MsbDetails oMsbDetails = MsbDetailsHolder.getMsbDetails(); - if(null == oMsbDetails) - { - logger.error("Failed to get MSB details during uploadPackageToCatalouge !!!"); - return catalougeCsarId; - } - - File fileData = new File (packagePath); - - MultipartEntityBuilder builder = MultipartEntityBuilder.create(); - builder.addBinaryBody("file", fileData, ContentType.MULTIPART_FORM_DATA, onBoradFuncTestReq.getPackageName()); - - //IP and Port needs to be configured !!! - RestResponse rsp = RestfulClient.post(oMsbDetails.getDefaultServer().getHost(),Integer.parseInt(oMsbDetails.getDefaultServer().getPort()),CommonConstant.CATALOUGE_UPLOAD_URL,builder.build()); - if(!checkValidResponse(rsp)) - { - logger.error("Failed to upload package to catalouge:" + rsp.getStatusCode()); - return catalougeCsarId; - } - - logger.info("Response for uploadPackageToCatalouge :" + rsp.getResult()); - catalougeCsarId = getCsarIdValue(rsp.getResult()); - - logger.info("CSARID for uploadPackageToCatalouge :" + catalougeCsarId); - return catalougeCsarId; - } - - - - - public static String execlifecycleTest(OnBoradingRequest onBoradFuncTestReq, LifeCycleTestReq oLifeCycleTestReq) - { - String packagePath = onBoradFuncTestReq.getPackagePath() + File.separator + onBoradFuncTestReq.getPackageName(); - logger.info("Package file path Function test:" + packagePath); - - MsbDetails oMsbDetails = MsbDetailsHolder.getMsbDetails(); - if(null == oMsbDetails) { - logger.error("Failed to get MSB details during execlifecycleTest !!!"); - return null; - } - - String rawDataJson = JsonUtil.toJson(oLifeCycleTestReq); - if(null == rawDataJson) { - logger.error("Failed to convert LifeCycleTestReq object to Json String !!!"); - return null; - } - - RestResponse oResponse = RestfulClient.sendPostRequest(oMsbDetails.getDefaultServer().getHost(), - oMsbDetails.getDefaultServer().getPort(), - CommonConstant.LifeCycleTest.LIFECYCLE_TEST_URL, rawDataJson); - - if(!checkValidResponse(oResponse)) { - logger.error("execlifecycleTest response is faliure :"+ oResponse.getStatusCode()); - return null; - } - logger.info("Response execlifecycleTest :"+ oResponse.getResult()); - return oResponse.getResult(); - } - - /** - * Check Response is Valid - * @param rsp - * @return - */ - private static boolean checkValidResponse(RestResponse rsp) - { - if (rsp.getStatusCode() == null || rsp.getResult() == null - || (RestConstant.RESPONSE_CODE_200 != rsp.getStatusCode() && RestConstant.RESPONSE_CODE_201 != rsp.getStatusCode())) - { - return false; - } - return true; - } - - /** - * - * @param strJsonData - * @return - */ - private static String getCsarIdValue(String strJsonData) - { - ObjectMapper mapper = new ObjectMapper(); - mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); - Map<String, String> dataMap = null; - try - { - dataMap = mapper.readValue(strJsonData, Map.class); - } catch(JsonParseException e) { - logger.error("JsonParseException:Failed to upload package to catalouge:", e); - } catch(JsonMappingException e) { - logger.error("JsonMappingException:Failed to upload package to catalouge:", e); - } catch(IOException e) { - logger.error("IOException:Failed to upload package to catalouge:", e); - } - try - { - if(dataMap != null) { - return dataMap.get("csarId"); - } - } - catch (NullPointerException e) - { - logger.error("NullPointerException:Failed to get csarId", e); - } - return ""; - } +/* CALL Flow: onBoardingHandler --> LifecycleTestHook--> LifecycleTestExecutor */ +public class LifecycleTestExceutor { + private static final Logger logger = LoggerFactory.getLogger(LifecycleTestExceutor.class); + public static final String CATALOUGE_UPLOAD_URL_IN = "{0}:{1}/openoapi/catalog/v1/csars"; + + private LifecycleTestExceutor() { + // Empty constructor + } + + /** + * Interface to upload package to catalogue + * + * @param onBoradFuncTestReq + * @return- csarId or null (in case of failure) + */ + @SuppressWarnings("unchecked") + public static String uploadPackageToCatalouge(OnBoradingRequest onBoradFuncTestReq) { + String packagePath = onBoradFuncTestReq.getPackagePath() + File.separator + onBoradFuncTestReq.getPackageName(); + logger.info("Package file path uploadPackageToCatalouge:" + packagePath); + + String catalougeCsarId = null; + + // Validate package path + if (false == FileUtil.validatePath(packagePath)) { + logger.error("Failed to validate package path"); + return catalougeCsarId; + } + + MsbDetails oMsbDetails = MsbDetailsHolder.getMsbDetails(); + if (null == oMsbDetails) { + logger.error("Failed to get MSB details during uploadPackageToCatalouge !!!"); + return catalougeCsarId; + } + + File fileData = new File(packagePath); + + // Validate file + if (false == FileUtil.validateFile(fileData)) { + logger.error("Failed to validate file information"); + return catalougeCsarId; + } + + MultipartEntityBuilder builder = MultipartEntityBuilder.create(); + builder.addBinaryBody("file", fileData, ContentType.MULTIPART_FORM_DATA, onBoradFuncTestReq.getPackageName()); + + // IP and Port needs to be configured !!! + RestResponse rsp = RestfulClient.post(oMsbDetails.getDefaultServer().getHost(), + Integer.parseInt(oMsbDetails.getDefaultServer().getPort()), CommonConstant.CATALOUGE_UPLOAD_URL, + builder.build()); + if (false == checkValidResponse(rsp)) { + logger.error("Failed to upload package to catalouge:" + rsp.getStatusCode()); + return catalougeCsarId; + } + + logger.info("Response for uploadPackageToCatalouge :" + rsp.getResult()); + catalougeCsarId = getCsarIdValue(rsp.getResult()); + + logger.info("CSARID for uploadPackageToCatalouge :" + catalougeCsarId); + return catalougeCsarId; + } + + /** + * Interface to execute lifecycle test + * + * @param onBoradFuncTestReq, + * oLifeCycleTestReq + * @return result of the test or null (in case of failure) + */ + public static String execlifecycleTest(OnBoradingRequest onBoradFuncTestReq, LifeCycleTestReq oLifeCycleTestReq) { + + String result = null; + if ((null == onBoradFuncTestReq.getPackagePath()) || (null == onBoradFuncTestReq.getPackageName())) { + logger.error("Package path or name is invalid"); + return result; + } + + String packagePath = onBoradFuncTestReq.getPackagePath() + File.separator + onBoradFuncTestReq.getPackageName(); + logger.info("Package file path Function test:" + packagePath); + + // Validate package path + if (false == FileUtil.validatePath(packagePath)) { + logger.error("Failed to validate path"); + return result; + } + + MsbDetails oMsbDetails = MsbDetailsHolder.getMsbDetails(); + if (null == oMsbDetails) { + logger.error("Failed to get MSB details during execlifecycleTest !!!"); + return result; + } + + String rawDataJson = JsonUtil.toJson(oLifeCycleTestReq); + if (null == rawDataJson) { + logger.error("Failed to convert LifeCycleTestReq object to Json String !!!"); + return result; + } + + RestResponse oResponse = RestfulClient.sendPostRequest(oMsbDetails.getDefaultServer().getHost(), + oMsbDetails.getDefaultServer().getPort(), CommonConstant.LifeCycleTest.LIFECYCLE_TEST_URL, rawDataJson); + + if (false == checkValidResponse(oResponse)) { + logger.error("execlifecycleTest response is faliure :" + oResponse.getStatusCode()); + return result; + } + + result = oResponse.getResult(); + logger.info("Response execlifecycleTest :" + oResponse.getResult()); + return result; + } + + /** + * Check Response is Valid + * + * @param rsp + * @return valid(true) or invalid(false) + */ + private static boolean checkValidResponse(RestResponse rsp) { + if ((null == rsp.getStatusCode()) || (null == rsp.getResult()) + || (RestConstant.RESPONSE_CODE_200 != rsp.getStatusCode() + && RestConstant.RESPONSE_CODE_201 != rsp.getStatusCode())) { + return false; + } + return true; + } + + /** + * Get csar Id value + * + * @param strJsonData + * @return empty(failure), or csarId(success) + */ + private static String getCsarIdValue(String strJsonData) { + ObjectMapper mapper = new ObjectMapper(); + mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); + Map<String, String> dataMap = null; + + try { + dataMap = mapper.readValue(strJsonData, Map.class); + } catch (JsonParseException e) { + logger.error("JsonParseException:Failed to upload package to catalouge:", e); + } catch (JsonMappingException e) { + logger.error("JsonMappingException:Failed to upload package to catalouge:", e); + } catch (IOException e) { + logger.error("IOException:Failed to upload package to catalouge:", e); + } + try { + if (null != dataMap) { + return dataMap.get("csarId"); + } + } catch (NullPointerException e) { + logger.error("NullPointerException:Failed to get csarId", e); + } + return ""; + } } - |