diff options
Diffstat (limited to 'controlloop/templates/template.demo.v1.0.0/template.demo/src/test')
4 files changed, 0 insertions, 1045 deletions
diff --git a/controlloop/templates/template.demo.v1.0.0/template.demo/src/test/java/org/onap/policy/template/demo/TestAPPCPayload.java b/controlloop/templates/template.demo.v1.0.0/template.demo/src/test/java/org/onap/policy/template/demo/TestAPPCPayload.java deleted file mode 100644 index 42b28d2f4..000000000 --- a/controlloop/templates/template.demo.v1.0.0/template.demo/src/test/java/org/onap/policy/template/demo/TestAPPCPayload.java +++ /dev/null @@ -1,61 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * demo - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.template.demo; - -import java.util.HashMap; -import java.util.UUID; - -import org.junit.Test; -import org.onap.policy.appc.CommonHeader; -import org.onap.policy.appc.Request; -import org.onap.policy.appc.util.Serialization; -import org.onap.policy.vnf.trafficgenerator.PGRequest; -import org.onap.policy.vnf.trafficgenerator.PGStream; -import org.onap.policy.vnf.trafficgenerator.PGStreams; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class TestAPPCPayload { - - private static final Logger logger = LoggerFactory.getLogger(TestAPPCPayload.class); - @Test - public void test() { - PGRequest request = new PGRequest(); - request.pgStreams = new PGStreams(); - - PGStream pgStream; - for(int i = 0; i < 5; i++){ - pgStream = new PGStream(); - pgStream.streamId = "fw_udp"+(i+1); - pgStream.isEnabled = "true"; - request.pgStreams.pgStream.add(pgStream); - } - - Request appc = new Request(); - appc.CommonHeader = new CommonHeader(); - appc.CommonHeader.RequestID = UUID.randomUUID(); - appc.Action = "ModifyConfig"; - appc.Payload = new HashMap<String, Object>(); - appc.Payload.put("pg-streams", request); - logger.debug(Serialization.gsonPretty.toJson(appc)); - } - -} diff --git a/controlloop/templates/template.demo.v1.0.0/template.demo/src/test/java/org/onap/policy/template/demo/TestFirewallDemo.java b/controlloop/templates/template.demo.v1.0.0/template.demo/src/test/java/org/onap/policy/template/demo/TestFirewallDemo.java deleted file mode 100644 index 5675b6bdf..000000000 --- a/controlloop/templates/template.demo.v1.0.0/template.demo/src/test/java/org/onap/policy/template/demo/TestFirewallDemo.java +++ /dev/null @@ -1,594 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * demo - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.template.demo; - -import static org.junit.Assert.assertEquals; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.time.Instant; -import java.util.HashMap; -import java.util.UUID; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.junit.Test; -import org.kie.api.KieServices; -import org.kie.api.builder.KieBuilder; -import org.kie.api.builder.KieFileSystem; -import org.kie.api.builder.Message; -import org.kie.api.builder.ReleaseId; -import org.kie.api.builder.Results; -import org.kie.api.builder.model.KieModuleModel; -import org.kie.api.runtime.KieContainer; -import org.kie.api.runtime.KieSession; -import org.kie.api.runtime.rule.FactHandle; -import org.onap.policy.appc.CommonHeader; -import org.onap.policy.appc.Response; -import org.onap.policy.appc.ResponseStatus; -import org.onap.policy.controlloop.ControlLoopEventStatus; -import org.onap.policy.controlloop.ControlLoopTargetType; -import org.onap.policy.controlloop.VirtualControlLoopEvent; -import org.onap.policy.appc.util.Serialization; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - -public class TestFirewallDemo { - - private static final Logger logger = LoggerFactory.getLogger(TestFirewallDemo.class); - @Test - public void testvDNS() throws IOException { - // - // Build a container - // - final String closedLoopControlName = "CL-DNS-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8"; - final KieSession kieSession = buildContainer("src/main/resources/archetype-resources/src/main/resources/ControlLoopDemo__closedLoopControlName__.drl", - closedLoopControlName, - "type=operational", - "myFirewallDemoPolicy", - "v1.0", - "SO", - "http://localhost:8080/TestREST/Test", - "POLICY", - "POLICY", - "http://localhost:8080/TestREST/Test", - "POLICY", - "POLICY", - "4ff56a54-9e3f-46b7-a337-07a1d3c6b469", - 0, - "POLICY-CL-MGT", - "APPC-CL" - ); - // - // Initial fire of rules - // - kieSession.fireAllRules(); - // - // Kick a thread that starts testing - // - new Thread(new Runnable() { - - @Override - public void run() { - // - // Generate an invalid DCAE Event with requestID=null - // - VirtualControlLoopEvent invalidEvent = new VirtualControlLoopEvent(); - invalidEvent.closedLoopControlName = closedLoopControlName; - invalidEvent.requestID = null; - invalidEvent.closedLoopEventClient = "tca.instance00001"; - invalidEvent.target_type = ControlLoopTargetType.VF; - invalidEvent.target = "generic-vnf.vnf-id"; - invalidEvent.from = "DCAE"; - invalidEvent.closedLoopAlarmStart = Instant.now(); - invalidEvent.AAI = new HashMap<String, String>(); - invalidEvent.AAI.put("vserver.vserver-name", "vserver-name-16102016-aai3255-data-11-1"); - invalidEvent.closedLoopEventStatus = ControlLoopEventStatus.ONSET; - - logger.debug("----- Invalid ONSET -----"); - logger.debug(Serialization.gsonPretty.toJson(invalidEvent)); - - // - // Insert invalid DCAE Event into memory - // - kieSession.insert(invalidEvent); - try { - Thread.sleep(500); - } catch (InterruptedException e) { - } - // - // Generate first DCAE ONSET Event - // - VirtualControlLoopEvent onsetEvent = new VirtualControlLoopEvent(); - onsetEvent.closedLoopControlName = closedLoopControlName; - onsetEvent.requestID = UUID.randomUUID(); - onsetEvent.closedLoopEventClient = "tca.instance00001"; - onsetEvent.target_type = ControlLoopTargetType.VF; - onsetEvent.target = "generic-vnf.vnf-id"; - onsetEvent.from = "DCAE"; - onsetEvent.closedLoopAlarmStart = Instant.now(); - onsetEvent.AAI = new HashMap<String, String>(); - onsetEvent.AAI.put("vserver.vserver-name", "vserver-name-16102016-aai3255-data-11-1"); - onsetEvent.closedLoopEventStatus = ControlLoopEventStatus.ONSET; - - logger.debug("----- ONSET -----"); - logger.debug(Serialization.gsonPretty.toJson(onsetEvent)); - - // - // Insert first DCAE ONSET Event into memory - // - kieSession.insert(onsetEvent); - // - // We have test for subsequent ONSET Events in testvFirewall() - // So no need to test it again here - // - try { - Thread.sleep(10000); - } catch (InterruptedException e) { - } - // - // Test is finished, so stop the kieSession - // - kieSession.halt(); - } - // - }).start(); - // - // Start firing rules - // - kieSession.fireUntilHalt(); - // - // Dump working memory - // - dumpFacts(kieSession); - // - // See if there is anything left in memory, there SHOULD only be - // a params fact. - // - assertEquals("There should only be 1 Fact left in memory.", 1, kieSession.getFactCount()); - for (FactHandle handle : kieSession.getFactHandles()) { - Object fact = kieSession.getObject(handle); - assertEquals("Non-Param Fact left in working memory", "org.onap.policy.controlloop.Params", fact.getClass().getName()); - } - } - - @Test - public void testvFirewall() throws IOException { - // - // Build a container - // - final String closedLoopControlName = "CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8"; - final KieSession kieSession = buildContainer("src/main/resources/archetype-resources/src/main/resources/ControlLoopDemo__closedLoopControlName__.drl", - closedLoopControlName, - "type=operational", - "myFirewallDemoPolicy", - "v1.0", - "APPC", - "http://localhost:8080/TestREST/Test", - "POLICY", - "POLICY", - null, - null, - null, - null, - 1, - "POLICY-CL-MGT", - "APPC-CL" - ); - // - // Initial fire of rules - // - kieSession.fireAllRules(); - // - // Kick a thread that starts testing - // - new Thread(new Runnable() { - - @Override - public void run() { - // - // Generate an invalid DCAE Event with requestID=null - // - VirtualControlLoopEvent invalidEvent = new VirtualControlLoopEvent(); - invalidEvent.closedLoopControlName = closedLoopControlName; - invalidEvent.requestID = null; - invalidEvent.closedLoopEventClient = "tca.instance00001"; - invalidEvent.target_type = ControlLoopTargetType.VF; - invalidEvent.target = "generic-vnf.vnf-id"; - invalidEvent.from = "DCAE"; - invalidEvent.closedLoopAlarmStart = Instant.now(); - invalidEvent.AAI = new HashMap<String, String>(); - invalidEvent.AAI.put("generic-vnf.vnf-id", "foo"); - invalidEvent.closedLoopEventStatus = ControlLoopEventStatus.ONSET; - - logger.debug("----- Invalid ONSET -----"); - logger.debug(Serialization.gsonPretty.toJson(invalidEvent)); - - // - // Insert invalid DCAE Event into memory - // - kieSession.insert(invalidEvent); - try { - Thread.sleep(500); - } catch (InterruptedException e) { - } - // - // Generate first DCAE ONSET Event - // - VirtualControlLoopEvent onsetEvent = new VirtualControlLoopEvent(); - onsetEvent.closedLoopControlName = closedLoopControlName; - onsetEvent.requestID = UUID.randomUUID(); - onsetEvent.closedLoopEventClient = "tca.instance00001"; - onsetEvent.target_type = ControlLoopTargetType.VF; - onsetEvent.target = "generic-vnf.vnf-id"; - onsetEvent.from = "DCAE"; - onsetEvent.closedLoopAlarmStart = Instant.now(); - onsetEvent.AAI = new HashMap<String, String>(); - onsetEvent.AAI.put("generic-vnf.vnf-id", "fw0001vm001fw001"); - //onsetEvent.AAI.put("vserver.vserver-name", "vserver-name-16102016-aai3255-data-11-1"); - onsetEvent.closedLoopEventStatus = ControlLoopEventStatus.ONSET; - - logger.debug("----- ONSET -----"); - logger.debug(Serialization.gsonPretty.toJson(onsetEvent)); - - // - // Insert first DCAE ONSET Event into memory - // - kieSession.insert(onsetEvent); - try { - Thread.sleep(500); - } catch (InterruptedException e) { - } - - - Thread thread = new Thread(new Runnable() { - - @Override - public void run() { - while (true) { - // - // Generate subsequent DCAE ONSET Event - // - VirtualControlLoopEvent subOnsetEvent = new VirtualControlLoopEvent(); - subOnsetEvent.closedLoopControlName = closedLoopControlName; - subOnsetEvent.requestID = UUID.randomUUID(); - subOnsetEvent.closedLoopEventClient = "tca.instance00001"; - subOnsetEvent.target_type = ControlLoopTargetType.VF; - subOnsetEvent.target = "generic-vnf.vnf-id"; - subOnsetEvent.from = "DCAE"; - subOnsetEvent.closedLoopAlarmStart = Instant.now(); - subOnsetEvent.AAI = new HashMap<String, String>(); - subOnsetEvent.AAI.put("generic-vnf.vnf-id", "fw0001vm001fw001"); - //subOnsetEvent.AAI.put("vserver.vserver-name", "vserver-name-16102016-aai3255-data-11-1"); - subOnsetEvent.closedLoopEventStatus = ControlLoopEventStatus.ONSET; - - logger.debug("----- Subsequent ONSET -----"); - logger.debug(Serialization.gsonPretty.toJson(subOnsetEvent)); - - // - // Insert subsequent DCAE ONSET Event into memory - // - kieSession.insert(subOnsetEvent); - try { - Thread.sleep(500); - } catch (InterruptedException e) { - break; - } - } - } - - }); - thread.start(); - try { - Thread.sleep(3000); - } catch (InterruptedException e) { - } - // - // Stop the thread - // - thread.interrupt(); - // - // Generate APPC ACCEPT Response - // - Response response1 = new Response(); - // CommonHeader - CommonHeader commonHeader1 = new CommonHeader(); - commonHeader1.RequestID = onsetEvent.requestID; - response1.CommonHeader = commonHeader1; - // ResponseStatus - ResponseStatus responseStatus1 = new ResponseStatus(); - responseStatus1.Code = 100; - response1.Status = responseStatus1; - // - logger.debug("----- APP-C RESPONSE 100 -----"); - logger.debug(Serialization.gsonPretty.toJson(response1)); - // - // Insert APPC Response into memory - // - kieSession.insert(response1); - // - // Simulating APPC takes some time for processing the recipe - // and then gives response - // - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - } - // - // Generate APPC SUCCESS Response - // - Response response2 = new Response(); - // CommonHeader - CommonHeader commonHeader2 = new CommonHeader(); - commonHeader2.RequestID = onsetEvent.requestID; - response2.CommonHeader = commonHeader2; - // ResponseStatus - ResponseStatus responseStatus2 = new ResponseStatus(); - responseStatus2.Code = 400; - response2.Status = responseStatus2; - // - logger.debug("----- APP-C RESPONSE 400 -----"); - logger.debug(Serialization.gsonPretty.toJson(response2)); - // - // Insert APPC Response into memory - // - kieSession.insert(response2); - // - try { - Thread.sleep(3000); - } catch (InterruptedException e) { - } - // - // Test is finished, so stop the kieSession - // - kieSession.halt(); - } - // - }).start(); - // - // Start firing rules - // - kieSession.fireUntilHalt(); - // - // Dump working memory - // - dumpFacts(kieSession); - // - // See if there is anything left in memory, there SHOULD only be - // a params fact. - // - assertEquals("There should only be 1 Fact left in memory.", 1, kieSession.getFactCount()); - for (FactHandle handle : kieSession.getFactHandles()) { - Object fact = kieSession.getObject(handle); - assertEquals("Non-Param Fact left in working memory", "org.onap.policy.controlloop.Params", fact.getClass().getName()); - } - } - - public static void dumpFacts(KieSession kieSession) { - logger.debug("Fact Count: {}", kieSession.getFactCount()); - for (FactHandle handle : kieSession.getFactHandles()) { - logger.debug("FACT: {}", handle); - } - } - - public static KieSession buildContainer(String droolsTemplate, - String closedLoopControlName, - String policyScope, - String policyName, - String policyVersion, - String actor, - String aaiURL, - String aaiUsername, - String aaiPassword, - String msoURL, - String msoUsername, - String msoPassword, - String aaiNamedQuery, - int aaiPatternMatch, - String notificationTopic, - String appcTopic ) throws IOException { - // - // Get our Drools Kie factory - // - KieServices ks = KieServices.Factory.get(); - - KieModuleModel kModule = ks.newKieModuleModel(); - - logger.debug("KMODULE: {} {}", System.lineSeparator(), kModule.toXML()); - - // - // Generate our drools rule from our template - // - KieFileSystem kfs = ks.newKieFileSystem(); - - kfs.writeKModuleXML(kModule.toXML()); - { - Path rule = Paths.get(droolsTemplate); - String ruleTemplate = new String(Files.readAllBytes(rule)); - String drlContents = generatePolicy(ruleTemplate, - closedLoopControlName, - policyScope, - policyName, - policyVersion, - actor, - aaiURL, - aaiUsername, - aaiPassword, - msoURL, - msoUsername, - msoPassword, - aaiNamedQuery, - aaiPatternMatch, - notificationTopic, - appcTopic - ); - - kfs.write("src/main/resources/" + policyName + ".drl", ks.getResources().newByteArrayResource(drlContents.getBytes())); - } - // - // Compile the rule - // - KieBuilder builder = ks.newKieBuilder(kfs).buildAll(); - Results results = builder.getResults(); - if (results.hasMessages(Message.Level.ERROR)) { - for (Message msg : results.getMessages()) { - logger.error("{}", msg); - } - throw new RuntimeException("Drools Rule has Errors"); - } - for (Message msg : results.getMessages()) { - logger.debug("{}", msg); - } - // - // Create our kie Session and container - // - ReleaseId releaseId = ks.getRepository().getDefaultReleaseId(); - logger.debug("{}", releaseId); - KieContainer kContainer = ks.newKieContainer(releaseId); - - return kContainer.newKieSession(); - } - public static String generatePolicy(String ruleContents, - String closedLoopControlName, - String policyScope, - String policyName, - String policyVersion, - String actor, - String aaiURL, - String aaiUsername, - String aaiPassword, - String msoURL, - String msoUsername, - String msoPassword, - String aaiNamedQueryUUID, - int aaiPatternMatch, - String notificationTopic, - String appcTopic) { - - Pattern p = Pattern.compile("\\$\\{closedLoopControlName\\}"); - Matcher m = p.matcher(ruleContents); - ruleContents = m.replaceAll(closedLoopControlName); - - p = Pattern.compile("\\$\\{policyScope\\}"); - m = p.matcher(ruleContents); - ruleContents = m.replaceAll(policyScope); - - p = Pattern.compile("\\$\\{policyName\\}"); - m = p.matcher(ruleContents); - ruleContents = m.replaceAll(policyName); - - p = Pattern.compile("\\$\\{policyVersion\\}"); - m = p.matcher(ruleContents); - ruleContents = m.replaceAll(policyVersion); - - p = Pattern.compile("\\$\\{actor\\}"); - m = p.matcher(ruleContents); - ruleContents = m.replaceAll(actor); - - p = Pattern.compile("\\$\\{aaiURL\\}"); - m = p.matcher(ruleContents); - if (aaiURL == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(aaiURL); - } - - p = Pattern.compile("\\$\\{aaiUsername\\}"); - m = p.matcher(ruleContents); - if (aaiUsername == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(aaiUsername); - } - - p = Pattern.compile("\\$\\{aaiPassword\\}"); - m = p.matcher(ruleContents); - if (aaiPassword == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(aaiPassword); - } - - p = Pattern.compile("\\$\\{msoURL\\}"); - m = p.matcher(ruleContents); - if (msoURL == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(msoURL); - } - - p = Pattern.compile("\\$\\{msoUsername\\}"); - m = p.matcher(ruleContents); - if (msoUsername == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(msoUsername); - } - - p = Pattern.compile("\\$\\{msoPassword\\}"); - m = p.matcher(ruleContents); - if (msoPassword == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(msoPassword); - } - - p = Pattern.compile("\\$\\{aaiNamedQueryUUID\\}"); - m = p.matcher(ruleContents); - if (aaiNamedQueryUUID == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(aaiNamedQueryUUID); - } - - p = Pattern.compile("\\$\\{aaiPatternMatch\\}"); - m = p.matcher(ruleContents); - if (aaiPatternMatch == 1) { - ruleContents = m.replaceAll("1"); - } else { - ruleContents = m.replaceAll("0"); - } - - p = Pattern.compile("\\$\\{notificationTopic\\}"); - m = p.matcher(ruleContents); - if (notificationTopic == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(notificationTopic); - } - - p = Pattern.compile("\\$\\{appcTopic\\}"); - m = p.matcher(ruleContents); - if (appcTopic == null) { - ruleContents = m.replaceAll("null"); - } else { - ruleContents = m.replaceAll(appcTopic); - } - - logger.debug(ruleContents); - - return ruleContents; - } - -} diff --git a/controlloop/templates/template.demo.v1.0.0/template.demo/src/test/java/org/onap/policy/template/demo/TestSO.java b/controlloop/templates/template.demo.v1.0.0/template.demo/src/test/java/org/onap/policy/template/demo/TestSO.java deleted file mode 100644 index 333fde6b2..000000000 --- a/controlloop/templates/template.demo.v1.0.0/template.demo/src/test/java/org/onap/policy/template/demo/TestSO.java +++ /dev/null @@ -1,163 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * demo - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.template.demo; - -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.util.UUID; - -import org.junit.Test; -import org.onap.policy.mso.SOCloudConfiguration; -import org.onap.policy.mso.SOModelInfo; -import org.onap.policy.mso.SORelatedInstance; -import org.onap.policy.mso.SORelatedInstanceListElement; -import org.onap.policy.mso.SORequest; -import org.onap.policy.mso.SORequestDetails; -import org.onap.policy.mso.SORequestInfo; -import org.onap.policy.mso.SORequestParameters; -import org.onap.policy.aai.AAINQResponse; -import org.onap.policy.aai.AAINQResponseWrapper; -import org.onap.policy.mso.util.Serialization; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.gson.Gson; -import com.google.gson.stream.JsonReader; - -public class TestSO { - - private static final Logger logger = LoggerFactory.getLogger(TestSO.class); - - @Test - public void test() throws FileNotFoundException { - Gson gson = new Gson(); - JsonReader reader = new JsonReader(new FileReader("src/test/resources/aairesponse.json")); - AAINQF199Response response = gson.fromJson(reader, AAINQF199Response.class); - - logger.debug(Serialization.gsonPretty.toJson(response)); - - AAINQF199ResponseWrapper aainqf199ResponseWrapper = new AAINQF199ResponseWrapper(UUID.randomUUID(), response); - - // - // - // vnfItem - // - String vnfItemVnfId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.vnfID; - String vnfItemVnfType = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.vnfType; - vnfItemVnfType = vnfItemVnfType.substring(vnfItemVnfType.lastIndexOf("/")+1); - String vnfItemPersonaModelId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.personaModelId; - String vnfItemPersonaModelVersion = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).genericVNF.personaModelVersion; - String vnfItemModelName = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(0).propertyValue; - String vnfItemModelNameVersionId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(4).propertyValue; - // - // serviceItem - // - String serviceItemServiceInstanceId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.serviceInstanceID; - String serviceItemPersonaModelId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.personaModelId; - String serviceItemModelName = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(0).propertyValue; - String serviceItemModelVersion = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).serviceInstance.personaModelVersion; - String serviceItemModelNameVersionId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).extraProperties.extraProperty.get(4).propertyValue; - // - // This comes from the base module - // - String vfModuleItemVfModuleName = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(1).vfModule.vfModuleName; - vfModuleItemVfModuleName = vfModuleItemVfModuleName.replace("Vfmodule", "vDNS"); - // - // vfModuleItem - NOT the base module - // - String vfModuleItemPersonaModelId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(2).vfModule.personaModelId; - String vfModuleItemPersonaModelVersion = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(2).vfModule.personaModelVersion; - String vfModuleItemModelName = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(2).extraProperties.extraProperty.get(0).propertyValue; - String vfModuleItemModelNameVersionId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(0).items.inventoryResponseItems.get(2).extraProperties.extraProperty.get(4).propertyValue; - - // - // tenantItem - // - String tenantItemTenantId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(1).tenant.tenantId; - // - // cloudRegionItem - // - String cloudRegionItemCloudRegionId = aainqf199ResponseWrapper.aainqf199response.inventoryResponseItems.get(0).items.inventoryResponseItems.get(1).items.inventoryResponseItems.get(0).cloudRegion.cloudRegionId; - - // - // Construct an SO request - // - SORequest request = new SORequest(); - request.requestDetails = new SORequestDetails(); - request.requestDetails.modelInfo = new SOModelInfo(); - request.requestDetails.cloudConfiguration = new SOCloudConfiguration(); - request.requestDetails.requestInfo = new SORequestInfo(); - request.requestDetails.requestParameters = new SORequestParameters(); - request.requestDetails.requestParameters.userParams = null; - // - // cloudConfiguration - // - request.requestDetails.cloudConfiguration.lcpCloudRegionId = cloudRegionItemCloudRegionId; - request.requestDetails.cloudConfiguration.tenantId = tenantItemTenantId; - // - // modelInfo - // - request.requestDetails.modelInfo.modelType = "vfModule"; - request.requestDetails.modelInfo.modelInvariantId = vfModuleItemPersonaModelId; - request.requestDetails.modelInfo.modelNameVersionId = vfModuleItemModelNameVersionId; - request.requestDetails.modelInfo.modelName = vfModuleItemModelName; - request.requestDetails.modelInfo.modelVersion = vfModuleItemPersonaModelVersion; - // - // requestInfo - // - request.requestDetails.requestInfo.instanceName = vfModuleItemVfModuleName; - request.requestDetails.requestInfo.source = "POLICY"; - request.requestDetails.requestInfo.suppressRollback = false; - // - // relatedInstanceList - // - SORelatedInstanceListElement relatedInstanceListElement1 = new SORelatedInstanceListElement(); - SORelatedInstanceListElement relatedInstanceListElement2 = new SORelatedInstanceListElement(); - relatedInstanceListElement1.relatedInstance = new SORelatedInstance(); - relatedInstanceListElement2.relatedInstance = new SORelatedInstance(); - // - relatedInstanceListElement1.relatedInstance.instanceId = serviceItemServiceInstanceId; - relatedInstanceListElement1.relatedInstance.modelInfo = new SOModelInfo(); - relatedInstanceListElement1.relatedInstance.modelInfo.modelType = "service"; - relatedInstanceListElement1.relatedInstance.modelInfo.modelInvariantId = serviceItemPersonaModelId; - relatedInstanceListElement1.relatedInstance.modelInfo.modelNameVersionId = serviceItemModelNameVersionId; - relatedInstanceListElement1.relatedInstance.modelInfo.modelName = serviceItemModelName; - relatedInstanceListElement1.relatedInstance.modelInfo.modelVersion = serviceItemModelVersion; - // - relatedInstanceListElement2.relatedInstance.instanceId = vnfItemVnfId; - relatedInstanceListElement2.relatedInstance.modelInfo = new SOModelInfo(); - relatedInstanceListElement2.relatedInstance.modelInfo.modelType = "vnf"; - relatedInstanceListElement2.relatedInstance.modelInfo.modelInvariantId = vnfItemPersonaModelId; - relatedInstanceListElement2.relatedInstance.modelInfo.modelNameVersionId = vnfItemModelNameVersionId; - relatedInstanceListElement2.relatedInstance.modelInfo.modelName = vnfItemModelName; - relatedInstanceListElement2.relatedInstance.modelInfo.modelVersion = vnfItemPersonaModelVersion; - relatedInstanceListElement2.relatedInstance.modelInfo.modelCustomizationName = vnfItemVnfType; - // - request.requestDetails.relatedInstanceList.add(relatedInstanceListElement1); - request.requestDetails.relatedInstanceList.add(relatedInstanceListElement2); - // - // print SO request for debug - // - logger.debug("SO request sent:"); - logger.debug(Serialization.gsonPretty.toJson(request)); - } - -} diff --git a/controlloop/templates/template.demo.v1.0.0/template.demo/src/test/resources/aairesponse.json b/controlloop/templates/template.demo.v1.0.0/template.demo/src/test/resources/aairesponse.json deleted file mode 100644 index 66da8e715..000000000 --- a/controlloop/templates/template.demo.v1.0.0/template.demo/src/test/resources/aairesponse.json +++ /dev/null @@ -1,227 +0,0 @@ -{ - "inventory-response-item": [ - { - "extra-properties": {}, - "inventory-response-items": { - "inventory-response-item": [ - { - "extra-properties": { - "extra-property": [ - { - "property-name": "model.model-name", - "property-value": "c15ce9e1-e914-4c8f-b8bb" - }, - { - "property-name": "model.model-type", - "property-value": "resource" - }, - { - "property-name": "model.model-version", - "property-value": "1" - }, - { - "property-name": "model.model-id", - "property-value": "033a32ed-aa65-4764-a736-36f2942f1aa0" - }, - { - "property-name": "model.model-name-version-id", - "property-value": "d4d072dc-4e21-4a03-9524-628985819a8e" - } - ] - }, - "generic-vnf": { - "in-maint": false, - "is-closed-loop-disabled": false, - "orchestration-status": "Created", - "persona-model-id": "033a32ed-aa65-4764-a736-36f2942f1aa0", - "persona-model-version": "1.0", - "resource-version": "1485542422", - "service-id": "b3f70641-bdb9-4030-825e-6abb73a1f929", - "vnf-id": "594e2fe0-48b8-41ff-82e2-3d4bab69b192", - "vnf-name": "Vnf_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8", - "vnf-type": "8330e932-2a23-4943-8606/c15ce9e1-e914-4c8f-b8bb 1" - }, - "inventory-response-items": { - "inventory-response-item": [ - { - "extra-properties": { - "extra-property": [ - { - "property-name": "model.model-name", - "property-value": "8330e932-2a23-4943-8606" - }, - { - "property-name": "model.model-type", - "property-value": "service" - }, - { - "property-name": "model.model-version", - "property-value": "1" - }, - { - "property-name": "model.model-id", - "property-value": "4fcbc1c0-7793-46d8-8aa1-fa1c2ed9ec7b" - }, - { - "property-name": "model.model-name-version-id", - "property-value": "5c996219-b2e2-4c76-9b43-7e8672a33c1d" - } - ] - }, - "service-instance": { - "persona-model-id": "4fcbc1c0-7793-46d8-8aa1-fa1c2ed9ec7b", - "persona-model-version": "1.0", - "resource-version": "1485542400", - "service-instance-id": "cf8426a6-0b53-4e3d-bfa6-4b2f4d5913a5", - "service-instance-name": "Service_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8" - } - }, - { - "extra-properties": { - "extra-property": [ - { - "property-name": "model.model-name", - "property-value": "C15ce9e1E9144c8fB8bb..base_vlb..module-0" - }, - { - "property-name": "model.model-type", - "property-value": "resource" - }, - { - "property-name": "model.model-version", - "property-value": "1" - }, - { - "property-name": "model.model-id", - "property-value": "79ee24cd-fc9a-4f14-afae-5e1dd2ab2941" - }, - { - "property-name": "model.model-name-version-id", - "property-value": "5484cabb-1a0d-4f29-a616-094a3f643d73" - } - ] - }, - "model-name": "C15ce9e1E9144c8fB8bb..base_vlb..module-0", - "vf-module": { - "heat-stack-id": "Vfmodule_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8/5845f37b-6cda-4e91-8ca3-f5572d226488", - "is-base-vf-module": true, - "orchestration-status": "active", - "persona-model-id": "79ee24cd-fc9a-4f14-afae-5e1dd2ab2941", - "persona-model-version": "1", - "resource-version": "1485542667", - "vf-module-id": "b0eff878-e2e1-4947-9597-39afdd0f51dd", - "vf-module-name": "Vfmodule_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8" - } - }, - { - "extra-properties": { - "extra-property": [ - { - "property-name": "model.model-name", - "property-value": "C15ce9e1E9144c8fB8bb..dnsscaling..module-1" - }, - { - "property-name": "model.model-type", - "property-value": "resource" - }, - { - "property-name": "model.model-version", - "property-value": "1" - }, - { - "property-name": "model.model-id", - "property-value": "f32568ec-2f1c-458a-864b-0593d53d141a" - }, - { - "property-name": "model.model-name-version-id", - "property-value": "69615025-879d-4f0d-afe3-b7d1a7eeed1f" - } - ] - }, - "vf-module": { - "is-base-vf-module": false, - "persona-model-id": "f32568ec-2f1c-458a-864b-0593d53d141a", - "persona-model-version": "1.0", - "resource-version": "1485561752", - "vf-module-id": "dummy", - "vf-module-name": "dummy" - } - }, - { - "extra-properties": { - "extra-property": [ - { - "property-name": "model.model-name", - "property-value": "C15ce9e1E9144c8fB8bb..dnsscaling..module-1" - }, - { - "property-name": "model.model-type", - "property-value": "resource" - }, - { - "property-name": "model.model-version", - "property-value": "1" - }, - { - "property-name": "model.model-id", - "property-value": "f32568ec-2f1c-458a-864b-0593d53d141a" - }, - { - "property-name": "model.model-name-version-id", - "property-value": "69615025-879d-4f0d-afe3-b7d1a7eeed1f" - } - ] - }, - "vf-module": { - "heat-stack-id": "vDNS_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8/f447ce51-14dd-4dcd-9957-68a047c79673", - "is-base-vf-module": false, - "orchestration-status": "active", - "persona-model-id": "f32568ec-2f1c-458a-864b-0593d53d141a", - "persona-model-version": "1.0", - "resource-version": "1485562712", - "vf-module-id": "8cd79e44-1fae-48c1-a160-609f90b46749", - "vf-module-name": "vDNS_Ete_Named90e1ab3-dcd5-4877-9edb-eadfc84e32c8" - } - } - ] - } - }, - { - "extra-properties": {}, - "inventory-response-items": { - "inventory-response-item": [ - { - "cloud-region": { - "cloud-owner": "Rackspace", - "cloud-region-id": "DFW", - "cloud-region-version": "v1", - "cloud-type": "SharedNode", - "cloud-zone": "CloudZone", - "owner-defined-type": "OwnerType", - "resource-version": "1485465545" - }, - "extra-properties": {} - } - ] - }, - "tenant": { - "resource-version": "1485465545", - "tenant-id": "1015548", - "tenant-name": "1015548" - } - } - ] - }, - "vserver": { - "in-maint": false, - "is-closed-loop-disabled": false, - "prov-status": "ACTIVE", - "resource-version": "1485546436", - "vserver-id": "70f081eb-2a87-4c81-9296-4b93d7d145c6", - "vserver-name": "vlb-lb-32c8", - "vserver-name2": "vlb-lb-32c8", - "vserver-selflink": "https://dfw.servers.api.rackspacecloud.com/v2/1015548/servers/70f081eb-2a87-4c81-9296-4b93d7d145c6" - } - } - ] -} |