false true false API_HOST localhost = API_PORT 30002 = PAP_HOST localhost = PAP_PORT 30003 = KAFKA_HOST localhost = KAFKA_PORT 9092 = DROOLS_HOST localhost = DROOLS_PORT 30005 = duration 259200 = HTTP https = Accept application/json Content-Type application/json ${HTTP}://${API_HOST}:${API_PORT}/policy/api/v1 policyadmin zb!XztG34 ${HTTP}://${PAP_HOST}:${PAP_PORT}/policy/pap/v1 policyadmin zb!XztG34 ${HTTP}://${DROOLS_HOST}:${DROOLS_PORT}/policy/pdp/engine demo@people.osaaf.org demo123456! false 9696 http continue 1 false 1 1 false true false ${API_HOST} ${API_PORT} ${HTTP} /policy/api/v1/healthcheck GET false false false false false false false 6 false 0 200 Assertion.response_code false 8 $.healthy true true false false false true false { "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "topology_template": { "policies": [ { "operational.restart": { "type": "onap.policies.controlloop.operational.common.Drools", "type_version": "1.0.0", "version": "1.0.0", "metadata": { "policy-id": "operational.restart" }, "properties": { "id": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", "timeout": 60, "abatement": false, "trigger": "unique-policy-id-1-restart", "operations": [ { "id": "unique-policy-id-1-restart", "description": "Restart the VM", "operation": { "actor": "APPC", "operation": "Restart", "target": { "targetType": "VNF" } }, "timeout": 20, "retries": 0, "success": "final_success", "failure": "final_failure", "failure_timeout": "final_failure_timeout", "failure_retries": "final_failure_retries", "failure_exception": "final_failure_exception", "failure_guard": "final_failure_guard" } ], "controllerName": "usecases" } } } ] } } = ${API_HOST} ${API_PORT} ${HTTP} policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies POST false false false false false false false 6 false 0 200 Assertion.response_code false 8 true false { "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "topology_template": { "policies": [ { "op.5g.son.o1": { "type": "onap.policies.controlloop.operational.common.Drools", "type_version": "1.0.0", "name": "op.5g.son.o1", "version": "1.0.0", "metadata": { "policy-id": "op.5g.son.o1" }, "properties": { "id": "ControlLoop-SONO1-fb41f388-a5f2-11e8-98d0-529269fb1459", "timeout": 1200, "abatement": false, "trigger": "modify-o1-config", "operations": [ { "id": "modify-o1-config", "description": "Control Loop Modify O1 Configuration", "operation": { "actor": "SDNR", "operation": "ModifyO1Config", "target": { "targetType": "PNF" } }, "timeout": 60, "retries": 0, "success": "final_success", "failure": "final_failure", "failure_timeout": "final_failure_timeout", "failure_retries": "final_failure_retries", "failure_exception": "final_failure_exception", "failure_guard": "final_failure_guard" } ] } } } ] } } = ${API_HOST} ${API_PORT} ${HTTP} policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies POST false false false false false false false 6 false 0 200 Assertion.response_code false 8 true false { "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "topology_template": { "policies": [ { "op.5g.son.a1": { "type": "onap.policies.controlloop.operational.common.Drools", "type_version": "1.0.0", "name": "op.5g.son.a1", "version": "1.0.0", "metadata": { "policy-id": "op.5g.son.a1" }, "properties": { "id": "ControlLoop-SONA1-7d4baf04-8875-4d1f-946d-06b874048b61", "timeout": 1200, "abatement": false, "trigger": "modify-a1-policy", "operations": [ { "id": "modify-a1-policy", "description": "Control Loop Modify A1 Policy", "operation": { "actor": "SDNR", "operation": "ModifyA1Policy", "target": { "targetType": "PNF" } }, "timeout": 60, "retries": 0, "success": "final_success", "failure": "final_failure", "failure_timeout": "final_failure_timeout", "failure_retries": "final_failure_retries", "failure_exception": "final_failure_exception", "failure_guard": "final_failure_guard" } ] } } } ] } } = ${API_HOST} ${API_PORT} ${HTTP} policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies POST false false false false false false false 6 false 0 200 Assertion.response_code false 8 false ${PAP_HOST} ${PAP_PORT} ${HTTP} /policy/pap/v1/healthcheck GET false false false false false false false 6 false 0 200 Assertion.response_code false 8 $.healthy true true false false false true false {"policies":[{"policy-id":"operational.restart", "version": "1.0.0"}]} = ${PAP_HOST} ${PAP_PORT} ${HTTP} policy/pap/v1/pdps/policies POST false false false false false false false 6 false 0 202 Assertion.response_code false 8 true false {"policies":[{"policy-id":"op.5g.son.o1", "version": "1.0.0"}]} = ${PAP_HOST} ${PAP_PORT} ${HTTP} policy/pap/v1/pdps/policies POST false false false false false false false 6 false 0 202 Assertion.response_code false 8 true false {"policies":[{"policy-id":"op.5g.son.a1", "version": "1.0.0"}]} = ${PAP_HOST} ${PAP_PORT} ${HTTP} policy/pap/v1/pdps/policies POST false false false false false false false 6 false 0 202 Assertion.response_code false 8 false ${KAFKA_HOST} ${KAFKA_PORT} ${HTTP} events/policy-pdp-pap/${__time()}/1?timeout=2000 GET false false false false false false false 6 false 0 200 Assertion.response_code false 8 false ${KAFKA_HOST} ${KAFKA_PORT} ${HTTP} events/appc-lcm-read/vcpesuccess/1?timeout=5000 GET false false false false false false false 6 false 0 200 Assertion.response_code false 8 false ${KAFKA_HOST} ${KAFKA_PORT} ${HTTP} events/policy-cl-mgt/vcpesuccess/1?timeout=5000 GET false false false false false false false 6 false 0 200 Assertion.response_code false 8 false ${KAFKA_HOST} ${KAFKA_PORT} ${HTTP} events/SDNR-CL/sonO1/1?timeout=5000 GET false false false false false false false 6 false 0 200 Assertion.response_code false 8 false ${KAFKA_HOST} ${KAFKA_PORT} ${HTTP} events/SDNR-CL-RSP/sonO1/1?timeout=5000 GET false false false false false false false 6 false 0 200 Assertion.response_code false 8 false ${KAFKA_HOST} ${KAFKA_PORT} ${HTTP} events/DCAE_CL_RSP/son01/1?timeout=5000 GET false false false false false false false 6 false 0 200 Assertion.response_code false 8 false ${KAFKA_HOST} ${KAFKA_PORT} ${HTTP} events/SDNR-CL/sonA1/1?timeout=5000 GET false false false false false false false 6 false 0 200 Assertion.response_code false 8 false ${KAFKA_HOST} ${KAFKA_PORT} ${HTTP} events/SDNR-CL-RSP/sonA1/1?timeout=5000 GET false false false false false false false 6 false 0 200 Assertion.response_code false 8 false ${KAFKA_HOST} ${KAFKA_PORT} ${HTTP} events/DCAE_CL_RSP/sonA1/1?timeout=5000 GET false false false false false false false 6 false 0 200 Assertion.response_code false 8 false ${KAFKA_HOST} ${KAFKA_PORT} ${HTTP} events/policy-cl-mgt/sonA1/1?timeout=5000 GET false false false false false false false 6 false 0 200 Assertion.response_code false 8 false ${KAFKA_HOST} ${KAFKA_PORT} ${HTTP} events/policy-cl-mgt/sonA1/1?timeout=5000 GET false false false false false false false 6 false 0 200 Assertion.response_code false 8 false ${DROOLS_HOST} ${DROOLS_PORT} ${HTTP} policy/pdp/engine/controllers/usecases/drools/facts GET false false false false false false false 6 false 0 200 Assertion.response_code false 8 $.usecases 7 true false false false startnextloop -1 false 1 1 true ${duration} 11 true false consumerGroup vcpesuccess false Global to the thread group requestId ${__UUID()} true Update on a per iteration basis true false { "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e", "closedLoopAlarmStart": 1463679805324, "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca", "closedLoopEventStatus": "ONSET", "requestID": "${requestId}", "target_type": "VNF", "target": "generic-vnf.vnf-id", "AAI": { "vserver.is-closed-loop-disabled": "false", "vserver.prov-status": "ACTIVE", "generic-vnf.vnf-id": "vCPE_Infrastructure_vGMUX_demo_app" }, "from": "DCAE", "version": "1.0.2" } = ${DROOLS_HOST} ${DROOLS_PORT} ${HTTP} policy/pdp/engine/topics/sources/dmaap/dcae_topic/events PUT false false false false false false false 6 false 0 Content-Type text/plain groovy true vars.put("counter", "0"); ${__javaScript(${counter} < 10)} false true {"class":"And", "filters": [ { "class":"Equals", "field":"request-id", "value":"${requestId}" }, { "class":"Equals", "field":"rpc-name", "value":"restart" }]} = true filter ${KAFKA_HOST} ${KAFKA_PORT} ${HTTP} events/appc-lcm-read/${consumerGroup}/1?timeout=15000&limit=1 GET false false false false false false false 6 false 0 [] Assertion.response_data false 12 false requestIdOnset \\"request-id\\": \\"(.+?)\\" $1$ none false false correlationId correlation-id\\": \\"(.+?)\\" $1$ none false false subRequestId sub-request-id\\": \\"(.+?)\\" $1$ none false groovy true String requestIdOnset = vars.get("requestIdOnset"); String requestId = vars.get("requestId"); String correlationId = vars.get("correlationId"); String subRequestId = vars.get("subRequestId"); String counter = vars.get("counter"); String transaction = "none"; log.info ("The requestId id is " + requestId); log.info ("The requestIdOnset id is " + requestIdOnset); log.info ("The correlation id is " + correlationId); log.info ("The subrequest id is " + subRequestId); log.info ("The counter is " + counter); if ( requestId == requestIdOnset ) { if ( correlationId == "none" || subRequestId == "none" ) { transaction = "FINAL"; log.info ("Final Failure Transaction"); AssertionResult.setFailureMessage("Missing correlationId or subRequestId"); AssertionResult.setFailure(true); } else { transaction = "FINAL"; vars.put("transaction", "FINAL"); log.info ("Final Success Transaction"); } } int counterTemp = Integer.parseInt(counter) +1; if (transaction == "FINAL") { counterTemp = 99; } else if (counterTemp >= 10) { AssertionResult.setFailureMessage("vCPE Success APPCL Failure, reached maximum number of 10 attempts "); AssertionResult.setFailure(true); } vars.put("counter", Integer.toString(counterTemp)); true false { "body": { "output": { "common-header": { "timestamp": "2020-05-05T15:56:34.845Z", "api-ver": "2.00", "originator-id": "${requestId}", "request-id": "${requestId}", "sub-request-id": "${subRequestId}", "flags": {} }, "status": { "code": 400, "message": "Restart Successful" } } }, "version": "2.0", "rpc-name": "restart", "correlation-id": "${correlationId}", "type": "response" } = ${DROOLS_HOST} ${DROOLS_PORT} ${HTTP} policy/pdp/engine/topics/sources/dmaap/appc-lcm-write/events PUT false false false false false false false 6 false 0 Content-Type text/plain groovy true vars.put("counter", "0"); ${__javaScript(${counter} < 60)} false true {"class":"And", "filters": [ { "class":"Equals", "field":"requestId", "value":"${requestId}" }, { "class":"Equals", "field":"notification", "value":"FINAL: SUCCESS" }]} = true filter ${KAFKA_HOST} ${KAFKA_PORT} ${HTTP} events/policy-cl-mgt/${consumerGroup}/1?timeout=15000&limit=1 GET false false false false false false false 6 false 0 [] Assertion.response_data false 12 false requestIdOnset requestId\\": \\"(.+?)\\" $1$ none false false notification notification\\": \\"FINAL: (.+?)\\" $1$ none false groovy true String requestIdOnset = vars.get("requestIdOnset"); String requestId = vars.get("requestId"); String notification = vars.get("notification"); String counter = vars.get("counter"); String transaction = "none"; log.info ("The requestId id is " + requestId); log.info ("The requestIdOnset id is " + requestIdOnset); log.info ("The notification is " + notification); log.info ("The transaction is " + transaction); log.info ("The counter is " + counter); if ( requestId == requestIdOnset ) { if ( notification == "SUCCESS" ) { transaction = "FINAL"; log.info ("Final Success Transaction"); log.info ("The notification is SUCCESS"); } else if ( notification == "FAILURE" ) { transaction = "FINAL"; log.info ("Final Failure Transaction"); AssertionResult.setFailureMessage("Bad final notification"); AssertionResult.setFailure(true); } } int counterTemp = Integer.parseInt(counter) +1; if (transaction == "FINAL") { counterTemp = 99; } else if (counterTemp >= 60) { AssertionResult.setFailureMessage("vCPE Success POLICYCL Failure, reached maximum number of attempts "); AssertionResult.setFailure(true); } vars.put("counter", Integer.toString(counterTemp)); 1 0 200 startnextloop -1 false 1 1 true ${duration} 11 true false consumerGroup sonO1 false Global to the thread group requestId ${__UUID()} true Update on a per iteration basis true false { "closedLoopControlName": "ControlLoop-SONO1-fb41f388-a5f2-11e8-98d0-529269fb1459", "closedLoopAlarmStart": 1606806580487, "closedLoopEventClient": "microservice.PCI", "closedLoopEventStatus": "ONSET", "requestID": "${requestId}", "target_type": "PNF", "target": "pnf.pnf-name", "AAI": { "generic-vnf.prov-status": "ACTIVE", "generic-vnf.is-closed-loop-disabled": "false", "pnf.pnf-name": "ncserver1" }, "from": "PCIMS", "version": "1.0.2", "policyName": "SONO1", "policyVersion": "1.0.2", "Action": "ModifyO1Config", "payload": "{\"Configurations\":[{\"data\":{\"FAPService\":{\"alias\":\"Chn0330\",\"X0005b9Lte\":{\"phyCellIdInUse\":6,\"pnfName\":\"ncserver23\"},\"CellConfig\":{\"LTE\":{\"RAN\":{\"Common\":{\"CellIdentity\":\"Chn0330\"}}}}}}},{\"data\":{\"FAPService\":{\"alias\":\"Chn0331\",\"X0005b9Lte\":{\"phyCellIdInUse\":7,\"pnfName\":\"ncserver23\"},\"CellConfig\":{\"LTE\":{\"RAN\":{\"Common\":{\"CellIdentity\":\"Chn0331\"}}}}}}}]}" } = ${DROOLS_HOST} ${DROOLS_PORT} ${HTTP} policy/pdp/engine/topics/sources/dmaap/dcae_topic/events PUT false false false false false false false 6 false 0 Content-Type text/plain groovy true vars.put("counterO1", "0"); ${__javaScript(${counterO1} < 10)} false true {"class":"And", "filters": [ { "class":"Equals", "field":"request-id", "value":"${requestId}" }, { "class":"Equals", "field":"rpc-name", "value":"modifyo1config" }]} = true filter ${KAFKA_HOST} ${KAFKA_PORT} ${HTTP} events/SDNR-CL/${consumerGroup}/1?timeout=15000&limit=1 GET false false false false false false false 6 false 0 [] Assertion.response_data false 12 false requestIdOnset \\"RequestID\\": \\"(.+?)\\" $1$ none false false correlationId correlation-id\\": \\"(.+?)\\" $1$ none false false subRequestId SubRequestID\\": \\"(.+?)\\" $1$ none false groovy true String requestIdOnset = vars.get("requestIdOnset"); String requestId = vars.get("requestId"); String correlationId = vars.get("correlationId"); String subRequestId = vars.get("subRequestId"); String counter = vars.get("counterO1"); String transaction = "none"; log.info ("The requestId id is " + requestId); log.info ("The requestIdOnset id is " + requestIdOnset); log.info ("The correlation id is " + correlationId); log.info ("The subrequest id is " + subRequestId); log.info ("The counter is " + counter); if ( requestId == requestIdOnset ) { if ( correlationId == "none" || subRequestId == "none" ) { transaction = "FINAL"; log.info ("Final Failure Transaction"); AssertionResult.setFailureMessage("Missing correlationId or subRequestId"); AssertionResult.setFailure(true); } else { transaction = "FINAL"; vars.put("transaction", "FINAL"); log.info ("Final Success Transaction"); } } int counterTemp = Integer.parseInt(counter) +1; if (transaction == "FINAL") { counterTemp = 99; } else if (counterTemp >= 10) { AssertionResult.setFailureMessage("SON 01 Failure, reached maximum number of 10 attempts "); AssertionResult.setFailure(true); } vars.put("counterO1", Integer.toString(counterTemp)); true false { "body": { "output": { "CommonHeader": { "TimeStamp": "2022-08-10T07:10:05.614Z", "APIver": "1.0", "RequestID": "${requestId}", "SubRequestID": "${subRequestId}", "RequestTrack": [], "Flags": [] }, "Status": { "Code": 200, "Value": "SUCCESS" }, "Payload": "{ \"Configurations\":[ { \"Status\": { \"Code\": 200, \"Value\": \"SUCCESS\" }, \"data\":{\"FAPService\":{\"alias\":\"Chn0330\",\"X0005b9Lte\":{\"phyCellIdInUse\":6,\"pnfName\":\"ncserver23\"},\"CellConfig\":{\"LTE\":{\"RAN\":{\"Common\":{\"CellIdentity\":\"Chn0330\"}}}}}} } ] }" } }, "version": "1.0", "rpc-name": "ModifyO1Config", "correlation-id": "${correlationId}", "type": "response" } = ${DROOLS_HOST} ${DROOLS_PORT} ${HTTP} policy/pdp/engine/topics/sources/dmaap/sdnr-cl-rsp/events PUT false false false false false false false 6 false 0 Content-Type text/plain groovy true vars.put("counterO1", "0"); ${__javaScript(${counterO1} < 60)} false true {"class":"And", "filters": [ { "class":"Equals", "field":"requestId", "value":"${requestId}" }, { "class":"Equals", "field":"notification", "value":"FINAL: SUCCESS" }]} = true filter ${KAFKA_HOST} ${KAFKA_PORT} ${HTTP} events/policy-cl-mgt/${consumerGroup}/1?timeout=15000&limit=1 GET false false false false false false false 6 false 0 [] Assertion.response_data false 12 false requestIdOnset requestId\\": \\"(.+?)\\" $1$ none false false notification notification\\": \\"FINAL: (.+?)\\" $1$ none false groovy true String requestIdOnset = vars.get("requestIdOnset"); String requestId = vars.get("requestId"); String notification = vars.get("notification"); String counter = vars.get("counterO1"); String transaction = "none"; log.info ("The requestId id is " + requestId); log.info ("The requestIdOnset id is " + requestIdOnset); log.info ("The notification is " + notification); log.info ("The transaction is " + transaction); log.info ("The counter is " + counter); if ( requestId == requestIdOnset ) { if ( notification == "SUCCESS" ) { transaction = "FINAL"; log.info ("Final Success Transaction"); log.info ("The notification is SUCCESS"); } else if ( notification == "FAILURE" ) { transaction = "FINAL"; log.info ("Final Failure Transaction"); AssertionResult.setFailureMessage("Bad final notification"); AssertionResult.setFailure(true); } } int counterTemp = Integer.parseInt(counter) +1; if (transaction == "FINAL") { counterTemp = 99; } else if (counterTemp >= 60) { AssertionResult.setFailureMessage("vCPE Success POLICYCL Failure, reached maximum number of attempts "); AssertionResult.setFailure(true); } vars.put("counterO1", Integer.toString(counterTemp)); 1 0 250 startnextloop -1 false 1 1 true ${duration} 11 true false consumerGroup sonA1 false Global to the thread group requestId ${__UUID()} true Update on a per iteration basis true false { "closedLoopControlName": "ControlLoop-SONA1-7d4baf04-8875-4d1f-946d-06b874048b61", "closedLoopAlarmStart": 1606805921693, "closedLoopEventClient": "microservice.SONH", "closedLoopEventStatus": "ONSET", "requestID": "${requestId}", "target_type": "PNF", "target": "pnf.pnf-name", "AAI": { "generic-vnf.prov-status": "ACTIVE", "generic-vnf.is-closed-loop-disabled": "false", "pnf.pnf-name": "ncserver2" }, "from": "SONHMS", "version": "1.0.2", "policyName": "SONA1", "policyVersion": "1.0.2", "Action": "ModifyA1Policy", "payload": "{ \"Configurations\":[ { \"data\":{ \"FAPService\":{ \"alias\":\"Cell1\", \"CellConfig\":{ \"LTE\":{ \"RAN\":{ \"Common\":{ \"CellIdentity\":\"1\" }, \"NeighborListInUse\" : { \"LTECellNumberOfEntries\" : \"1\" , \"LTECell\" : [{ \"PLMNID\" :\"plmnid1\", \"CID\":\"Chn0001\", \"PhyCellID\":\"3\", \"PNFName\":\"ncserver01\", \"Blacklisted\":\"false\"}] } } } } } } } ] }" } = ${DROOLS_HOST} ${DROOLS_PORT} ${HTTP} policy/pdp/engine/topics/sources/dmaap/dcae_topic/events PUT false false false false false false false 6 false 0 Content-Type text/plain groovy true vars.put("counterA1", "0"); ${__javaScript(${counterA1} < 10)} false true {"class":"And", "filters": [ { "class":"Equals", "field":"request-id", "value":"${requestId}" }, { "class":"Equals", "field":"rpc-name", "value":"modifya1config" }]} = true filter ${KAFKA_HOST} ${KAFKA_PORT} ${HTTP} events/SDNR-CL/${consumerGroup}/1?timeout=15000&limit=1 GET false false false false false false false 6 false 0 [] Assertion.response_data false 12 false requestIdOnset \\"RequestID\\": \\"(.+?)\\" $1$ none false false correlationId correlation-id\\": \\"(.+?)\\" $1$ none false false subRequestId SubRequestID\\": \\"(.+?)\\" $1$ none false groovy true String requestIdOnset = vars.get("requestIdOnset"); String requestId = vars.get("requestId"); String correlationId = vars.get("correlationId"); String subRequestId = vars.get("subRequestId"); String counter = vars.get("counterA1"); String transaction = "none"; log.info ("The requestId id is " + requestId); log.info ("The requestIdOnset id is " + requestIdOnset); log.info ("The correlation id is " + correlationId); log.info ("The subrequest id is " + subRequestId); log.info ("The counter is " + counter); if ( requestId == requestIdOnset ) { if ( correlationId == "none" || subRequestId == "none" ) { transaction = "FINAL"; log.info ("Final Failure Transaction"); AssertionResult.setFailureMessage("Missing correlationId or subRequestId"); AssertionResult.setFailure(true); } else { transaction = "FINAL"; vars.put("transaction", "FINAL"); log.info ("Final Success Transaction"); } } int counterTemp = Integer.parseInt(counter) +1; if (transaction == "FINAL") { counterTemp = 99; } else if (counterTemp >= 10) { AssertionResult.setFailureMessage("SON A1 Success SDNR-CL Failure, reached maximum number of 10 attempts "); AssertionResult.setFailure(true); } vars.put("counterA1", Integer.toString(counterTemp)); true false { "body": { "output": { "CommonHeader": { "TimeStamp": "2022-09-10T07:10:05.614Z", "APIver": "1.0", "RequestID": "${requestId}", "SubRequestID": "${subRequestId}", "RequestTrack": [], "Flags": [] }, "Status": { "Code": 200, "Value": "SUCCESS" }, "Payload": "{ \"Configurations\":[ { \"Status\": { \"Code\": 200, \"Value\": \"SUCCESS\" }, \"data\":{ \"FAPService\":{ \"alias\":\"Cell1\", \"CellConfig\":{ \"LTE\":{ \"RAN\":{ \"Common\":{ \"CellIdentity\":\"1\" }, \"NeighborListInUse\" : { \"LTECellNumberOfEntries\" : \"1\" , \"LTECell\" : [{ \"PLMNID\" :\"plmnid1\", \"CID\":\"Chn0001\", \"PhyCellID\":\"3\", \"PNFName\":\"ncserver01\", \"Blacklisted\":\"false\"}] } } } } } } } ] }" } }, "version": "1.0", "rpc-name": "ModifyA1Policy", "correlation-id": "${correlationId}", "type": "response" } = ${DROOLS_HOST} ${DROOLS_PORT} ${HTTP} policy/pdp/engine/topics/sources/dmaap/sdnr-cl-rsp/events PUT false false false false false false false 6 false 0 Content-Type text/plain groovy true vars.put("counterA1", "0"); ${__javaScript(${counterA1} < 60)} false true {"class":"And", "filters": [ { "class":"Equals", "field":"requestId", "value":"${requestId}" }, { "class":"Equals", "field":"notification", "value":"FINAL: SUCCESS" }]} = true filter ${KAFKA_HOST} ${KAFKA_PORT} ${HTTP} events/policy-cl-mgt/${consumerGroup}/1?timeout=15000&limit=1 GET false false false false false false false 6 false 0 [] Assertion.response_data false 12 false requestIdOnset requestId\\": \\"(.+?)\\" $1$ none false false notification notification\\": \\"FINAL: (.+?)\\" $1$ none false groovy true String requestIdOnset = vars.get("requestIdOnset"); String requestId = vars.get("requestId"); String notification = vars.get("notification"); String counter = vars.get("counterA1"); String transaction = "none"; log.info ("The requestId id is " + requestId); log.info ("The requestIdOnset id is " + requestIdOnset); log.info ("The notification is " + notification); log.info ("The transaction is " + transaction); log.info ("The counter is " + counter); if ( requestId == requestIdOnset ) { if ( notification == "SUCCESS" ) { transaction = "FINAL"; log.info ("Final Success Transaction"); log.info ("The notification is SUCCESS"); } else if ( notification == "FAILURE" ) { transaction = "FINAL"; log.info ("Final Failure Transaction"); AssertionResult.setFailureMessage("Bad final notification"); AssertionResult.setFailure(true); } } int counterTemp = Integer.parseInt(counter) +1; if (transaction == "FINAL") { counterTemp = 99; } else if (counterTemp >= 60) { AssertionResult.setFailureMessage("vCPE Success POLICYCL Failure, reached maximum number of attempts "); AssertionResult.setFailure(true); } vars.put("counterA1", Integer.toString(counterTemp)); 1 0 250 continue 1 false 1 1 false true false ${PAP_HOST} ${PAP_PORT} ${HTTP} policy/pap/v1/pdps/policies/operational.restart/versions/1.0.0 DELETE false false false false false false false 6 false 0 202 Assertion.response_code false 16 false ${PAP_HOST} ${PAP_PORT} ${HTTP} policy/pap/v1/pdps/policies/op.5g.son.a1/versions/1.0.0 DELETE false false false false false false false 6 false 0 202 Assertion.response_code false 16 false ${PAP_HOST} ${PAP_PORT} ${HTTP} policy/pap/v1/pdps/policies/op.5g.son.o1/versions/1.0.0 DELETE false false false false false false false 6 false 0 202 Assertion.response_code false 16 false ${API_HOST} ${API_PORT} ${HTTP} policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies/operational.restart/versions/1.0.0 DELETE false false false false false false false 6 false 0 200 Assertion.response_code false 16 false ${API_HOST} ${API_PORT} ${HTTP} policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies/op.5g.son.a1/versions/1.0.0 DELETE false false false false false false false 6 false 0 200 Assertion.response_code false 16 false ${API_HOST} ${API_PORT} ${HTTP} policy/api/v1/policytypes/onap.policies.controlloop.operational.common.Drools/versions/1.0.0/policies/op.5g.son.o1/versions/1.0.0 DELETE false false false false false false false 6 false 0 200 Assertion.response_code false 16