diff options
author | adheli.tavares <adheli.tavares@est.tech> | 2022-03-29 13:52:35 +0100 |
---|---|---|
committer | adheli.tavares <adheli.tavares@est.tech> | 2022-04-19 20:01:53 +0100 |
commit | 45b444a488323b37b442348063f8c5ac8493ce9c (patch) | |
tree | f60cd5bcbe46f01c54a6ec6adb0a741a04d2d072 | |
parent | c3dded021550a05639619e1751efc85dabedfd8b (diff) |
sp3 tests update on setup
- versions of images updated
- fix run_tests with extra slash
- add call to metrics on stability and performance tests
Issue-ID: POLICY-4006
Change-Id: Idad63e9d256e149b224796c486f7322ecbc6ff61
Signed-off-by: adheli.tavares <adheli.tavares@est.tech>
17 files changed, 535 insertions, 420 deletions
diff --git a/testsuites/performance/src/main/resources/testplans/performance.jmx b/testsuites/performance/src/main/resources/testplans/performance.jmx index 530f1312..7abd7e4e 100644 --- a/testsuites/performance/src/main/resources/testplans/performance.jmx +++ b/testsuites/performance/src/main/resources/testplans/performance.jmx @@ -10,7 +10,7 @@ <collectionProp name="Arguments.arguments"> <elementProp name="PAP_HOST" elementType="Argument"> <stringProp name="Argument.name">PAP_HOST</stringProp> - <stringProp name="Argument.value">${__P(paphost,172.19.0.8)}</stringProp> + <stringProp name="Argument.value">${__P(paphost,172.18.0.8)}</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> <elementProp name="PAP_PORT" elementType="Argument"> @@ -20,7 +20,7 @@ </elementProp> <elementProp name="API_HOST" elementType="Argument"> <stringProp name="Argument.name">API_HOST</stringProp> - <stringProp name="Argument.value">${__P(apihost,172.19.0.7)}</stringProp> + <stringProp name="Argument.value">${__P(apihost,172.18.0.7)}</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> <elementProp name="API_PORT" elementType="Argument"> @@ -30,7 +30,7 @@ </elementProp> <elementProp name="DISTRIBUTION_HOST" elementType="Argument"> <stringProp name="Argument.name">DISTRIBUTION_HOST</stringProp> - <stringProp name="Argument.value">${__P(disthost,172.19.0.3)}</stringProp> + <stringProp name="Argument.value">${__P(disthost,172.18.0.4)}</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> <elementProp name="DISTRIBUTION_PORT" elementType="Argument"> @@ -589,6 +589,51 @@ <hashTree/> </hashTree> </hashTree> + <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Assert Metrics" enabled="true"/> + <hashTree> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check Distribution Metrics" enabled="true"> + <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> + <collectionProp name="Arguments.arguments"/> + </elementProp> + <stringProp name="HTTPSampler.domain">${DISTRIBUTION_HOST}</stringProp> + <stringProp name="HTTPSampler.port">${DISTRIBUTION_PORT}</stringProp> + <stringProp name="HTTPSampler.protocol">http</stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">metrics</stringProp> + <stringProp name="HTTPSampler.method">GET</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> + </HTTPSamplerProxy> + <hashTree> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert metrics access" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="49586">200</stringProp> + </collectionProp> + <stringProp name="Assertion.custom_message"></stringProp> + <stringProp name="Assertion.test_field">Assertion.response_code</stringProp> + <boolProp name="Assertion.assume_success">false</boolProp> + <intProp name="Assertion.test_type">8</intProp> + <stringProp name="Scope.variable">policies_matchNr</stringProp> + </ResponseAssertion> + <hashTree/> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert metrics returned" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="3274718">jvm_</stringProp> + </collectionProp> + <stringProp name="Assertion.custom_message"></stringProp> + <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> + <boolProp name="Assertion.assume_success">false</boolProp> + <intProp name="Assertion.test_type">2</intProp> + <stringProp name="Scope.variable">policies_matchNr</stringProp> + </ResponseAssertion> + <hashTree/> + </hashTree> + </hashTree> <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="true"> <boolProp name="ResultCollector.error_logging">false</boolProp> <objProp> diff --git a/testsuites/performance/src/main/resources/testplans/run_test.sh b/testsuites/performance/src/main/resources/testplans/run_test.sh index 7b959587..1022a8e6 100755 --- a/testsuites/performance/src/main/resources/testplans/run_test.sh +++ b/testsuites/performance/src/main/resources/testplans/run_test.sh @@ -1,6 +1,6 @@ #!/bin/bash # ============LICENSE_START======================================================= -# Copyright (c) 2021 Nordix Foundation. +# Copyright (c) 2021-2022 Nordix Foundation. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,7 +18,7 @@ # ============LICENSE_END========================================================= DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -JMETER_HOME=~/jmeter/apache-jmeter-5.4.1/ +JMETER_HOME=~/jmeter/apache-jmeter-5.4.1 POLICY_API_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' policy-api) POLICY_PAP_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' policy-pap) diff --git a/testsuites/stability/src/main/resources/setup/config/apiParameters.yaml b/testsuites/stability/src/main/resources/setup/config/apiParameters.yaml new file mode 100644 index 00000000..e61653ac --- /dev/null +++ b/testsuites/stability/src/main/resources/setup/config/apiParameters.yaml @@ -0,0 +1,82 @@ +server: + port: 6969 + ssl: + enabled: false + +spring: + security.user: + name: policyadmin + password: zb!XztG34 + mvc.converters.preferred-json-mapper: gson + + datasource: + url: jdbc:mariadb://mariadb:3306/policyadmin + driverClassName: org.mariadb.jdbc.Driver + username: policy_user + password: policy_user + jpa: + properties: + hibernate: + dialect: org.hibernate.dialect.MariaDB103Dialect + hibernate: + ddl-auto: none + naming: + physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl + implicit-strategy: org.onap.policy.common.spring.utils.CustomImplicitNamingStrategy + +policy-api: + name: ApiGroup + aaf: false + +database: + name: PolicyProviderParameterGroup + implementation: org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl + driver: org.mariadb.jdbc.Driver + url: jdbc:mariadb://mariadb:3306/policyadmin + user: policy_user + password: policy_user + persistenceUnit: PolicyDb + +policy-preload: + policyTypes: + - policytypes/onap.policies.monitoring.tcagen2.yaml + - policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.yaml + - policytypes/onap.policies.monitoring.dcae-restconfcollector.yaml + - policytypes/onap.policies.monitoring.dcae-pm-subscription-handler.yaml + - policytypes/onap.policies.monitoring.dcae-pm-mapper.yaml + - policytypes/onap.policies.Optimization.yaml + - policytypes/onap.policies.optimization.Resource.yaml + - policytypes/onap.policies.optimization.Service.yaml + - policytypes/onap.policies.optimization.resource.AffinityPolicy.yaml + - policytypes/onap.policies.optimization.resource.DistancePolicy.yaml + - policytypes/onap.policies.optimization.resource.HpaPolicy.yaml + - policytypes/onap.policies.optimization.resource.OptimizationPolicy.yaml + - policytypes/onap.policies.optimization.resource.PciPolicy.yaml + - policytypes/onap.policies.optimization.service.QueryPolicy.yaml + - policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml + - policytypes/onap.policies.optimization.resource.Vim_fit.yaml + - policytypes/onap.policies.optimization.resource.VnfPolicy.yaml + - policytypes/onap.policies.controlloop.guard.Common.yaml + - policytypes/onap.policies.controlloop.guard.common.Blacklist.yaml + - policytypes/onap.policies.controlloop.guard.common.FrequencyLimiter.yaml + - policytypes/onap.policies.controlloop.guard.common.MinMax.yaml + - policytypes/onap.policies.controlloop.guard.common.Filter.yaml + - policytypes/onap.policies.controlloop.guard.coordination.FirstBlocksSecond.yaml + - policytypes/onap.policies.Naming.yaml + - policytypes/onap.policies.Match.yaml + - policytypes/onap.policies.native.Drools.yaml + - policytypes/onap.policies.native.Xacml.yaml + - policytypes/onap.policies.native.Apex.yaml + - policytypes/onap.policies.controlloop.operational.Common.yaml + - policytypes/onap.policies.controlloop.operational.common.Apex.yaml + - policytypes/onap.policies.controlloop.operational.common.Drools.yaml + policies: + - policies/sdnc.policy.naming.input.tosca.yaml + +management: + endpoints: + web: + base-path: / + exposure: + include: health,metrics,prometheus + path-mapping.prometheus: metrics diff --git a/testsuites/stability/src/main/resources/setup/config/jsonConfigs/apiConfigFile.json b/testsuites/stability/src/main/resources/setup/config/jsonConfigs/apiConfigFile.json deleted file mode 100644 index 63e0c4c6..00000000 --- a/testsuites/stability/src/main/resources/setup/config/jsonConfigs/apiConfigFile.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "ApiGroup", - "restServerParameters": { - "host": "0.0.0.0", - "port": 6969, - "userName": "policyadmin", - "password": "zb!XztG34", - "https": false, - "aaf": false, - "prometheus": false - }, - "databaseProviderParameters": { - "name": "PolicyProviderParameterGroup", - "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl", - "databaseDriver": "org.mariadb.jdbc.Driver", - "databaseUrl": "jdbc:mariadb://mariadb:3306/policyadmin", - "databaseUser": "policy_user", - "databasePassword": "policy_user", - "persistenceUnit": "PolicyMariaDb" - }, - "preloadPolicyTypes": [ - "policytypes/onap.policies.monitoring.tcagen2.yaml", - "policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.yaml", - "policytypes/onap.policies.monitoring.dcae-restconfcollector.yaml", - "policytypes/onap.policies.monitoring.dcae-pm-subscription-handler.yaml", - "policytypes/onap.policies.monitoring.dcae-pm-mapper.yaml", - "policytypes/onap.policies.Optimization.yaml", - "policytypes/onap.policies.optimization.Resource.yaml", - "policytypes/onap.policies.optimization.Service.yaml", - "policytypes/onap.policies.optimization.resource.AffinityPolicy.yaml", - "policytypes/onap.policies.optimization.resource.DistancePolicy.yaml", - "policytypes/onap.policies.optimization.resource.HpaPolicy.yaml", - "policytypes/onap.policies.optimization.resource.OptimizationPolicy.yaml", - "policytypes/onap.policies.optimization.resource.PciPolicy.yaml", - "policytypes/onap.policies.optimization.service.QueryPolicy.yaml", - "policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml", - "policytypes/onap.policies.optimization.resource.Vim_fit.yaml", - "policytypes/onap.policies.optimization.resource.VnfPolicy.yaml", - "policytypes/onap.policies.acm.guard.Common.yaml", - "policytypes/onap.policies.acm.guard.common.Blacklist.yaml", - "policytypes/onap.policies.acm.guard.common.FrequencyLimiter.yaml", - "policytypes/onap.policies.acm.guard.common.MinMax.yaml", - "policytypes/onap.policies.acm.guard.common.Filter.yaml", - "policytypes/onap.policies.acm.guard.coordination.FirstBlocksSecond.yaml", - "policytypes/onap.policies.Naming.yaml", - "policytypes/onap.policies.Match.yaml", - "policytypes/onap.policies.native.Drools.yaml", - "policytypes/onap.policies.native.Xacml.yaml", - "policytypes/onap.policies.native.Apex.yaml", - "policytypes/onap.policies.acm.operational.Common.yaml", - "policytypes/onap.policies.acm.operational.common.Apex.yaml", - "policytypes/onap.policies.acm.operational.common.Drools.yaml" - ], - "preloadPolicies" : [ - "policies/sdnc.policy.naming.input.tosca.yaml" - ] -} diff --git a/testsuites/stability/src/main/resources/setup/config/jsonConfigs/dmaapSimConfig.json b/testsuites/stability/src/main/resources/setup/config/jsonConfigs/dmaapSimConfig.json index fc08b0a8..ea8f7c03 100644 --- a/testsuites/stability/src/main/resources/setup/config/jsonConfigs/dmaapSimConfig.json +++ b/testsuites/stability/src/main/resources/setup/config/jsonConfigs/dmaapSimConfig.json @@ -1,15 +1,15 @@ { - "dmaapProvider": { - "name": "DMaaP simulator", - "topicSweepSec": 900 - }, - "restServers": [ - { - "name": "DMaaP simulator", - "providerClass": "org.onap.policy.models.sim.dmaap.rest.DmaapSimRestControllerV1", - "host": "0.0.0.0", - "port": 3904, - "https": false - } - ] + "dmaapProvider": { + "name": "DMaaP simulator", + "topicSweepSec": 900 + }, + "restServers": [ + { + "name": "DMaaP simulator", + "providerClass": "org.onap.policy.models.sim.dmaap.rest.DmaapSimRestControllerV1", + "host": "0.0.0.0", + "port": 3904, + "https": false + } + ] }
\ No newline at end of file diff --git a/testsuites/stability/src/main/resources/setup/config/jsonConfigs/papConfigFile.json b/testsuites/stability/src/main/resources/setup/config/jsonConfigs/papConfigFile.json deleted file mode 100644 index 9b6f3b40..00000000 --- a/testsuites/stability/src/main/resources/setup/config/jsonConfigs/papConfigFile.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "name": "PapGroup", - "restServerParameters": { - "host": "0.0.0.0", - "port": 6969, - "userName": "policyadmin", - "password": "zb!XztG34", - "https": false, - "aaf": false, - "prometheus": true - }, - "pdpParameters": { - "heartBeatMs": 300000, - "updateParameters": { - "maxRetryCount": 1, - "maxWaitMs": 30000 - }, - "stateChangeParameters": { - "maxRetryCount": 1, - "maxWaitMs": 30000 - } - }, - "databaseProviderParameters": { - "name": "PolicyProviderParameterGroup", - "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl", - "databaseDriver": "org.mariadb.jdbc.Driver", - "databaseUrl": "jdbc:mariadb://mariadb:3306/policyadmin", - "databaseUser": "policy_user", - "databasePassword": "policy_user", - "persistenceUnit": "PolicyMariaDb" - }, - "savePdpStatisticsInDb": true, - "topicParameterGroup": { - "topicSources" : [{ - "topic" : "POLICY-PDP-PAP", - "servers" : [ "message-router:3904" ], - "topicCommInfrastructure" : "dmaap", - "useHttps": false - }, - { - "topic" : "POLICY-HEARTBEAT", - "effectiveTopic": "POLICY-PDP-PAP", - "consumerGroup": "policy-pap", - "servers" : [ "message-router:3904" ], - "topicCommInfrastructure" : "dmaap", - "useHttps": false - }], - "topicSinks" : [{ - "topic" : "POLICY-PDP-PAP", - "servers" : [ "message-router:3904" ], - "topicCommInfrastructure" : "dmaap", - "useHttps": false - }, - { - "topic" : "POLICY-NOTIFICATION", - "servers" : [ "message-router:3904" ], - "topicCommInfrastructure" : "dmaap", - "useHttps": false - }] - }, - "healthCheckRestClientParameters":[{ - "clientName": "api", - "hostname": "policy-api", - "port": 6969, - "userName": "policyadmin", - "password": "zb!XztG34", - "useHttps": false, - "basePath": "policy/api/v1/healthcheck" - }] -} diff --git a/testsuites/stability/src/main/resources/setup/config/jsonConfigs/papGroups.json b/testsuites/stability/src/main/resources/setup/config/jsonConfigs/papGroups.json new file mode 100644 index 00000000..c7fb6f19 --- /dev/null +++ b/testsuites/stability/src/main/resources/setup/config/jsonConfigs/papGroups.json @@ -0,0 +1,28 @@ +{ + "groups": [ + { + "name": "defaultGroup", + "version": "1.0.0", + "description": "The default group that registers all supported policy types and pdps.", + "pdpGroupState": "ACTIVE", + "pdpSubgroups": [ + { + "pdpType": "apex", + "supportedPolicyTypes": [ + { + "name": "onap.policies.controlloop.operational.common.Apex", + "version": "1.0.0" + }, + { + "name": "onap.policies.native.Apex", + "version": "1.0.0" + } + ], + "currentInstanceCount": 1, + "desiredInstanceCount": 1, + "policies": [] + } + ] + } + ] +} diff --git a/testsuites/stability/src/main/resources/setup/config/jsonConfigs/pdpSimConfig.json b/testsuites/stability/src/main/resources/setup/config/jsonConfigs/pdpSimConfig.json index ee832326..d809955f 100644 --- a/testsuites/stability/src/main/resources/setup/config/jsonConfigs/pdpSimConfig.json +++ b/testsuites/stability/src/main/resources/setup/config/jsonConfigs/pdpSimConfig.json @@ -1,25 +1,39 @@ { - "name":"OnapPfParameterGroup", - "pdpStatusParameters": { - "pdpGroup": "defaultGroup", - "timeIntervalMs": 120000, - "pdpType":"apex", - "description":"Pdp Heartbeat", - "supportedPolicyTypes":[ - {"name":"onap.policies.acm.operational.common.Apex","version":"1.0.0"}, - {"name":"onap.policies.native.Apex","version":"1.0.0"} - ] - }, - "topicParameterGroup": { - "topicSources" : [{ - "topic" : "POLICY-PDP-PAP", - "servers" : [ "message-router:3904" ], - "topicCommInfrastructure" : "dmaap" - }], - "topicSinks" : [{ - "topic" : "POLICY-PDP-PAP", - "servers" : [ "message-router:3904" ], - "topicCommInfrastructure" : "dmaap" - }] - } + "name": "OnapPfParameterGroup", + "pdpStatusParameters": { + "pdpGroup": "defaultGroup", + "timeIntervalMs": 120000, + "pdpType": "apex", + "description": "Pdp Heartbeat", + "supportedPolicyTypes": [ + { + "name": "onap.policies.controlloop.operational.common.Apex", + "version": "1.0.0" + }, + { + "name": "onap.policies.native.Apex", + "version": "1.0.0" + } + ] + }, + "topicParameterGroup": { + "topicSources": [ + { + "topic": "POLICY-PDP-PAP", + "servers": [ + "message-router:3904" + ], + "topicCommInfrastructure": "dmaap" + } + ], + "topicSinks": [ + { + "topic": "POLICY-PDP-PAP", + "servers": [ + "message-router:3904" + ], + "topicCommInfrastructure": "dmaap" + } + ] + } } diff --git a/testsuites/stability/src/main/resources/setup/config/papParameters.yaml b/testsuites/stability/src/main/resources/setup/config/papParameters.yaml new file mode 100644 index 00000000..bb050205 --- /dev/null +++ b/testsuites/stability/src/main/resources/setup/config/papParameters.yaml @@ -0,0 +1,83 @@ +spring: + security: + user: + name: policyadmin + password: zb!XztG34 + http: + converters: + preferred-json-mapper: gson + datasource: + url: jdbc:mariadb://mariadb:3306/policyadmin + driverClassName: org.mariadb.jdbc.Driver + username: policy_user + password: policy_user + jpa: + properties: + hibernate: + dialect: org.hibernate.dialect.MariaDB103Dialect + hibernate: + ddl-auto: none + naming: + physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl + implicit-strategy: org.onap.policy.common.spring.utils.CustomImplicitNamingStrategy + +server: + port: 6969 + ssl: + enabled: false + +pap: + name: PapGroup + aaf: false + pdpParameters: + heartBeatMs: 120000 + updateParameters: + maxRetryCount: 1 + maxWaitMs: 30000 + stateChangeParameters: + maxRetryCount: 1 + maxWaitMs: 30000 + savePdpStatisticsInDb: true + topicParameterGroup: + topicSources: + - topic: POLICY-PDP-PAP + servers: + - message-router + topicCommInfrastructure: dmaap + useHttps: false + fetchTimeout: 15000 + - topic: POLICY-HEARTBEAT + effectiveTopic: POLICY-PDP-PAP + consumerGroup: policy-pap + servers: + - message-router + topicCommInfrastructure: dmaap + useHttps: false + fetchTimeout: 15000 + topicSinks: + - topic: POLICY-PDP-PAP + servers: + - message-router + topicCommInfrastructure: dmaap + useHttps: false + - topic: POLICY-NOTIFICATION + servers: + - message-router + topicCommInfrastructure: dmaap + useHttps: false + healthCheckRestClientParameters: + - clientName: api + hostname: policy-api + port: 6969 + userName: policyadmin + password: zb!XztG34 + useHttps: false + basePath: policy/api/v1/healthcheck + +management: + endpoints: + web: + base-path: / + exposure: + include: health, metrics, prometheus + path-mapping.prometheus: metrics diff --git a/testsuites/stability/src/main/resources/setup/distribution/etc/defaultConfig.json b/testsuites/stability/src/main/resources/setup/distribution/etc/defaultConfig.json index 8a5b769e..0dda1952 100644 --- a/testsuites/stability/src/main/resources/setup/distribution/etc/defaultConfig.json +++ b/testsuites/stability/src/main/resources/setup/distribution/etc/defaultConfig.json @@ -4,7 +4,9 @@ "host": "0.0.0.0", "port": 6969, "userName": "healthcheck", - "password": "zb!XztG34" + "password": "zb!XztG34", + "https": false, + "prometheus": true }, "receptionHandlerParameters": { "S3PReceptionHandler": { @@ -13,12 +15,12 @@ "receptionHandlerConfigurationName": "fileConfiguration", "pluginHandlerParameters": { "policyDecoders": { - "ToscaPolicyDecoder":{ - "decoderType":"ToscaPolicyDecoder", - "decoderClassName":"org.onap.policy.distribution.reception.decoding.policy.file.PolicyDecoderFileInCsarToPolicy", + "ToscaPolicyDecoder": { + "decoderType": "ToscaPolicyDecoder", + "decoderClassName": "org.onap.policy.distribution.reception.decoding.policy.file.PolicyDecoderFileInCsarToPolicy", "decoderConfigurationName": "toscaPolicyDecoderConfiguration" }, - "ToscaAutomationCompositionDecoder": { + "ToscaAutomationCompositionDecoder": { "decoderType": "ToscaAutomationCompositionDecoder", "decoderClassName": "org.onap.policy.distribution.reception.decoding.policy.file.AutomationCompositionDecoderFileInCsar", "decoderConfigurationName": "toscaAutomationCompositionDecoderConfiguration" @@ -49,9 +51,9 @@ } }, "policyDecoderConfigurationParameters": { - "toscaPolicyDecoderConfiguration":{ - "parameterClassName":"org.onap.policy.distribution.reception.decoding.policy.file.PolicyDecoderFileInCsarToPolicyParameterGroup", - "parameters":{ + "toscaPolicyDecoderConfiguration": { + "parameterClassName": "org.onap.policy.distribution.reception.decoding.policy.file.PolicyDecoderFileInCsarToPolicyParameterGroup", + "parameters": { "policyFileName": "tosca_policy", "policyTypeFileName": "tosca_policy_type" } @@ -63,7 +65,6 @@ } } }, - "policyForwarderConfigurationParameters": { "lifecycleApiPolicyConfiguration": { "parameterClassName": "org.onap.policy.distribution.forwarding.lifecycle.api.LifecycleApiForwarderParameters", @@ -94,8 +95,8 @@ "clientName": "policy-clamp-runtime-acm", "hostname": "policy-clamp-runtime-acm", "port": 6969, - "useHttps": true, - "userName": "policyadmin", + "useHttps": false, + "userName": "runtimeUser", "password": "zb!XztG34" } } diff --git a/testsuites/stability/src/main/resources/setup/distribution/etc/logback.xml b/testsuites/stability/src/main/resources/setup/distribution/etc/logback.xml index 34a40204..82f6d3b4 100644 --- a/testsuites/stability/src/main/resources/setup/distribution/etc/logback.xml +++ b/testsuites/stability/src/main/resources/setup/distribution/etc/logback.xml @@ -1,7 +1,7 @@ <!-- ============LICENSE_START======================================================= Copyright (C) 2018 Ericsson. All rights reserved. - Modifications Copyright (C) 2021 Nordix Foundation. + Modifications Copyright (C) 2021-2022 Nordix Foundation. ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -102,7 +102,7 @@ <appender-ref ref="AsyncNetworkOut" /> </logger> - <root level="ERROR"> + <root level="DEBUG"> <appender-ref ref="AsyncDebugOut" /> <appender-ref ref="AsyncErrorOut" /> </root> diff --git a/testsuites/stability/src/main/resources/setup/docker-compose.yml b/testsuites/stability/src/main/resources/setup/docker-compose.yml index fac04fa2..48d1851e 100644 --- a/testsuites/stability/src/main/resources/setup/docker-compose.yml +++ b/testsuites/stability/src/main/resources/setup/docker-compose.yml @@ -1,5 +1,6 @@ -# Copyright (C) 2021 Nordix Foundation. -# +# ============LICENSE_START======================================================= +# Copyright (C) 2021-2022 Nordix Foundation. +# ================================================================================ # 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 @@ -11,115 +12,119 @@ # 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. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= version: '3' services: - mariadb: - image: nexus3.onap.org:10001/mariadb:${POLICY_MARIADB_VER} - container_name: mariadb - hostname: mariadb - command: [ '--lower-case-table-names=1', '--wait_timeout=28800' ] - env_file: config/db/db.conf - volumes: - - ./config/db:/docker-entrypoint-initdb.d:ro - expose: - - 3306 - policy-db-migrator: - image: nexus3.onap.org:10001/onap/policy-db-migrator:${POLICY_DB_MIGRATOR} - container_name: policy-db-migrator - hostname: policy-db-migrator - depends_on: - - mariadb - expose: - - 6824 - env_file: config/db/db.conf - environment: - SQL_DB: policyadmin - SQL_HOST: mariadb - volumes: - - ./config/db-migrator/db_migrator_policy_init.sh:/opt/app/policy/bin/db_migrator_policy_init.sh:ro - - ./config/wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro - entrypoint: /opt/app/policy/bin/wait_for_port.sh - command: [ - '-c', - '/opt/app/policy/bin/db_migrator_policy_init.sh', - 'mariadb', '3306' - ] - simulator: - image: nexus3.onap.org:10001/onap/policy-models-simulator:${POLICY_MODELS_SIMULATOR} - container_name: simulator - hostname: simulator - networks: - default: - aliases: - - message-router - expose: - - 3904 - volumes: - - ./config/jsonConfigs/dmaapSimConfig.json:/opt/app/policy/simulators/etc/mounted/simParameters.json:ro - pdp: - image: pdp/simulator - container_name: pdp-simulator - depends_on: - - simulator - hostname: pdp-simulator - volumes: - - ./config/wait_for_port.sh:/opt/app/policy/pdp-sim/bin/wait_for_port.sh:ro - - ./config/jsonConfigs/pdpSimConfig.json:/opt/app/policy/pdp-sim/etc/config/OnapPfConfig.json:ro - policy-api: - image: nexus3.onap.org:10001/onap/policy-api:${POLICY_API_VERSION} - container_name: policy-api - hostname: policy-api - expose: - - 6969 - depends_on: - - policy-db-migrator - volumes: - - ./config/jsonConfigs/apiConfigFile.json:/opt/app/policy/api/etc/defaultConfig.json:ro - - ./config/wait_for_port.sh:/opt/app/policy/api/bin/wait_for_port.sh:ro - entrypoint: /opt/app/policy/api/bin/wait_for_port.sh - command: [ - '-c', './policy-api.sh', - 'mariadb', '3306', - 'policy-db-migrator', '6824' - ] - policy-pap: - image: nexus3.onap.org:10001/onap/policy-pap:${POLICY_PAP_VERSION} - container_name: policy-pap - hostname: policy-pap - expose: - - 6969 - depends_on: - - policy-db-migrator - - simulator - - policy-api - volumes: - - ./config/wait_for_port.sh:/opt/app/policy/pap/bin/wait_for_port.sh:ro - - ./config/jsonConfigs/papConfigFile.json:/opt/app/policy/pap/etc/defaultConfig.json:ro - entrypoint: /opt/app/policy/pap/bin/wait_for_port.sh - command: [ - '-c', './policy-pap.sh', - 'mariadb', '3306', - 'message-router', '3904', - 'policy-api', '6969' - ] - policy-dist: - image: nexus3.onap.org:10001/onap/policy-distribution:${POLICY_DIST_VERSION} - volumes: - - /tmp/policydistribution/distributionmount:/home/policydistribution - - ./distribution/bin/policy-dist.sh:/opt/app/policy/distribution/bin/policy-dist.sh - - ./distribution/etc/defaultConfig.json:/opt/app/policy/distribution/etc/defaultConfig.json - - ./distribution/etc/logback.xml:/opt/app/policy/distribution/etc/logback.xml - - ./config/wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro - expose: - - 6969 - - 9090 - container_name: policy-distribution - entrypoint: /opt/app/policy/bin/wait_for_port.sh - command: [ - '-c', './policy-dist.sh', - 'mariadb', '3306', - 'message-router', '3904', - 'policy-api', '6969', - 'policy-pap', '6969' - ] + mariadb: + image: nexus3.onap.org:10001/mariadb:${POLICY_MARIADB_VER} + container_name: mariadb + hostname: mariadb + command: [ '--lower-case-table-names=1', '--wait_timeout=28800' ] + env_file: config/db/db.conf + volumes: + - ./config/db:/docker-entrypoint-initdb.d:ro + expose: + - 3306 + policy-db-migrator: + image: nexus3.onap.org:10001/onap/policy-db-migrator:${POLICY_DB_MIGRATOR} + container_name: policy-db-migrator + hostname: policy-db-migrator + depends_on: + - mariadb + expose: + - 6824 + env_file: config/db/db.conf + environment: + SQL_DB: policyadmin + SQL_HOST: mariadb + volumes: + - ./config/db-migrator/db_migrator_policy_init.sh:/opt/app/policy/bin/db_migrator_policy_init.sh:ro + - ./config/wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro + entrypoint: /opt/app/policy/bin/wait_for_port.sh + command: [ + '-c', + '/opt/app/policy/bin/db_migrator_policy_init.sh', + 'mariadb', '3306' + ] + simulator: + image: nexus3.onap.org:10001/onap/policy-models-simulator:${POLICY_MODELS_SIMULATOR} + container_name: simulator + hostname: simulator + networks: + default: + aliases: + - message-router + expose: + - 3904 + volumes: + - ./config/jsonConfigs/dmaapSimConfig.json:/opt/app/policy/simulators/etc/mounted/simParameters.json:ro + pdp: + image: pdp/simulator + container_name: pdp-simulator + depends_on: + - simulator + hostname: pdp-simulator + volumes: + - ./config/wait_for_port.sh:/opt/app/policy/pdp-sim/bin/wait_for_port.sh:ro + - ./config/jsonConfigs/pdpSimConfig.json:/opt/app/policy/pdp-sim/etc/config/OnapPfConfig.json:ro + policy-api: + image: nexus3.onap.org:10001/onap/policy-api:${POLICY_API_VERSION} + container_name: policy-api + hostname: policy-api + expose: + - 6969 + depends_on: + - policy-db-migrator + volumes: + - ./config/apiParameters.yaml:/opt/app/policy/api/etc/apiParameters.yaml:ro + - ./config/wait_for_port.sh:/opt/app/policy/api/bin/wait_for_port.sh:ro + entrypoint: /opt/app/policy/api/bin/wait_for_port.sh + command: [ + '-c', './policy-api.sh', + 'mariadb', '3306', + 'policy-db-migrator', '6824' + ] + policy-pap: + image: nexus3.onap.org:10001/onap/policy-pap:${POLICY_PAP_VERSION} + container_name: policy-pap + hostname: policy-pap + expose: + - 6969 + depends_on: + - policy-db-migrator + - simulator + - policy-api + volumes: + - ./config/wait_for_port.sh:/opt/app/policy/pap/bin/wait_for_port.sh:ro + - ./config/papParameters.yaml:/opt/app/policy/pap/etc/papParameters.yaml:ro + - ./config/jsonConfigs/papGroups.json:/opt/app/policy/pap/etc/mounted/groups.json:ro + entrypoint: /opt/app/policy/pap/bin/wait_for_port.sh + command: [ + '-c', './policy-pap.sh', + 'mariadb', '3306', + 'message-router', '3904', + 'policy-api', '6969' + ] + policy-dist: + image: nexus3.onap.org:10001/onap/policy-distribution:${POLICY_DIST_VERSION} + volumes: + - /tmp/policydistribution/distributionmount:/home/policydistribution + - ./distribution/bin/policy-dist.sh:/opt/app/policy/distribution/bin/policy-dist.sh + - ./distribution/etc/defaultConfig.json:/opt/app/policy/distribution/etc/defaultConfig.json + - ./distribution/etc/logback.xml:/opt/app/policy/distribution/etc/logback.xml + - ./config/wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro + expose: + - 6969 + - 9090 + container_name: policy-distribution + entrypoint: /opt/app/policy/bin/wait_for_port.sh + command: [ + '-c', './policy-dist.sh', + 'mariadb', '3306', + 'message-router', '3904', + 'policy-api', '6969', + 'policy-pap', '6969' + ] diff --git a/testsuites/stability/src/main/resources/setup/start.sh b/testsuites/stability/src/main/resources/setup/start.sh index e163f2b8..765c5b64 100755 --- a/testsuites/stability/src/main/resources/setup/start.sh +++ b/testsuites/stability/src/main/resources/setup/start.sh @@ -1,6 +1,6 @@ #!/bin/bash # ============LICENSE_START======================================================= -# Copyright (c) 2021 Nordix Foundation. +# Copyright (c) 2021-2022 Nordix Foundation. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -33,9 +33,10 @@ if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then fi # bring down maven -curl -O -s -S https://dlcdn.apache.org/maven/maven-3/3.8.3/binaries/apache-maven-3.8.3-bin.tar.gz -tar -xzvf apache-maven-3.8.3-bin.tar.gz -MAVEN="${WORK_DIR}"/apache-maven-3.8.3/bin/mvn +curl -s -S https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz > apache-maven.tar.gz +mkdir -p apache-maven && tar -xzvf apache-maven.tar.gz -C apache-maven --strip-components 1 + +MAVEN="${WORK_DIR}"/apache-maven/bin/mvn $MAVEN -v echo "" @@ -55,7 +56,7 @@ sudo mkdir -p /tmp/policydistribution/distributionmount sudo chmod -R a+trwx /tmp # start containers on the background -docker-compose up --detach +docker-compose up -d echo "" # check if all containers are up - db-migrator will shutdown after a while diff --git a/testsuites/stability/src/main/resources/setup/versions.sh b/testsuites/stability/src/main/resources/setup/versions.sh index ff156b8f..1ac71df5 100755 --- a/testsuites/stability/src/main/resources/setup/versions.sh +++ b/testsuites/stability/src/main/resources/setup/versions.sh @@ -19,11 +19,11 @@ # update versions here export POLICY_MARIADB_VER=10.5.8 -export POLICY_DB_MIGRATOR=2.3.1 -export POLICY_API_VERSION=2.5.1 -export POLICY_PAP_VERSION=2.5.1 -export POLICY_MODELS_SIMULATOR=latest -export POLICY_DIST_VERSION=2.6.1 +export POLICY_DB_MIGRATOR=2.4-SNAPSHOT-latest +export POLICY_API_VERSION=2.6-SNAPSHOT-latest +export POLICY_PAP_VERSION=2.6-SNAPSHOT-latest +export POLICY_MODELS_SIMULATOR=2.6-SNAPSHOT-latest +export POLICY_DIST_VERSION=2.7-SNAPSHOT-latest echo " MariaDB Version: ${POLICY_MARIADB_VER}" echo " Policy DB Migrator Version: ${POLICY_DB_MIGRATOR}" diff --git a/testsuites/stability/src/main/resources/testplans/run_test.sh b/testsuites/stability/src/main/resources/testplans/run_test.sh index f59035fb..edef48b6 100755 --- a/testsuites/stability/src/main/resources/testplans/run_test.sh +++ b/testsuites/stability/src/main/resources/testplans/run_test.sh @@ -1,6 +1,6 @@ #!/bin/bash # ============LICENSE_START======================================================= -# Copyright (c) 2021 Nordix Foundation. +# Copyright (c) 2021-2022 Nordix Foundation. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -20,7 +20,7 @@ echo "Starting stability test against distribution component..." DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -JMETER_HOME=~/jmeter/apache-jmeter-5.4.1/ +JMETER_HOME=~/jmeter/apache-jmeter-5.4.1 POLICY_API_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' policy-api) POLICY_PAP_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' policy-pap) diff --git a/testsuites/stability/src/main/resources/testplans/sample_csar_with_apex_policy.csar b/testsuites/stability/src/main/resources/testplans/sample_csar_with_apex_policy.csar Binary files differindex f1c5fe8a..a41247e2 100644 --- a/testsuites/stability/src/main/resources/testplans/sample_csar_with_apex_policy.csar +++ b/testsuites/stability/src/main/resources/testplans/sample_csar_with_apex_policy.csar diff --git a/testsuites/stability/src/main/resources/testplans/stability.jmx b/testsuites/stability/src/main/resources/testplans/stability.jmx index 8022d607..75810c04 100644 --- a/testsuites/stability/src/main/resources/testplans/stability.jmx +++ b/testsuites/stability/src/main/resources/testplans/stability.jmx @@ -35,7 +35,7 @@ </elementProp> <elementProp name="API_HOST" elementType="Argument"> <stringProp name="Argument.name">API_HOST</stringProp> - <stringProp name="Argument.value">${__P(apihost,172.19.0.7)}</stringProp> + <stringProp name="Argument.value">${__P(apihost,172.18.0.7)}</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> <elementProp name="API_PORT" elementType="Argument"> @@ -45,7 +45,7 @@ </elementProp> <elementProp name="PAP_HOST" elementType="Argument"> <stringProp name="Argument.name">PAP_HOST</stringProp> - <stringProp name="Argument.value">${__P(paphost,172.19.0.8)}</stringProp> + <stringProp name="Argument.value">${__P(paphost,172.18.0.8)}</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> <elementProp name="PAP_PORT" elementType="Argument"> @@ -55,7 +55,7 @@ </elementProp> <elementProp name="DISTRIBUTION_HOST" elementType="Argument"> <stringProp name="Argument.name">DISTRIBUTION_HOST</stringProp> - <stringProp name="Argument.value">${__P(disthost,172.19.0.2)}</stringProp> + <stringProp name="Argument.value">${__P(disthost,172.18.0.3)}</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> <elementProp name="DISTRIBUTION_PORT" elementType="Argument"> @@ -250,66 +250,74 @@ <hashTree/> </hashTree> </hashTree> + <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Metrics" enabled="true"/> + <hashTree> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Metrics" enabled="true"> + <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> + <collectionProp name="Arguments.arguments"/> + </elementProp> + <stringProp name="HTTPSampler.domain">${DISTRIBUTION_HOST}</stringProp> + <stringProp name="HTTPSampler.port">${DISTRIBUTION_PORT}</stringProp> + <stringProp name="HTTPSampler.protocol">http</stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">metrics</stringProp> + <stringProp name="HTTPSampler.method">GET</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> + </HTTPSamplerProxy> + <hashTree> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="49586">200</stringProp> + </collectionProp> + <stringProp name="Assertion.custom_message"></stringProp> + <stringProp name="Assertion.test_field">Assertion.response_code</stringProp> + <boolProp name="Assertion.assume_success">false</boolProp> + <intProp name="Assertion.test_type">8</intProp> + </ResponseAssertion> + <hashTree/> + </hashTree> + </hashTree> <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Check for Policy Deployment" enabled="true"/> <hashTree> - <JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="Clean check variables" enabled="true"> - <stringProp name="cacheKey">true</stringProp> - <stringProp name="filename"></stringProp> - <stringProp name="parameters"></stringProp> - <stringProp name="script">vars.put("DEPLOY_STATUS", "notset");</stringProp> - <stringProp name="scriptLanguage">beanshell</stringProp> - </JSR223Sampler> + <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Wait policy process" enabled="true"> + <stringProp name="ConstantTimer.delay">120000</stringProp> + </ConstantTimer> <hashTree/> - <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="Loop for Policy Deploy" enabled="true"> - <stringProp name="WhileController.condition">${__jexl3("${DEPLOY_STATUS}"!="true")}</stringProp> - </WhileController> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check Policy Deployed" enabled="true"> + <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> + <collectionProp name="Arguments.arguments"/> + </elementProp> + <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp> + <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp> + <stringProp name="HTTPSampler.protocol">http</stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">/policy/pap/v1/policies/status/defaultGroup/operational.apex.sampledomain/1.0.0</stringProp> + <stringProp name="HTTPSampler.method">GET</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> + </HTTPSamplerProxy> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check Policy Deployed" enabled="true"> - <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> - <collectionProp name="Arguments.arguments"/> - </elementProp> - <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp> - <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp> - <stringProp name="HTTPSampler.protocol">http</stringProp> - <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">/policy/pap/v1/policies/status/defaultGroup/operational.apex.sampledomain/1.0.0</stringProp> - <stringProp name="HTTPSampler.method">GET</stringProp> - <boolProp name="HTTPSampler.follow_redirects">true</boolProp> - <boolProp name="HTTPSampler.auto_redirects">false</boolProp> - <boolProp name="HTTPSampler.use_keepalive">true</boolProp> - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> - <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> - </HTTPSamplerProxy> - <hashTree> - <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Deploy status" enabled="true"> - <stringProp name="RegexExtractor.useHeaders">false</stringProp> - <stringProp name="RegexExtractor.refname">DEPLOY_STATUS</stringProp> - <stringProp name="RegexExtractor.regex">"deploy":(.+?),"state":"SUCCESS"</stringProp> - <stringProp name="RegexExtractor.template">$1$</stringProp> - <stringProp name="RegexExtractor.default">NotFound</stringProp> - <stringProp name="RegexExtractor.match_number">1</stringProp> - </RegexExtractor> - <hashTree/> - </hashTree> - <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If not valid, wait a min" enabled="true"> - <stringProp name="IfController.condition">${__jexl3("${DEPLOY_STATUS}"!="true")}</stringProp> - <boolProp name="IfController.evaluateAll">false</boolProp> - <boolProp name="IfController.useExpression">true</boolProp> - </IfController> - <hashTree> - <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Wait a minute" enabled="true"> - <stringProp name="ConstantTimer.delay">60000</stringProp> - </ConstantTimer> - <hashTree/> - <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Waiting" enabled="true"> - <boolProp name="displayJMeterProperties">false</boolProp> - <boolProp name="displayJMeterVariables">true</boolProp> - <boolProp name="displaySystemProperties">false</boolProp> - </DebugSampler> - <hashTree/> - </hashTree> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="585585327">"deploy":true</stringProp> + </collectionProp> + <stringProp name="Assertion.custom_message"></stringProp> + <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> + <boolProp name="Assertion.assume_success">false</boolProp> + <intProp name="Assertion.test_type">2</intProp> + </ResponseAssertion> + <hashTree/> </hashTree> </hashTree> <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Assert Policy Deployment" enabled="true"/> @@ -364,7 +372,7 @@ <hashTree> <JSONPathAssertion guiclass="JSONPathAssertionGui" testclass="JSONPathAssertion" testname="Assert Policy Type" enabled="true"> <stringProp name="JSON_PATH">$[:2].policy-type</stringProp> - <stringProp name="EXPECTED_VALUE">onap.policies.acm.operational.common.Apex</stringProp> + <stringProp name="EXPECTED_VALUE">onap.policies.controlloop.operational.common.Apex</stringProp> <boolProp name="JSONVALIDATION">true</boolProp> <boolProp name="EXPECT_NULL">false</boolProp> <boolProp name="INVERT">false</boolProp> @@ -417,64 +425,39 @@ </hashTree> <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Check for Policy Undeploy" enabled="true"/> <hashTree> - <JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="Clean check variables" enabled="true"> - <stringProp name="cacheKey">true</stringProp> - <stringProp name="filename"></stringProp> - <stringProp name="parameters"></stringProp> - <stringProp name="script">vars.put("DEPLOY_STATUS", "notset");</stringProp> - <stringProp name="scriptLanguage">groovy</stringProp> - </JSR223Sampler> + <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Wait process" enabled="true"> + <stringProp name="ConstantTimer.delay">60000</stringProp> + </ConstantTimer> <hashTree/> - <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="Loop for Policy Status" enabled="true"> - <stringProp name="WhileController.condition">${__jexl3("${DEPLOY_STATUS}"!="[]")}</stringProp> - </WhileController> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check Policy Undeployed" enabled="true"> + <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> + <collectionProp name="Arguments.arguments"/> + </elementProp> + <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp> + <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp> + <stringProp name="HTTPSampler.protocol">http</stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">/policy/pap/v1/policies/status/</stringProp> + <stringProp name="HTTPSampler.method">GET</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> + </HTTPSamplerProxy> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check Policy Undeployed" enabled="true"> - <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> - <collectionProp name="Arguments.arguments"/> - </elementProp> - <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp> - <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp> - <stringProp name="HTTPSampler.protocol">http</stringProp> - <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">/policy/pap/v1/policies/status/</stringProp> - <stringProp name="HTTPSampler.method">GET</stringProp> - <boolProp name="HTTPSampler.follow_redirects">true</boolProp> - <boolProp name="HTTPSampler.auto_redirects">false</boolProp> - <boolProp name="HTTPSampler.use_keepalive">true</boolProp> - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> - <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> - </HTTPSamplerProxy> - <hashTree> - <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Extract Deploy status" enabled="true"> - <stringProp name="RegexExtractor.useHeaders">false</stringProp> - <stringProp name="RegexExtractor.refname">DEPLOY_STATUS</stringProp> - <stringProp name="RegexExtractor.regex">(\W{2})</stringProp> - <stringProp name="RegexExtractor.template">$1$</stringProp> - <stringProp name="RegexExtractor.default">NotFound</stringProp> - <stringProp name="RegexExtractor.match_number">1</stringProp> - </RegexExtractor> - <hashTree/> - </hashTree> - <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If not valid, wait a min" enabled="true"> - <stringProp name="IfController.condition">${__jexl3("${DEPLOY_STATUS}"!="[]")}</stringProp> - <boolProp name="IfController.evaluateAll">false</boolProp> - <boolProp name="IfController.useExpression">true</boolProp> - </IfController> - <hashTree> - <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Wait a minute" enabled="true"> - <stringProp name="ConstantTimer.delay">60000</stringProp> - </ConstantTimer> - <hashTree/> - <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Waiting" enabled="true"> - <boolProp name="displayJMeterProperties">false</boolProp> - <boolProp name="displayJMeterVariables">true</boolProp> - <boolProp name="displaySystemProperties">false</boolProp> - </DebugSampler> - <hashTree/> - </hashTree> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="2914">[]</stringProp> + </collectionProp> + <stringProp name="Assertion.custom_message"></stringProp> + <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> + <boolProp name="Assertion.assume_success">false</boolProp> + <intProp name="Assertion.test_type">2</intProp> + </ResponseAssertion> + <hashTree/> </hashTree> </hashTree> <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Assert Policy Deleted" enabled="true"/> |