- ModelLoaderConfig config;\r
- DistributionClientImpl client;\r
- EventCallback callBack;\r
-\r
- @Before\r
- public void init(){\r
- MockitoAnnotations.initMocks(this);\r
- Properties props = new Properties();\r
- props.setProperty("ml.distribution.ARTIFACT_TYPES",\r
- "MODEL_INVENTORY_PROFILE,MODEL_QUERY_SPEC,VNF_CATALOG");\r
- config = new ModelLoaderConfig(props, null);\r
- client = Mockito.spy(DistributionClientImpl.class);\r
- callBack = new EventCallback(client, config);\r
- }\r
-\r
- @Test\r
- public void testActivateCallBack_PublishFailure(){\r
- Gson gson = new GsonBuilder().setPrettyPrinting().create();\r
- NotificationDataInstance notification = gson.fromJson(getNotificationWithMultipleResources(),\r
- NotificationDataInstance.class);\r
-\r
- TestConfiguration testConfig = new TestConfiguration();\r
- Mockito.when(client.getConfiguration()).thenReturn(testConfig);\r
- callBack.activateCallback(notification);\r
- }\r
-\r
- @Test\r
- public void testActivateCallBack_PublishSuccess(){\r
- Gson gson = new GsonBuilder().setPrettyPrinting().create();\r
- NotificationDataInstance notification = gson.fromJson(getNotificationWithMultipleResources(),\r
- NotificationDataInstance.class);\r
-\r
- TestConfiguration testConfig = new TestConfiguration();\r
- Mockito.when(client.download(Mockito.any(IArtifactInfo.class))).thenReturn(buildSuccessResult());\r
- Mockito.when(client.getConfiguration()).thenReturn(testConfig);\r
- callBack.activateCallback(notification);\r
- }\r
-\r
- private static IDistributionClientDownloadResult buildSuccessResult() {\r
- return new IDistributionClientDownloadResult() {\r
-\r
- @Override\r
- public byte[] getArtifactPayload() {\r
- return new byte[0];\r
- }\r
-\r
- @Override\r
- public String getArtifactName() {\r
- return "";\r
- }\r
-\r
- @Override\r
- public String getArtifactFilename() {\r
- return "";\r
- }\r
-\r
- @Override\r
- public String getDistributionMessageResult() {\r
- return "";\r
- }\r
-\r
- @Override\r
- public DistributionActionResultEnum getDistributionActionResult() {\r
- return DistributionActionResultEnum.SUCCESS;\r
- }\r
- };\r
- }\r
-\r
- private String getNotificationWithMultipleResources(){\r
- return "{\"distributionID\" : \"bcc7a72e-90b1-4c5f-9a37-28dc3cd86416\",\r\n" +\r
- " \"serviceName\" : \"Testnotificationser1\",\r\n" +\r
- " \"serviceVersion\" : \"1.0\",\r\n" +\r
- " \"serviceUUID\" : \"7f7f94f4-373a-4b71-a0e3-80ae2ba4eb5d\",\r\n" +\r
- " \"serviceDescription\" : \"TestNotificationVF1\",\r\n" +\r
- " \"resources\" : [{\r\n" +\r
- " \"resourceInstanceName\" : \"testnotificationvf11\",\r\n" +\r
- " \"resourceName\" : \"TestNotificationVF1\",\r\n" +\r
- " \"resourceVersion\" : \"1.0\",\r\n" +\r
- " \"resoucreType\" : \"VF\",\r\n" +\r
- " \"resourceUUID\" : \"907e1746-9f69-40f5-9f2a-313654092a2d\",\r\n" +\r
- " \"artifacts\" : [{\r\n" +\r
- " \"artifactName\" : \"sample-xml-alldata-1-1.xml\",\r\n" +\r
- " \"artifactType\" : \"YANG_XML\",\r\n" +\r
- " \"artifactURL\" : \"/sdc/v1/catalog/services/Testnotificationser1/1.0/" +\r
- " resourceInstances/testnotificationvf11/artifacts/" +\r
- " sample-xml-alldata-1-1.xml\",\r\n" +\r
- " \"artifactChecksum\" : \"MTUxODFkMmRlOTNhNjYxMGYyYTI1ZjA5Y2QyNWQyYTk\\u003d\",\r\n" +\r
- " \"artifactDescription\" : \"MyYang\",\r\n" +\r
- " \"artifactTimeout\" : 0,\r\n" +\r
- " \"artifactUUID\" : \"0005bc4a-2c19-452e-be6d-d574a56be4d0\",\r\n" +\r
- " \"artifactVersion\" : \"1\"\r\n" +\r
- " }" +\r
- " ]\r\n" +\r
- " },\r\n" +\r
- " {\r\n" +\r
- " \"resourceInstanceName\" : \"testnotificationvf12\",\r\n" +\r
- " \"resourceName\" : \"TestNotificationVF1\",\r\n" +\r
- " \"resourceVersion\" : \"1.0\",\r\n" +\r
- " \"resoucreType\" : \"VF\",\r\n" +\r
- " \"resourceUUID\" : \"907e1746-9f69-40f5-9f2a-313654092a2e\",\r\n" +\r
- " \"artifacts\" : [{\r\n" +\r
- " \"artifactName\" : \"heat.yaml\",\r\n" +\r
- " \"artifactType\" : \"HEAT\",\r\n" +\r
- " \"artifactURL\" : \"/sdc/v1/catalog/services/Testnotificationser1/1.0/" +\r
- " resourceInstances/testnotificationvf11/artifacts/" +\r
- " heat.yaml\",\r\n" +\r
- " \"artifactChecksum\" : \"ODEyNjE4YTMzYzRmMTk2ODVhNTU2NTg3YWEyNmIxMTM\\u003d\",\r\n" +\r
- " \"artifactDescription\" : \"heat\",\r\n" +\r
- " \"artifactTimeout\" : 60,\r\n" +\r
- " \"artifactUUID\" : \"8df6123c-f368-47d3-93be-1972cefbcc35\",\r\n" +\r
- " \"artifactVersion\" : \"1\"\r\n" +\r
- " }" +\r
- " ]\r\n" +\r
- " }\r\n" +\r
- " ]}";\r
- }\r
-}\r
-\r
-class NotificationDataInstance implements INotificationData{\r
-\r
- private String distributionID;\r
- private String serviceName;\r
- private String serviceVersion;\r
- private String serviceUUID;\r
- private String serviceDescription;\r
- private String serviceInvariantUUID;\r
- private List<JsonContainerResourceInstance> resources;\r
- private List<ArtifactInfoImpl> serviceArtifacts;\r
- private String workloadContext;\r
-\r
- @Override\r
- public String getDistributionID() {\r
- return distributionID;\r
- }\r
-\r
- @Override\r
- public String getServiceName() {\r
- return serviceName;\r
- }\r
-\r
- @Override\r
- public String getServiceVersion() {\r
- return serviceVersion;\r
- }\r
-\r
- @Override\r
- public String getServiceUUID() {\r
- return serviceUUID;\r
- }\r
-\r
- public void setDistributionID(String distributionID) {\r
- this.distributionID = distributionID;\r
- }\r
-\r
- public void setServiceName(String serviceName) {\r
- this.serviceName = serviceName;\r
- }\r
-\r
- public void setServiceVersion(String serviceVersion) {\r
- this.serviceVersion = serviceVersion;\r
- }\r
-\r
- public void setServiceUUID(String serviceUUID) {\r
- this.serviceUUID = serviceUUID;\r
- }\r
-\r
-\r
-\r
- public String getServiceDescription() {\r
- return serviceDescription;\r
- }\r
-\r
- public void setServiceDescription(String serviceDescription) {\r
- this.serviceDescription = serviceDescription;\r
- }\r
-\r
- public String getWorkloadContext() {\r
- return workloadContext;\r
- }\r
-\r
- public void setWorkloadContext(String workloadContext) {\r
- this.workloadContext = workloadContext;\r
- }\r
-\r
- @Override\r
- public String toString() {\r
- return "NotificationDataImpl [distributionID=" + distributionID + ", serviceName=" + serviceName\r
- + ", serviceVersion=" + serviceVersion + ", serviceUUID=" + serviceUUID + ", serviceDescription="\r
- + serviceDescription + ", serviceInvariantUUID=" + serviceInvariantUUID + ", resources=" + resources\r
- + ", serviceArtifacts=" + serviceArtifacts + ", workloadContext=" + workloadContext + "]";\r
- }\r
-\r
- @Override\r
- public List<IResourceInstance> getResources() {\r
- List<IResourceInstance> ret = new ArrayList<IResourceInstance>();\r
- if( resources != null ){\r
- ret.addAll(resources);\r
- }\r
- return ret;\r
- }\r
-\r
- public void setResources(List<IResourceInstance> resources){\r
- this.resources = JsonContainerResourceInstance.convertToJsonContainer(resources);\r
- }\r
-\r
- public List<JsonContainerResourceInstance> getResourcesImpl(){\r
- return resources;\r
- }\r
-\r
- List<ArtifactInfoImpl> getServiceArtifactsImpl(){\r
- return serviceArtifacts;\r
- }\r
-\r
- @Override\r
- public List<IArtifactInfo> getServiceArtifacts() {\r
-\r
- List<IArtifactInfo> temp = new ArrayList<IArtifactInfo>();\r
- if( serviceArtifacts != null ){\r
- temp.addAll(serviceArtifacts);\r
- }\r
- return temp;\r
- }\r
-\r
- void setServiceArtifacts(List<ArtifactInfoImpl> relevantServiceArtifacts) {\r
- serviceArtifacts = relevantServiceArtifacts;\r
-\r
- }\r
-\r
- @Override\r
- public String getServiceInvariantUUID() {\r
- return serviceInvariantUUID;\r
- }\r
-\r
-\r
- public void setServiceInvariantUUID(String serviceInvariantUUID) {\r
- this.serviceInvariantUUID = serviceInvariantUUID;\r
- }\r
- @Override\r
- public IArtifactInfo getArtifactMetadataByUUID(String artifactUUID){\r
- IArtifactInfo ret = findArtifactInfoByUUID(artifactUUID, serviceArtifacts);\r
- if( ret == null && resources != null ){\r
- for( JsonContainerResourceInstance currResourceInstance : resources ){\r
- ret = findArtifactInfoByUUID(artifactUUID, currResourceInstance.getArtifactsImpl());\r
- if( ret != null ){\r
- break;\r
- }\r
- }\r
- }\r
- return ret;\r
-\r
- }\r
-\r
- private IArtifactInfo findArtifactInfoByUUID(String artifactUUID, List<ArtifactInfoImpl> listToCheck) {\r
- IArtifactInfo ret = null;\r
- if( listToCheck != null ){\r
- for(IArtifactInfo curr: listToCheck ){\r
- if(curr.getArtifactUUID().equals(artifactUUID) ){\r
- ret = curr;\r
- break;\r
- }\r
- }\r
- }\r
- return ret;\r
- }\r
-}\r
-\r
-class ArtifactInfoImpl implements IArtifactInfo{\r
-\r
- private String artifactName;\r
- private String artifactType;\r
- private String artifactURL;\r
- private String artifactChecksum;\r
- private String artifactDescription;\r
- private Integer artifactTimeout;\r
- private String artifactVersion;\r
- private String artifactUUID;\r
- private String generatedFromUUID;\r
- private IArtifactInfo generatedArtifact;\r
- private List<String> relatedArtifacts;\r
- private List<IArtifactInfo> relatedArtifactsInfo;\r
- ArtifactInfoImpl(){}\r
-\r
- private ArtifactInfoImpl(IArtifactInfo iArtifactInfo){\r
- artifactName = iArtifactInfo.getArtifactName();\r
- artifactType = iArtifactInfo.getArtifactType();\r
- artifactURL = iArtifactInfo.getArtifactURL();\r
- artifactChecksum = iArtifactInfo.getArtifactChecksum();\r
- artifactDescription = iArtifactInfo.getArtifactDescription();\r
- artifactTimeout = iArtifactInfo.getArtifactTimeout();\r
- artifactVersion = iArtifactInfo.getArtifactVersion();\r
- artifactUUID = iArtifactInfo.getArtifactUUID();\r
- generatedArtifact = iArtifactInfo.getGeneratedArtifact();\r
- relatedArtifactsInfo = iArtifactInfo.getRelatedArtifacts();\r
- relatedArtifacts = fillRelatedArtifactsUUID(relatedArtifactsInfo);\r
-\r
- }\r
-\r
-\r
- private List<String> fillRelatedArtifactsUUID(List<IArtifactInfo> relatedArtifactsInfo) {\r
- List<String> relatedArtifactsUUID = null;\r
- if( relatedArtifactsInfo != null && !relatedArtifactsInfo.isEmpty()){\r
- relatedArtifactsUUID = new ArrayList<>();\r
- for(IArtifactInfo curr: relatedArtifactsInfo){\r
- relatedArtifactsUUID.add(curr.getArtifactUUID());\r
- }\r
- }\r
- return relatedArtifactsUUID;\r
- }\r
-\r
- public static List<ArtifactInfoImpl> convertToArtifactInfoImpl(List<IArtifactInfo> list){\r
- List<ArtifactInfoImpl> ret = new ArrayList<ArtifactInfoImpl>();\r
- if( list != null ){\r
- for(IArtifactInfo artifactInfo : list ){\r
- ret.add(new ArtifactInfoImpl(artifactInfo));\r
- }\r
- }\r
- return ret;\r
- }\r
-\r
- public String getArtifactName() {\r
- return artifactName;\r
- }\r
-\r
- public void setArtifactName(String artifactName) {\r
- this.artifactName = artifactName;\r
- }\r
-\r
- public String getArtifactType() {\r
- return artifactType;\r
- }\r
-\r
- public void setArtifactType(String artifactType) {\r
- this.artifactType = artifactType;\r
- }\r
-\r
- public String getArtifactURL() {\r
- return artifactURL;\r
- }\r
-\r
- public void setArtifactURL(String artifactURL) {\r
- this.artifactURL = artifactURL;\r
- }\r
-\r
- public String getArtifactChecksum() {\r
- return artifactChecksum;\r
- }\r
-\r
- public void setArtifactChecksum(String artifactChecksum) {\r
- this.artifactChecksum = artifactChecksum;\r
- }\r
-\r
- public String getArtifactDescription() {\r
- return artifactDescription;\r
- }\r
-\r
- public void setArtifactDescription(String artifactDescription) {\r
- this.artifactDescription = artifactDescription;\r
- }\r
-\r
- public Integer getArtifactTimeout() {\r
- return artifactTimeout;\r
- }\r
-\r
- public void setArtifactTimeout(Integer artifactTimeout) {\r
- this.artifactTimeout = artifactTimeout;\r
- }\r
-\r
- @Override\r
- public String toString() {\r
- return "BaseArtifactInfoImpl [artifactName=" + artifactName\r
- + ", artifactType=" + artifactType + ", artifactURL="\r
- + artifactURL + ", artifactChecksum=" + artifactChecksum\r
- + ", artifactDescription=" + artifactDescription\r
- + ", artifactVersion=" + artifactVersion\r
- + ", artifactUUID=" + artifactUUID\r
- + ", artifactTimeout=" + artifactTimeout + "]";\r
- }\r
-\r
- public String getArtifactVersion() {\r
- return artifactVersion;\r
- }\r
-\r
- public void setArtifactVersion(String artifactVersion) {\r
- this.artifactVersion = artifactVersion;\r
- }\r
-\r
- public String getArtifactUUID() {\r
- return artifactUUID;\r
- }\r
-\r
- public void setArtifactUUID(String artifactUUID) {\r
- this.artifactUUID = artifactUUID;\r
- }\r
-\r
- public String getGeneratedFromUUID() {\r
- return generatedFromUUID;\r
- }\r
-\r
- public void setGeneratedFromUUID(String generatedFromUUID) {\r
- this.generatedFromUUID = generatedFromUUID;\r
- }\r
-\r
- public IArtifactInfo getGeneratedArtifact() {\r
- return generatedArtifact;\r
- }\r
-\r
- public void setGeneratedArtifact(IArtifactInfo generatedArtifact) {\r
- this.generatedArtifact = generatedArtifact;\r
- }\r
-\r
- public List<IArtifactInfo> getRelatedArtifacts(){\r
- List<IArtifactInfo> temp = new ArrayList<IArtifactInfo>();\r
- if( relatedArtifactsInfo != null ){\r
- temp.addAll(relatedArtifactsInfo);\r
- }\r
- return temp;\r
- }\r
-\r
- public void setRelatedArtifacts(List<String> relatedArtifacts) {\r
- this.relatedArtifacts = relatedArtifacts;\r
- }\r
-\r
- public void setRelatedArtifactsInfo(List<IArtifactInfo> relatedArtifactsInfo) {\r
- this.relatedArtifactsInfo = relatedArtifactsInfo;\r
- }\r