aboutsummaryrefslogtreecommitdiffstats
path: root/plans
diff options
context:
space:
mode:
Diffstat (limited to 'plans')
-rw-r--r--plans/aaf/aafapi/setup.sh18
-rwxr-xr-xplans/dcaegen2-collectors-restconf/testsuites/setup.sh13
-rw-r--r--plans/dcaegen2-pmmapper/pmmapper/assets/addFeed3.txt44
-rw-r--r--plans/dcaegen2-pmmapper/pmmapper/assets/addSubscriber.txt35
-rw-r--r--plans/dcaegen2-pmmapper/pmmapper/assets/node.properties87
-rw-r--r--plans/dcaegen2-pmmapper/pmmapper/assets/provserver.properties60
-rw-r--r--plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-e2e.yml67
-rw-r--r--plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-pmmapper.yml14
-rw-r--r--plans/dcaegen2-pmmapper/pmmapper/docker-compose.yml117
-rw-r--r--plans/dcaegen2-pmmapper/pmmapper/setup.sh173
-rw-r--r--plans/dcaegen2-pmmapper/pmmapper/teardown.sh13
-rwxr-xr-xplans/dcaegen2/testsuites/setup.sh5
-rw-r--r--plans/policy/apex-pdp/setup.sh36
-rw-r--r--plans/policy/api/setup.sh4
-rw-r--r--plans/policy/distribution/setup.sh40
-rwxr-xr-xplans/policy/drools-applications/setup.sh6
-rw-r--r--plans/policy/pap/setup.sh6
-rw-r--r--plans/policy/xacml-pdp/setup.sh39
-rw-r--r--plans/so/integration-etsi-testing/so-simulators/aai-simulator/pom.xml16
-rw-r--r--plans/so/integration-etsi-testing/so-simulators/pom.xml31
-rw-r--r--plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/controller/OperationsController.java5
-rw-r--r--plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/providers/ServiceOperationsCacheServiceProviderimpl.java20
-rw-r--r--plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/test/java/org/onap/so/sdncsimulator/controller/OperationsControllerTest.java19
-rw-r--r--plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-api/pom.xml223
-rw-r--r--plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/api/VeVnfmApi.java86
-rw-r--r--plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/services/OperationProgressor.java7
-rw-r--r--plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/util/PatternContainedChecker.java38
27 files changed, 792 insertions, 430 deletions
diff --git a/plans/aaf/aafapi/setup.sh b/plans/aaf/aafapi/setup.sh
index d618f534..d2b04433 100644
--- a/plans/aaf/aafapi/setup.sh
+++ b/plans/aaf/aafapi/setup.sh
@@ -91,15 +91,15 @@ if [ -z "$SKIP_PULL" ]; then
NEXUS_PASSWD=anonymous
echo "$NEXUS_PASSWD" | docker login -u $NEXUS_USERNAME --password-stdin $DOCKER_REPOSITORY
- docker pull $DOCKER_REPOSITORY/onap/aaf/aaf-cass:$AAF_DOCKER_VERSION
- docker pull $DOCKER_REPOSITORY/onap/aaf/aaf-config:$AAF_DOCKER_VERSION
- docker pull $DOCKER_REPOSITORY/onap/aaf/aaf-cm:$AAF_DOCKER_VERSION
- docker pull $DOCKER_REPOSITORY/onap/aaf/aaf-fs:$AAF_DOCKER_VERSION
- docker pull $DOCKER_REPOSITORY/onap/aaf/aaf-gui:$AAF_DOCKER_VERSION
- docker pull $DOCKER_REPOSITORY/onap/aaf/aaf-hello:$AAF_DOCKER_VERSION
- docker pull $DOCKER_REPOSITORY/onap/aaf/aaf-locate:$AAF_DOCKER_VERSION
- docker pull $DOCKER_REPOSITORY/onap/aaf/aaf-oauth:$AAF_DOCKER_VERSION
- docker pull $DOCKER_REPOSITORY/onap/aaf/aaf-service:$AAF_DOCKER_VERSION
+ docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_cass:$AAF_DOCKER_VERSION
+ docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_config:$AAF_DOCKER_VERSION
+ docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_cm:$AAF_DOCKER_VERSION
+ docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_fs:$AAF_DOCKER_VERSION
+ docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_gui:$AAF_DOCKER_VERSION
+ docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_hello:$AAF_DOCKER_VERSION
+ docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_locate:$AAF_DOCKER_VERSION
+ docker pull $DOCKER_REPOSITORY/onap/aaf/aaf_oauth:$AAF_DOCKER_VERSION
+ docker pull $DOCKER_REPOSITORY/onap/aaf/aafservice:$AAF_DOCKER_VERSION
fi
# Cassandra Install/Start
cd ../auth-cass/docker
diff --git a/plans/dcaegen2-collectors-restconf/testsuites/setup.sh b/plans/dcaegen2-collectors-restconf/testsuites/setup.sh
index c1b4f342..2b018172 100755
--- a/plans/dcaegen2-collectors-restconf/testsuites/setup.sh
+++ b/plans/dcaegen2-collectors-restconf/testsuites/setup.sh
@@ -2,14 +2,18 @@
#get current host IP addres
HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}')
-
+CONTAINER_NAME=rcc
RCC_IMAGE=nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.restconfcollector:latest
echo RCC_IMAGE=${RCC_IMAGE}
+#get JAVA version
+echo java -version
+java -version
+
# Start DCAE Restconf Collector
-docker run -d -p 8080:8080/tcp -p 8443:8443/tcp -P --name rcc -e DMAAPHOST=${HOST_IP} ${RCC_IMAGE}
+docker run -d -p 8080:8080/tcp -p 8443:8443/tcp -P --name ${CONTAINER_NAME} -e DMAAPHOST=${HOST_IP} ${RCC_IMAGE}
-RCC_IP=`get-instance-ip.sh rcc`
+RCC_IP=`get-instance-ip.sh ${CONTAINER_NAME}`
export RCC_IP=${RCC_IP}
export HOST_IP=${HOST_IP}
@@ -19,3 +23,6 @@ pip install jsonschema uuid
# Wait container ready
sleep 5
+#get the docker log
+echo DOCKER LOG ${CONTAINER_NAME}
+docker logs ${CONTAINER_NAME} \ No newline at end of file
diff --git a/plans/dcaegen2-pmmapper/pmmapper/assets/addFeed3.txt b/plans/dcaegen2-pmmapper/pmmapper/assets/addFeed3.txt
new file mode 100644
index 00000000..60544d97
--- /dev/null
+++ b/plans/dcaegen2-pmmapper/pmmapper/assets/addFeed3.txt
@@ -0,0 +1,44 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START==================================================
+# * org.onap.dmaap
+# * ===========================================================================
+# * Copyright © 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====================================================
+# *
+# * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+# *
+#-------------------------------------------------------------------------------
+{
+ "name": "Jettydemo",
+ "version": "m1.0",
+ "description": "Jettydemo",
+ "business_description": "Jettydemo",
+ "suspend": false,
+ "deleted": false,
+ "changeowner": true,
+ "authorization": {
+ "classification": "unclassified",
+ "endpoint_addrs": [
+ "<kafka-ip>",
+ ],
+ "endpoint_ids": [
+ {
+ "password": "rs873m",
+ "id": "rs873m"
+ }
+ ]
+ },
+}
+
diff --git a/plans/dcaegen2-pmmapper/pmmapper/assets/addSubscriber.txt b/plans/dcaegen2-pmmapper/pmmapper/assets/addSubscriber.txt
new file mode 100644
index 00000000..95cc2afb
--- /dev/null
+++ b/plans/dcaegen2-pmmapper/pmmapper/assets/addSubscriber.txt
@@ -0,0 +1,35 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START==================================================
+# * org.onap.dmaap
+# * ===========================================================================
+# * Copyright © 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====================================================
+# *
+# * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+# *
+#-------------------------------------------------------------------------------
+{
+"delivery" :
+ {
+ "url" : "http://<kafka-ip>:7070/",
+ "user" : "datarouter",
+ "password" : "datarouter",
+ "use100" : true
+ },
+"metadataOnly" : false,
+"suspend" : false,
+"groupid" : 29,
+"subscriber" : "sg481n"
+}
diff --git a/plans/dcaegen2-pmmapper/pmmapper/assets/node.properties b/plans/dcaegen2-pmmapper/pmmapper/assets/node.properties
new file mode 100644
index 00000000..ddd4ebc8
--- /dev/null
+++ b/plans/dcaegen2-pmmapper/pmmapper/assets/node.properties
@@ -0,0 +1,87 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START==================================================
+# * org.onap.dmaap
+# * ===========================================================================
+# * Copyright � 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====================================================
+# *
+# * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+# *
+#-------------------------------------------------------------------------------
+#
+# Configuration parameters set at startup for the DataRouter node
+#
+# URL to retrieve dynamic configuration
+ProvisioningURL = https://dmaap-dr-prov:8443/internal/prov
+#
+# URL to upload PUB/DEL/EXP logs
+LogUploadURL = https://dmaap-dr-prov:8443/internal/logs
+#
+# The port number for http as seen within the server
+IntHttpPort = 8080
+#
+# The port number for https as seen within the server
+IntHttpsPort = 8443
+#
+# The external port number for https taking port mapping into account
+ExtHttpsPort = 443
+#
+# The minimum interval between fetches of the dynamic configuration from the provisioning server
+MinProvFetchInterval = 10000
+#
+# The minimum interval between saves of the redirection data file
+MinRedirSaveInterval = 10000
+#
+# The path to the directory where log files are stored
+LogDir = /opt/app/datartr/logs
+#
+# The retention interval (in days) for log files
+LogRetention = 30
+#
+# The path to the directories where data and meta data files are stored
+SpoolDir = /opt/app/datartr/spool
+#
+# The path to the redirection data file
+RedirectionFile = etc/redirections.dat
+#
+# The type of keystore for https
+KeyStoreType = PKCS12
+#
+# The type of truststore for https
+TrustStoreType = jks
+#
+# The path to the file used to trigger an orderly shutdown
+QuiesceFile = etc/SHUTDOWN
+#
+# The key used to generate passwords for node to node transfers
+NodeAuthKey = Node123!
+#
+# DR_NODE DEFAULT ENABLED TLS PROTOCOLS
+NodeHttpsProtocols = TLSv1.1|TLSv1.2
+#
+# AAF type to generate permission string
+AAFType = org.onap.dmaap-dr.feed
+#
+# AAF default instance to generate permission string - default should be legacy
+AAFInstance = legacy
+#
+# AAF action to generate permission string - default should be publish
+AAFAction = publish
+#
+# AAF CADI enabled flag
+CadiEnabled = false
+#
+# AAF Props file path
+AAFPropsFilePath = /opt/app/osaaf/local/org.onap.dmaap-dr.props \ No newline at end of file
diff --git a/plans/dcaegen2-pmmapper/pmmapper/assets/provserver.properties b/plans/dcaegen2-pmmapper/pmmapper/assets/provserver.properties
new file mode 100644
index 00000000..20b5cb92
--- /dev/null
+++ b/plans/dcaegen2-pmmapper/pmmapper/assets/provserver.properties
@@ -0,0 +1,60 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START==================================================
+# * org.onap.dmaap
+# * ===========================================================================
+# * Copyright � 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====================================================
+# *
+# * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+# *
+#-------------------------------------------------------------------------------
+
+#Jetty Server properties
+org.onap.dmaap.datarouter.provserver.http.port = 8080
+org.onap.dmaap.datarouter.provserver.https.port = 8443
+org.onap.dmaap.datarouter.provserver.https.relaxation = true
+
+org.onap.dmaap.datarouter.provserver.aafprops.path = /opt/app/osaaf/local/org.onap.dmaap-dr.props
+
+org.onap.dmaap.datarouter.provserver.accesslog.dir = /opt/app/datartr/logs
+org.onap.dmaap.datarouter.provserver.spooldir = /opt/app/datartr/spool
+org.onap.dmaap.datarouter.provserver.dbscripts = /opt/app/datartr/etc/misc
+org.onap.dmaap.datarouter.provserver.logretention = 30
+
+#DMAAP-597 (Tech Dept) REST request source IP auth
+# relaxation to accommodate OOM kubernetes deploy
+org.onap.dmaap.datarouter.provserver.isaddressauthenabled = false
+
+#Localhost address config
+org.onap.dmaap.datarouter.provserver.localhost = 127.0.0.1
+
+# Database access
+org.onap.dmaap.datarouter.db.driver = org.mariadb.jdbc.Driver
+org.onap.dmaap.datarouter.db.url = jdbc:mariadb://datarouter-mariadb:3306/datarouter
+org.onap.dmaap.datarouter.db.login = datarouter
+org.onap.dmaap.datarouter.db.password = datarouter
+
+# PROV - DEFAULT ENABLED TLS PROTOCOLS
+org.onap.dmaap.datarouter.provserver.https.include.protocols = TLSv1.1|TLSv1.2
+
+# AAF config
+org.onap.dmaap.datarouter.provserver.cadi.enabled = false
+
+org.onap.dmaap.datarouter.provserver.passwordencryption = PasswordEncryptionKey#@$%^&1234#
+org.onap.dmaap.datarouter.provserver.aaf.feed.type = org.onap.dmaap-dr.feed
+org.onap.dmaap.datarouter.provserver.aaf.sub.type = org.onap.dmaap-dr.sub
+org.onap.dmaap.datarouter.provserver.aaf.instance = legacy
+org.onap.dmaap.datarouter.provserver.aaf.action.publish = publish
+org.onap.dmaap.datarouter.provserver.aaf.action.subscribe = subscribe \ No newline at end of file
diff --git a/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-e2e.yml b/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-e2e.yml
deleted file mode 100644
index bf28b9fa..00000000
--- a/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-e2e.yml
+++ /dev/null
@@ -1,67 +0,0 @@
-version: '2.1'
-services:
- datarouter-prov:
- image: nexus3.onap.org:10001/onap/dmaap/datarouter-prov
- container_name: datarouter-prov
- hostname: dmaap-dr-prov
- ports:
- - "443:8443"
- - "8443:8443"
- - "8080:8080"
- volumes:
- - ../prov_data/provserver.properties:/opt/app/datartr/etc/provserver.properties
- - ../prov_data/addSubscriber.txt:/opt/app/datartr/addSubscriber.txt
- - ../prov_data/addFeed3.txt:/opt/app/datartr/addFeed3.txt
- depends_on:
- mariadb_container:
- condition: service_healthy
- healthcheck:
- test: ["CMD", "curl", "-f", "http://dmaap-dr-prov:8080/internal/prov"]
- interval: 10s
- timeout: 10s
- retries: 5
- extra_hosts:
- - "dmaap-dr-node:1.1.1.1"
- - "dcae-pm-mapper:3.3.3.3"
-
- datarouter-node:
- image: nexus3.onap.org:10001/onap/dmaap/datarouter-node
- container_name: datarouter-node
- hostname: dmaap-dr-node
- ports:
- - "9443:8443"
- - "9090:8080"
- volumes:
- - ../node_data/node.properties:/opt/app/datartr/etc/node.properties
- depends_on:
- datarouter-prov:
- condition: service_healthy
- extra_hosts:
- - "dmaap-dr-prov:2.2.2.2"
- - "dcae-pm-mapper:3.3.3.3"
-
- mariadb_container:
- image: mariadb:10.2.14
- container_name: mariadb
- ports:
- - "3306:3306"
- environment:
- MYSQL_ROOT_PASSWORD: datarouter
- MYSQL_DATABASE: datarouter
- MYSQL_USER: datarouter
- MYSQL_PASSWORD: datarouter
- healthcheck:
- test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "--silent"]
- interval: 10s
- timeout: 30s
- retries: 5
-
- consul:
- container_name: consul
- image: nexus3.onap.org:10001/consul:latest
-
- cbs:
- container_name: cbs
- image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding.app-app:latest
- environment:
- CONSUL_HOST: \ No newline at end of file
diff --git a/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-pmmapper.yml b/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-pmmapper.yml
deleted file mode 100644
index 7646c0b4..00000000
--- a/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-pmmapper.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-version: '2.1'
-services:
- pmmapper:
- container_name: pmmapper
- image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:1.1.3
- ports:
- - "8081:8081"
- environment:
- CONFIG_BINDING_SERVICE_SERVICE_HOST: CBSIP
- CONFIG_BINDING_SERVICE_SERVICE_PORT: 10000
- HOSTNAME: pmmapper
- extra_hosts:
- - "dmaap-dr-node:1.1.1.1"
- - "message-router:4.4.4.4"
diff --git a/plans/dcaegen2-pmmapper/pmmapper/docker-compose.yml b/plans/dcaegen2-pmmapper/pmmapper/docker-compose.yml
new file mode 100644
index 00000000..0843650e
--- /dev/null
+++ b/plans/dcaegen2-pmmapper/pmmapper/docker-compose.yml
@@ -0,0 +1,117 @@
+version: '3.3'
+
+services:
+ datarouter-prov:
+ image: nexus3.onap.org:10001/onap/dmaap/datarouter-prov
+ container_name: datarouter-prov
+ hostname: dmaap-dr-prov
+ ports:
+ - "443:8443"
+ - "8443:8443"
+ - "8080:8080"
+ volumes:
+ - /var/tmp/provserver.properties:/opt/app/datartr/etc/provserver.properties
+ - /var/tmp/addSubscriber.txt:/opt/app/datartr/addSubscriber.txt
+ - /var/tmp/addFeed3.txt:/opt/app/datartr/addFeed3.txt
+ depends_on:
+ - mariadb
+ healthcheck:
+ test: ["CMD", "curl", "-f", "http://dmaap-dr-prov:8080/internal/prov"]
+ interval: 10s
+ timeout: 10s
+ retries: 5
+ networks:
+ pmmapper-network:
+ ipv4_address: $DR_PROV_IP
+ extra_hosts:
+ - "dmaap-dr-node:$DR_NODE_IP"
+ - "dcae-pm-mapper:$PMMAPPER_IP"
+
+ datarouter-node:
+ image: nexus3.onap.org:10001/onap/dmaap/datarouter-node
+ container_name: datarouter-node
+ hostname: dmaap-dr-node
+ ports:
+ - "9443:8443"
+ - "9090:8080"
+ volumes:
+ - /var/tmp/node.properties:/opt/app/datartr/etc/node.properties
+ depends_on:
+ - datarouter-prov
+ networks:
+ pmmapper-network:
+ ipv4_address: $DR_NODE_IP
+ extra_hosts:
+ - "dmaap-dr-prov:$DR_PROV_IP"
+ - "dcae-pm-mapper:$PMMAPPER_IP"
+
+ node:
+ image: node:10-slim
+ container_name: mr-simulator
+ volumes:
+ - /var/tmp/mrserver.js:/tmp/mrserver.js
+ command:
+ nodejs /tmp/mrserver.js
+ networks:
+ pmmapper-network:
+ ipv4_address: $NODE_IP
+
+ mariadb:
+ image: mariadb:10.2.14
+ container_name: mariadb
+ ports:
+ - "3306:3306"
+ environment:
+ MYSQL_ROOT_PASSWORD: datarouter
+ MYSQL_DATABASE: datarouter
+ MYSQL_USER: datarouter
+ MYSQL_PASSWORD: datarouter
+ healthcheck:
+ test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "--silent"]
+ interval: 10s
+ timeout: 30s
+ retries: 5
+ networks:
+ pmmapper-network:
+ ipv4_address: $MARIADB_IP
+
+ consul:
+ container_name: consul
+ image: nexus3.onap.org:10001/consul:latest
+ networks:
+ pmmapper-network:
+ ipv4_address: $CONSUL_IP
+
+ cbs:
+ container_name: cbs
+ image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding.app-app:latest
+ environment:
+ CONSUL_HOST: $CONSUL_IP
+ networks:
+ pmmapper-network:
+ ipv4_address: $CBS_IP
+
+ pmmapper:
+ container_name: pmmapper
+ image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:1.1.3
+ ports:
+ - "8081:8081"
+ environment:
+ CONFIG_BINDING_SERVICE_SERVICE_HOST: $CBS_IP
+ CONFIG_BINDING_SERVICE_SERVICE_PORT: 10000
+ HOSTNAME: pmmapper
+ networks:
+ pmmapper-network:
+ ipv4_address: $PMMAPPER_IP
+ extra_hosts:
+ - "dmaap-dr-node:$DR_NODE_IP"
+ - "message-router:$NODE_IP"
+
+
+networks:
+ pmmapper-network:
+ driver: bridge
+ ipam:
+ config:
+ - subnet: 172.18.0.0/16
+
diff --git a/plans/dcaegen2-pmmapper/pmmapper/setup.sh b/plans/dcaegen2-pmmapper/pmmapper/setup.sh
index 29b8d9c5..4645223a 100644
--- a/plans/dcaegen2-pmmapper/pmmapper/setup.sh
+++ b/plans/dcaegen2-pmmapper/pmmapper/setup.sh
@@ -2,136 +2,101 @@
# Place the scripts in run order:
source ${SCRIPTS}/common_functions.sh
-# Clone DMaaP Message Router repo
-mkdir -p $WORKSPACE/archives/dmaapmr
-cd $WORKSPACE/archives/dmaapmr
-git clone --depth 1 http://gerrit.onap.org/r/dmaap/messagerouter/messageservice -b master
-sed -i 's/enableCadi: false/enableCadi: "false"/g' /$WORKSPACE/archives/dmaapmr/messageservice/src/main/resources/docker-compose/docker-compose.yml
-cd $WORKSPACE/archives/dmaapmr/messageservice/src/main/resources/docker-compose
-cp $WORKSPACE/archives/dmaapmr/messageservice/bundleconfig-local/etc/appprops/MsgRtrApi.properties /var/tmp/
-
-# start DMaaP MR containers with docker compose and configuration from docker-compose.yml
docker login -u docker -p docker nexus3.onap.org:10001
-docker-compose up -d
-ZOOKEEPER=$(docker ps -a -q --filter="name=zookeeper_1")
-KAFKA=$(docker ps -a -q --filter="name=kafka_1")
-DMAAP=$(docker ps -a -q --filter="name=dmaap_1")
+TEST_PLANS_DIR=$WORKSPACE/plans/dcaegen2-pmmapper/pmmapper
-# Get IP address of KAFKA, Zookeeper
-KAFKA_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $KAFKA)
-ZOOKEEPER_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $ZOOKEEPER)
+export GATEWAY_IP=172.18.0.1
+export DR_NODE_IP=172.18.0.2
+export DR_PROV_IP=172.18.0.3
+export CONSUL_IP=172.18.0.4
+export CBS_IP=172.18.0.5
+export MARIADB_IP=172.18.0.6
+export NODE_IP=172.18.0.7
+export PMMAPPER_IP=172.18.0.8
-# Shutdown DMAAP Container
-docker kill $DMAAP
+for asset in provserver.properties addSubscriber.txt addFeed3.txt node.properties cbs.json mrserver.js; do
+ cp $TEST_PLANS_DIR/assets/${asset} /var/tmp/
+done
-# Initial docker-compose up and down is for populating kafka and zookeeper IPs in /var/tmp/MsgRtrApi.properites
-sed -i -e '/config.zk.servers=/ s/=.*/='$ZOOKEEPER_IP'/' /var/tmp/MsgRtrApi.properties
-sed -i -e '/kafka.metadata.broker.list=/ s/=.*/='$KAFKA_IP':9092/' /var/tmp/MsgRtrApi.properties
+sed -i 's/datarouter-mariadb/'$MARIADB_IP'/g' /var/tmp/provserver.properties
+#sed -i 's/<kafka-ip>/'$KAFKA_IP'/g' /var/tmp/addSubscriber.txt
+#sed -i 's/<kafka-ip>/'$KAFKA_IP'/g' /var/tmp/addFeed3.txt
+#sed -i 's/ipaddress/'$CBS_IP'/g' /var/tmp/cbs.json
+sed -i 's/ipaddress//g' /var/tmp/cbs.json
-# Start DMaaP MR containers with docker compose and configuration from docker-compose.yml
-docker login -u docker -p docker nexus3.onap.org:10001
-docker-compose up -d
-sleep 5
-
-# Get IP address of DMAAP Message Router.
-DMAAP_MR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $DMAAP)
-
-# Clone DMaaP Data Router repo and Initialization of Data Router, Consul, Config Binding Service
-mkdir -p $WORKSPACE/archives/dmaapdr
-cd $WORKSPACE/archives/dmaapdr
-git clone --depth 1 https://gerrit.onap.org/r/dmaap/datarouter -b master
-cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources
-mkdir docker-compose
-cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose
-cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-e2e.yml $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose/docker-compose.yml
-docker login -u docker -p docker nexus3.onap.org:10001
-docker-compose up -d
-echo "Disregard the message ERROR: for datarouter-node Container 1234456 is unhealthy, this is expected behaiour at this stage"
-sleep 10
-docker kill cbs
-CONSUL_IP=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' consul )
-sed -i -e '/CONSUL_HOST:/ s/:.*/: '$CONSUL_IP'/' docker-compose.yml
-MARIADB=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mariadb )
-sed -i 's/datarouter-mariadb/'$MARIADB'/g' $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/prov_data/provserver.properties
-docker-compose up -d
-DR_PROV_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' datarouter-prov)
-DR_NODE_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' datarouter-node)
-
-# Consul Configuration for PM Mapper
-cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/cbs.json /tmp/cbs.json
-sed -i 's/ipaddress/'${CBS_IP}'/g' /tmp/cbs.json
-curl --request PUT --data @/tmp/cbs.json http://$CONSUL_IP:8500/v1/agent/service/register
-curl 'http://'$CONSUL_IP':8500/v1/kv/pmmapper?dc=dc1' -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'X-Requested-With: XMLHttpRequest' --data @$WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/config.json
-
-# PM Mapper startup and configuration
-mkdir /tmp/docker-compose
-cd /tmp/docker-compose
-cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/composefile/docker-compose-pmmapper.yml /tmp/docker-compose/docker-compose.yml
-CBS_IP=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' cbs)
-sed -i 's/CBSIP/'$CBS_IP'/g' docker-compose.yml
-sed -i 's/1.1.1.1/'$DR_NODE_IP'/g' docker-compose.yml
-sed -i 's/4.4.4.4/'$MARIADB'/g' docker-compose.yml
-docker-compose up -d
-
-cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose
-PMMAPPER_IP=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' pmmapper)
-docker kill datarouter-node
-docker kill datarouter-prov
-sed -i 's/1.1.1.1/'$DR_NODE_IP'/g' docker-compose.yml
-sed -i 's/2.2.2.2/'$DR_PROV_IP'/g' docker-compose.yml
-sed -i 's/3.3.3.3/'$PMMAPPER_IP'/g' docker-compose.yml
-docker-compose up -d
+docker-compose -f $TEST_PLANS_DIR/docker-compose.yml up -d mariadb consul cbs node
+
+echo "Waiting for MariaDB to come up healthy..."
+for i in {1..30}; do
+ mariadb_state=$(docker inspect --format='{{json .State.Health.Status}}' mariadb)
+ if [ $mariadb_state = '"healthy"' ]
+ then
+ break
+ else
+ sleep 2
+ fi
+done
+[ "$mariadb_state" != '"healthy"' ] && echo "Error: MariaDB container state not healthy" && exit 1
+
+docker-compose -f $TEST_PLANS_DIR/docker-compose.yml up -d datarouter-node datarouter-prov
+
+curl --request PUT --data @/var/tmp/cbs.json http://$CONSUL_IP:8500/v1/agent/service/register
+curl 'http://'$CONSUL_IP':8500/v1/kv/pmmapper?dc=dc1' -X PUT \
+ -H 'Accept: application/json' \
+ -H 'Content-Type: application/json' \
+ -H 'X-Requested-With: XMLHttpRequest' \
+ --data @$TEST_PLANS_DIR/assets/config.json
+
+docker-compose -f $TEST_PLANS_DIR/docker-compose.yml up -d pmmapper
+sleep 2
# Setting up PM Mapper certs.
-docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/cert.jks.b64 pmmapper:opt/app/pm-mapper/etc/
-docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/jks.pass pmmapper:opt/app/pm-mapper/etc/
-docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/trust.jks.b64 pmmapper:opt/app/pm-mapper/etc/
-docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/trust.pass pmmapper:opt/app/pm-mapper/etc/
-docker restart pmmapper
+docker cp $TEST_PLANS_DIR/assets/cert.jks.b64 pmmapper:opt/app/pm-mapper/etc/
+docker cp $TEST_PLANS_DIR/assets/jks.pass pmmapper:opt/app/pm-mapper/etc/
+docker cp $TEST_PLANS_DIR/assets/trust.jks.b64 pmmapper:opt/app/pm-mapper/etc/
+docker cp $TEST_PLANS_DIR/assets/trust.pass pmmapper:opt/app/pm-mapper/etc/
+
+docker-compose -f $TEST_PLANS_DIR/docker-compose.yml restart pmmapper
# Wait for initialization of Docker container for datarouter-node, datarouter-prov and mariadb, Consul, CBS
+containers_ok=false
for i in {1..5}; do
if [ $(docker inspect --format '{{ .State.Running }}' datarouter-node) ] && \
[ $(docker inspect --format '{{ .State.Running }}' datarouter-prov) ] && \
[ $(docker inspect --format '{{ .State.Running }}' mariadb) ] && \
+ [ $(docker inspect --format '{{ .State.Running }}' mr-simulator) ] && \
[ $(docker inspect --format '{{ .State.Running }}' consul) ] && \
[ $(docker inspect --format '{{ .State.Running }}' cbs) ] && \
- [ $(docker inspect --format '{{ .State.Running }}' pmmapper) ] && \
- [ $(docker inspect --format '{{ .State.Running }}' $KAFKA) ] && \
- [ $(docker inspect --format '{{ .State.Running }}' $ZOOKEEPER) ] && \
- [ $(docker inspect --format '{{ .State.Running }}' $DMAAP) ]
+ [ $(docker inspect --format '{{ .State.Running }}' pmmapper) ]
then
- echo "Message Router, Data Router, Consul, Config Binding Service Running and PM Mapper services are running healthy"
+ echo "All required docker containers are up."
+ containers_ok=true
break
else
- echo sleep $i
sleep $i
fi
done
+[ "$containers_ok" = "false" ] && echo "Error: required container not running." && exit 1
+
# Data Router Configuration.
-DR_NODE_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' datarouter-node)
-DR_GATEWAY_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}' datarouter-prov)
-docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/NODES?val=dmaap-dr-node\|$DR_GATEWAY_IP"
-docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/PROV_AUTH_ADDRESSES?val=dmaap-dr-prov\|$DR_GATEWAY_IP"
+docker exec -i datarouter-prov sh -c \
+ "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/NODES?val=dmaap-dr-node\|$GATEWAY_IP"
+docker exec -i datarouter-prov sh -c \
+ "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/PROV_AUTH_ADDRESSES?val=dmaap-dr-prov\|$GATEWAY_IP"
# Create PM Mapper feed and create PM Mapper subscriber on data router
-curl -v -X POST -H "Content-Type:application/vnd.dmaap-dr.feed" -H "X-DMAAP-DR-ON-BEHALF-OF:pmmapper" --data-ascii @$WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/createFeed.json --post301 --location-trusted -k https://${DR_PROV_IP}:8443
-curl -v -X POST -H "Content-Type:application/vnd.dmaap-dr.subscription" -H "X-DMAAP-DR-ON-BEHALF-OF:pmmapper" --data-ascii @$WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/addSubscriber.json --post301 --location-trusted -k https://${DR_PROV_IP}:8443/subscribe/1
-
-# Simulation setup for Message Router
-docker cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/mrserver.js mariadb:/
-docker exec mariadb /bin/bash -c "apt update"
-sleep 2
-docker exec mariadb /bin/bash -c "apt install nodejs -y"
-sleep 10
-docker exec mariadb /bin/bash -c "nodejs mrserver.js &" &
-
-PMMAPPER_IP=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' pmmapper)
-docker exec pmmapper /bin/sh -c "cat /var/log/ONAP/dcaegen2/services/pm-mapper/pm-mapper_output.log" > /tmp/pmmapper.log
-cat /tmp/pmmapper.log
+curl -v -X POST -H "Content-Type:application/vnd.dmaap-dr.feed" -H "X-DMAAP-DR-ON-BEHALF-OF:pmmapper" \
+ --data-ascii @$TEST_PLANS_DIR/assets/createFeed.json \
+ --post301 --location-trusted -k https://${DR_PROV_IP}:8443
+curl -v -X POST -H "Content-Type:application/vnd.dmaap-dr.subscription" -H "X-DMAAP-DR-ON-BEHALF-OF:pmmapper" \
+ --data-ascii @$TEST_PLANS_DIR/assets/addSubscriber.json \
+ --post301 --location-trusted -k https://${DR_PROV_IP}:8443/subscribe/1
+
+docker cp pmmapper:/var/log/ONAP/dcaegen2/services/pm-mapper/pm-mapper_output.log /tmp/pmmapper.log
docker exec -it datarouter-prov sh -c "curl http://dmaap-dr-node:8080/internal/fetchProv"
sleep 10
curl -k https://$DR_PROV_IP:8443/internal/prov
+
#Pass any variables required by Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v CONSUL_IP:${CONSUL_IP} -v DR_PROV_IP:${DR_PROV_IP} -v DMAAP_MR_IP:${DMAAP_MR_IP} -v CBS_IP:${CBS_IP} -v PMMAPPER_IP:${PMMAPPER_IP} -v DR_NODE_IP:${DR_NODE_IP}" \ No newline at end of file
+ROBOT_VARIABLES="-v CONSUL_IP:${CONSUL_IP} -v DR_PROV_IP:${DR_PROV_IP} -v DMAAP_MR_IP:${DMAAP_MR_IP} -v CBS_IP:${CBS_IP} -v PMMAPPER_IP:${PMMAPPER_IP} -v DR_NODE_IP:${DR_NODE_IP}"
diff --git a/plans/dcaegen2-pmmapper/pmmapper/teardown.sh b/plans/dcaegen2-pmmapper/pmmapper/teardown.sh
index 45ef0d93..77bed8e0 100644
--- a/plans/dcaegen2-pmmapper/pmmapper/teardown.sh
+++ b/plans/dcaegen2-pmmapper/pmmapper/teardown.sh
@@ -1,12 +1,7 @@
#!/bin/bash
echo "Starting teardown script"
+TEST_PLANS_DIR=$WORKSPACE/plans/dcaegen2-pmmapper/pmmapper
+mkdir -p $WORKSPACE/archives
docker exec pmmapper /bin/sh -c "cat /var/log/ONAP/dcaegen2/services/pm-mapper/pm-mapper_output.log"
-kill-instance.sh $DMAAP
-kill-instance.sh $KAFKA
-kill-instance.sh $ZOOKEEPER
-kill-instance.sh datarouter-node
-kill-instance.sh datarouter-prov
-kill-instance.sh mariadb
-kill-instance.sh cbs
-kill-instance.sh consul
-kill-instance.sh pmmapper \ No newline at end of file
+docker-compose -f $TEST_PLANS_DIR/docker-compose.yml logs > $WORKSPACE/archives/pmmapper-docker-compose.log
+docker-compose -f $TEST_PLANS_DIR/docker-compose.yml down -v
diff --git a/plans/dcaegen2/testsuites/setup.sh b/plans/dcaegen2/testsuites/setup.sh
index 7847dce8..781e205f 100755
--- a/plans/dcaegen2/testsuites/setup.sh
+++ b/plans/dcaegen2/testsuites/setup.sh
@@ -21,11 +21,12 @@
#get current host IP addres
HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}')
-VESC_IMAGE=nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.2-latest
+VESC_IMAGE=nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:latest
+
echo VESC_IMAGE=${VESC_IMAGE}
# Start DCAE VES Collector
-docker run -d -p 8080:8080/tcp -p 8443:8443/tcp -P --name vesc -e DMAAPHOST=${HOST_IP} ${VESC_IMAGE}
+docker run --add-host="onap-dmaap:${HOST_IP}" -d -p 8080:8080/tcp -p 8443:8443/tcp --name vesc -P -e DMAAPHOST="${HOST_IP}" ${VESC_IMAGE}
VESC_IP=`get-instance-ip.sh vesc`
export VESC_IP=${VESC_IP}
diff --git a/plans/policy/apex-pdp/setup.sh b/plans/policy/apex-pdp/setup.sh
index 16621241..377ce4b1 100644
--- a/plans/policy/apex-pdp/setup.sh
+++ b/plans/policy/apex-pdp/setup.sh
@@ -3,7 +3,7 @@
# Copyright (C) 2018 Ericsson. All rights reserved.
#
# Modifications copyright (c) 2019 Nordix Foundation.
-# Modifications Copyright (C) 2019 AT&T Intellectual Property.
+# Modifications Copyright (C) 2020 AT&T Intellectual Property.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -46,33 +46,15 @@ if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then
exit 1
fi
-# bring down maven
-mkdir maven
-cd maven
-# download maven from automatically selected mirror server
-curl -vLO "https://www.apache.org/dyn/mirrors/mirrors.cgi?cca2=us&preferred=http://apache.claz.org/&action=download&filename=maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz"
-if ! tar -xzvf apache-maven-3.3.9-bin.tar.gz ; then
- echo "Installation of maven has failed!"
- exit 1
-fi
-ls -l
-export PATH=${PATH}:${WORK_DIR}/maven/apache-maven-3.3.9/bin
-${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn -v
-cd ..
-
-git clone http://gerrit.onap.org/r/oparent
-git clone --depth 1 https://gerrit.onap.org/r/policy/models -b ${GERRIT_BRANCH}
-cd models/models-sim/models-sim-dmaap
-${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn clean install -DskipTests --settings ${WORK_DIR}/oparent/settings.xml
-bash ./src/main/package/docker/docker_build.sh
-cd ${WORKSPACE}
-rm -rf ${WORK_DIR}
-sleep 3
-
sudo apt-get -y install libxml2-utils
-export POLICY_API_VERSION="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
-export POLICY_PAP_VERSION="$(curl -q --silent https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
-export POLICY_APEX_PDP_VERSION="$(curl -q --silent https://git.onap.org/policy/apex-pdp/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+bash ${SCRIPTS}/policy/policy-models-dmaap-sim.sh
+
+POLICY_API_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_API_VERSION="${POLICY_API_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
+POLICY_PAP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_PAP_VERSION="${POLICY_PAP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
+POLICY_APEX_PDP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/apex-pdp/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_APEX_PDP_VERSION="${POLICY_APEX_PDP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
echo ${POLICY_API_VERSION}
echo ${POLICY_PAP_VERSION}
diff --git a/plans/policy/api/setup.sh b/plans/policy/api/setup.sh
index 91e1edee..8bd4b4af 100644
--- a/plans/policy/api/setup.sh
+++ b/plans/policy/api/setup.sh
@@ -30,8 +30,10 @@ pip install -U docker==2.7.0
sudo apt-get -y install libxml2-utils
-export POLICY_API_VERSION="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+POLICY_API_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_API_VERSION="${POLICY_API_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
echo ${POLICY_API_VERSION}
+
# Adding this waiting container to avoid race condition between api and mariadb containers.
docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-api.yml run --rm start_dependencies
diff --git a/plans/policy/distribution/setup.sh b/plans/policy/distribution/setup.sh
index 18cb88ed..d1a08632 100644
--- a/plans/policy/distribution/setup.sh
+++ b/plans/policy/distribution/setup.sh
@@ -3,7 +3,7 @@
# Copyright (C) 2018 Ericsson. All rights reserved.
#
# Modifications copyright (c) 2019 Nordix Foundation.
-# Modifications Copyright (C) 2019 AT&T Intellectual Property.
+# Modifications Copyright (C) 2020 AT&T Intellectual Property.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -19,7 +19,6 @@
#
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================
-
source ${SCRIPTS}/policy/config/policy-csit.conf
export POLICY_MARIADB_VER
echo ${GERRIT_BRANCH}
@@ -47,34 +46,17 @@ if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then
exit 1
fi
-# bring down maven
-mkdir maven
-cd maven
-# download maven from automatically selected mirror server
-curl -vLO "https://www.apache.org/dyn/mirrors/mirrors.cgi?cca2=us&preferred=http://apache.claz.org/&action=download&filename=maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz"
-if ! tar -xzvf apache-maven-3.3.9-bin.tar.gz ; then
- echo "Installation of maven has failed!"
- exit 1
-fi
-ls -l
-export PATH=${PATH}:${WORK_DIR}/maven/apache-maven-3.3.9/bin
-${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn -v
-cd ..
-
-git clone http://gerrit.onap.org/r/oparent
-git clone --depth 1 https://gerrit.onap.org/r/policy/models -b ${GERRIT_BRANCH}
-cd models/models-sim/models-sim-dmaap
-${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn clean install -DskipTests --settings ${WORK_DIR}/oparent/settings.xml
-bash ./src/main/package/docker/docker_build.sh
-cd ${WORKSPACE}
-rm -rf ${WORK_DIR}
-sleep 3
-
sudo apt-get -y install libxml2-utils
-export POLICY_API_VERSION="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
-export POLICY_PAP_VERSION="$(curl -q --silent https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
-export POLICY_APEX_PDP_VERSION="$(curl -q --silent https://git.onap.org/policy/apex-pdp/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
-export POLICY_DISTRIBUTION_VERSION="$(curl -q --silent https://git.onap.org/policy/distribution/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+bash ${SCRIPTS}/policy/policy-models-dmaap-sim.sh
+
+POLICY_API_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_API_VERSION="${POLICY_API_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
+POLICY_PAP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_PAP_VERSION="${POLICY_PAP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
+POLICY_APEX_PDP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/apex-pdp/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_APEX_PDP_VERSION="${POLICY_APEX_PDP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
+POLICY_DISTRIBUTION_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/distribution/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_DISTRIBUTION_VERSION="${POLICY_DISTRIBUTION_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
echo ${POLICY_API_VERSION}
echo ${POLICY_PAP_VERSION}
diff --git a/plans/policy/drools-applications/setup.sh b/plans/policy/drools-applications/setup.sh
index e2ca7893..e550cdb0 100755
--- a/plans/policy/drools-applications/setup.sh
+++ b/plans/policy/drools-applications/setup.sh
@@ -27,8 +27,10 @@ pip uninstall -y docker
pip install -U docker==2.7.0
sudo apt-get -y install libxml2-utils
-export POLICY_DROOLS_APPS_VERSION="$(curl -q --silent https://git.onap.org/policy/drools-applications/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
-echo ${POLICY_DRROLS_APPS_VERSION}
+POLICY_DROOLS_APPS_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/drools-applications/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+echo ${POLICY_DROOLS_APPS_VERSION_EXTRACT}
+export POLICY_DROOLS_APPS_VERSION="${POLICY_DROOLS_APPS_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
+echo ${POLICY_DROOLS_APPS_VERSION}
docker login -u docker -p docker nexus3.onap.org:10001
diff --git a/plans/policy/pap/setup.sh b/plans/policy/pap/setup.sh
index 0f1ab746..8a613bca 100644
--- a/plans/policy/pap/setup.sh
+++ b/plans/policy/pap/setup.sh
@@ -30,8 +30,10 @@ pip install -U docker==2.7.0
sudo apt-get -y install libxml2-utils
-export POLICY_API_VERSION="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
-export POLICY_PAP_VERSION="$(curl -q --silent https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+POLICY_API_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_API_VERSION="${POLICY_API_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
+POLICY_PAP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_PAP_VERSION="${POLICY_PAP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
echo ${POLICY_API_VERSION}
echo ${POLICY_PAP_VERSION}
# Adding this waiting container due to race condition between pap and mariadb
diff --git a/plans/policy/xacml-pdp/setup.sh b/plans/policy/xacml-pdp/setup.sh
index 9a2e92fe..79c43070 100644
--- a/plans/policy/xacml-pdp/setup.sh
+++ b/plans/policy/xacml-pdp/setup.sh
@@ -1,6 +1,6 @@
#!/bin/bash
# ============LICENSE_START=======================================================
-# Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2020 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.
@@ -44,39 +44,20 @@ if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then
exit 1
fi
-# bring down maven
-mkdir maven
-cd maven
-# download maven from automatically selected mirror server
-curl -vLO "https://www.apache.org/dyn/mirrors/mirrors.cgi?cca2=us&preferred=http://apache.claz.org/&action=download&filename=maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz"
-if ! tar -xzvf apache-maven-3.3.9-bin.tar.gz ; then
- echo "Installation of maven has failed!"
- exit 1
-fi
-ls -l
-export PATH=${PATH}:${WORK_DIR}/maven/apache-maven-3.3.9/bin
-${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn -v
-cd ..
-
-git clone http://gerrit.onap.org/r/oparent
-git clone --depth 1 https://gerrit.onap.org/r/policy/models -b ${GERRIT_BRANCH}
-cd models/models-sim/models-sim-dmaap
-${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn clean install -DskipTests --settings ${WORK_DIR}/oparent/settings.xml
-bash ./src/main/package/docker/docker_build.sh
-cd ${WORKSPACE}
-rm -rf ${WORK_DIR}
-sleep 3
-
-
-
sudo apt-get -y install libxml2-utils
-export POLICY_API_VERSION="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
-export POLICY_PAP_VERSION="$(curl -q --silent https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
-export POLICY_XACML_PDP_VERSION="$(curl -q --silent https://git.onap.org/policy/xacml-pdp/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+bash ${SCRIPTS}/policy/policy-models-dmaap-sim.sh
+
+POLICY_API_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_API_VERSION="${POLICY_API_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
+POLICY_PAP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_PAP_VERSION="${POLICY_PAP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
+POLICY_XACML_PDP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/xacml-pdp/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_XACML_PDP_VERSION="${POLICY_XACML_PDP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
echo ${POLICY_API_VERSION}
echo ${POLICY_PAP_VERSION}
echo ${POLICY_XACML_PDP_VERSION}
+
# Adding this waiting container due to race condition between pap and mariadb
docker-compose -f ${WORKSPACE}/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml run --rm start_dependencies
diff --git a/plans/so/integration-etsi-testing/so-simulators/aai-simulator/pom.xml b/plans/so/integration-etsi-testing/so-simulators/aai-simulator/pom.xml
index e6a210a5..26815ad0 100644
--- a/plans/so/integration-etsi-testing/so-simulators/aai-simulator/pom.xml
+++ b/plans/so/integration-etsi-testing/so-simulators/aai-simulator/pom.xml
@@ -39,6 +39,22 @@
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
+ <dependency>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-impl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.activation</groupId>
+ <artifactId>activation</artifactId>
+ </dependency>
</dependencies>
<build>
<plugins>
diff --git a/plans/so/integration-etsi-testing/so-simulators/pom.xml b/plans/so/integration-etsi-testing/so-simulators/pom.xml
index 80d4ba95..372b073d 100644
--- a/plans/so/integration-etsi-testing/so-simulators/pom.xml
+++ b/plans/so/integration-etsi-testing/so-simulators/pom.xml
@@ -1,23 +1,21 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
-
<groupId>org.onap.so.simulators</groupId>
<artifactId>so-simulators</artifactId>
-
<packaging>pom</packaging>
<name>${project.artifactId}</name>
<version>1.0-SNAPSHOT</version>
-
<properties>
<jax.ws.rs>2.1</jax.ws.rs>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
+ <jaxb.version>2.3.0</jaxb.version>
+ <javax.version>1.1.1</javax.version>
<java.version>1.8</java.version>
</properties>
-
<modules>
<module>common</module>
<module>sdc-simulator</module>
@@ -26,16 +24,35 @@
<module>vnfm-simulator</module>
<module>package</module>
</modules>
-
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
- <version>2.0.5.RELEASE</version>
+ <version>2.1.5.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
+ <dependency>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ <version>${jaxb.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-core</artifactId>
+ <version>${jaxb.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-impl</artifactId>
+ <version>${jaxb.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.activation</groupId>
+ <artifactId>activation</artifactId>
+ <version>${javax.version}</version>
+ </dependency>
</dependencies>
</dependencyManagement>
<dependencies>
@@ -67,4 +84,4 @@
<version>${jax.ws.rs}</version>
</dependency>
</dependencies>
-</project>
+</project> \ No newline at end of file
diff --git a/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/controller/OperationsController.java b/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/controller/OperationsController.java
index f96224d3..2f24ef69 100644
--- a/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/controller/OperationsController.java
+++ b/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/controller/OperationsController.java
@@ -52,6 +52,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping(path = OPERATIONS_URL)
public class OperationsController {
+ private static final String HTTP_STATUS_OK = HttpStatus.OK.value() + "";
private static final Logger LOGGER = LoggerFactory.getLogger(OperationsController.class);
@@ -80,7 +81,7 @@ public class OperationsController {
final Output output = getOutput(apiServiceOperationInformation);
final OutputRequest outputRequest = new OutputRequest(output);
- if (output.getResponseCode().equals(HttpStatus.OK.toString())) {
+ if (output.getResponseCode().equals(HTTP_STATUS_OK)) {
LOGGER.info("Sucessfully executed service request sending response: {}", outputRequest);
return ResponseEntity.ok(outputRequest);
}
@@ -106,7 +107,7 @@ public class OperationsController {
final Output output = getOutput(apiVnfOperationInformation);
final OutputRequest outputRequest = new OutputRequest(output);
- if (output.getResponseCode().equals(HttpStatus.OK.toString())) {
+ if (output.getResponseCode().equals(HTTP_STATUS_OK)) {
LOGGER.info("Sucessfully executed request vnf sending response: {}", outputRequest);
return ResponseEntity.ok(outputRequest);
}
diff --git a/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/providers/ServiceOperationsCacheServiceProviderimpl.java b/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/providers/ServiceOperationsCacheServiceProviderimpl.java
index dae8b7f4..88db4c13 100644
--- a/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/providers/ServiceOperationsCacheServiceProviderimpl.java
+++ b/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/main/java/org/onap/so/sdncsimulator/providers/ServiceOperationsCacheServiceProviderimpl.java
@@ -78,6 +78,8 @@ import org.springframework.stereotype.Service;
public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServiceProvider
implements ServiceOperationsCacheServiceProvider {
+ private static final String HTTP_STATUS_BAD_REQUEST = Integer.toString(HttpStatus.BAD_REQUEST.value());
+ private static final String HTTP_STATUS_OK = Integer.toString(HttpStatus.OK.value());
private static final String EMPTY_STRING = "";
private static final Logger LOGGER = LoggerFactory.getLogger(ServiceOperationsCacheServiceProviderimpl.class);
@@ -114,7 +116,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ
.instanceId(serviceInstanceId).objectPath(getObjectPath(serviceInstanceId)));
}
LOGGER.error("serviceInstanceId: {} already exists", serviceInstanceId);
- return new Output().ackFinalIndicator(YES).responseCode(HttpStatus.BAD_REQUEST.toString())
+ return new Output().ackFinalIndicator(YES).responseCode(HTTP_STATUS_BAD_REQUEST)
.responseMessage("serviceInstanceId: " + serviceInstanceId + " already exists")
.svcRequestId(svcRequestId);
}
@@ -122,7 +124,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ
LOGGER.error(
"Unable to add GenericResourceApiServiceOperationInformation in cache due to invalid input: {}... ",
input);
- return new Output().ackFinalIndicator(YES).responseCode(HttpStatus.BAD_REQUEST.toString())
+ return new Output().ackFinalIndicator(YES).responseCode(HTTP_STATUS_BAD_REQUEST)
.responseMessage("Service instance not found").svcRequestId(svcRequestId);
}
@@ -141,7 +143,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ
LOGGER.info("Deleting GenericResourceApiServiceOperationInformation from cache using key: {}",
serviceInstanceId);
cache.evict(serviceInstanceId);
- return new Output().ackFinalIndicator(YES).responseCode(HttpStatus.OK.toString())
+ return new Output().ackFinalIndicator(YES).responseCode(HTTP_STATUS_OK)
.responseMessage(EMPTY_STRING).svcRequestId(svcRequestId).serviceResponseInformation(
new GenericResourceApiInstanceReference().instanceId(serviceInstanceId));
}
@@ -151,7 +153,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ
}
LOGGER.error("Unable to remove service instance from cache due to invalid input: {}... ", input);
- return new Output().ackFinalIndicator(YES).responseCode(HttpStatus.BAD_REQUEST.toString())
+ return new Output().ackFinalIndicator(YES).responseCode(HTTP_STATUS_BAD_REQUEST)
.responseMessage("Unable to remove service").svcRequestId(svcRequestId);
}
@@ -208,7 +210,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ
.objectPath(getObjectPath(serviceInstanceId, vnfId)));
}
LOGGER.error("vnfId: {} already exists with SVC Action: {}", vnfId, svcAction);
- return new Output().ackFinalIndicator(YES).responseCode(HttpStatus.BAD_REQUEST.toString())
+ return new Output().ackFinalIndicator(YES).responseCode(HTTP_STATUS_BAD_REQUEST)
.responseMessage("vnfId: " + vnfId + " already exists").svcRequestId(svcRequestId);
}
}
@@ -220,7 +222,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ
LOGGER.error(
"Unable to add GenericResourceApiServiceOperationInformation in cache due to invalid input: {}... ",
input);
- return new Output().ackFinalIndicator(YES).responseCode(HttpStatus.BAD_REQUEST.toString())
+ return new Output().ackFinalIndicator(YES).responseCode(HTTP_STATUS_BAD_REQUEST)
.responseMessage("Unable to add vnf").svcRequestId(svcRequestId);
}
@@ -256,7 +258,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ
return false;
});
- return new Output().ackFinalIndicator(YES).responseCode(HttpStatus.OK.toString())
+ return new Output().ackFinalIndicator(YES).responseCode(HTTP_STATUS_OK)
.responseMessage(EMPTY_STRING).svcRequestId(svcRequestId)
.serviceResponseInformation(
new GenericResourceApiInstanceReference().instanceId(serviceInstanceId))
@@ -271,7 +273,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ
}
LOGGER.error("Unable to remove vnf instance from cache due to invalid input: {}... ", input);
- return new Output().ackFinalIndicator(YES).responseCode(HttpStatus.BAD_REQUEST.toString())
+ return new Output().ackFinalIndicator(YES).responseCode(HTTP_STATUS_BAD_REQUEST)
.responseMessage("Unable to remove vnf").svcRequestId(svcRequestId);
}
@@ -406,7 +408,7 @@ public class ServiceOperationsCacheServiceProviderimpl extends AbstractCacheServ
final GenericResourceApiServicestatusServiceStatus serviceStatus =
getServiceStatus(getSvcAction(input.getSdncRequestHeader()),
- getRequestAction(input.getRequestInformation()), HttpStatus.OK.toString());
+ getRequestAction(input.getRequestInformation()), HTTP_STATUS_OK);
return new GenericResourceApiServicemodelinfrastructureService().serviceData(apiServicedataServiceData)
.serviceStatus(serviceStatus).serviceInstanceId(serviceInstanceId);
diff --git a/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/test/java/org/onap/so/sdncsimulator/controller/OperationsControllerTest.java b/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/test/java/org/onap/so/sdncsimulator/controller/OperationsControllerTest.java
index b498bd6e..888a251e 100644
--- a/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/test/java/org/onap/so/sdncsimulator/controller/OperationsControllerTest.java
+++ b/plans/so/integration-etsi-testing/so-simulators/sdnc-simulator/src/test/java/org/onap/so/sdncsimulator/controller/OperationsControllerTest.java
@@ -71,6 +71,9 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@Configuration
public class OperationsControllerTest {
+ private static final String HTTP_STATUS_BAD_REQUEST = Integer.toString(HttpStatus.BAD_REQUEST.value());
+ private static final String HTTP_STATUS_OK = Integer.toString(HttpStatus.OK.value());
+
private static final String SVC_REQUEST_ID = "04fc9f50-87b8-430d-a232-ef24bd6c4150";
private static final String VNF_SVC_REQUEST_ID = "8fd2622b-01fc-424d-bfc8-f48bcd64e546";
@@ -112,7 +115,7 @@ public class OperationsControllerTest {
final Output actualObject = actualOutputRequest.getOutput();
assertNotNull(actualObject);
- assertEquals(HttpStatus.OK.toString(), actualObject.getResponseCode());
+ assertEquals(HTTP_STATUS_OK, actualObject.getResponseCode());
assertEquals(Constants.YES, actualObject.getAckFinalIndicator());
assertEquals(SVC_REQUEST_ID, actualObject.getSvcRequestId());
assertNotNull(actualObject.getServiceResponseInformation());
@@ -157,7 +160,7 @@ public class OperationsControllerTest {
final Output actualObject = actualOutputRequest.getOutput();
assertNotNull(actualObject);
- assertEquals(HttpStatus.BAD_REQUEST.toString(), actualObject.getResponseCode());
+ assertEquals(HTTP_STATUS_BAD_REQUEST, actualObject.getResponseCode());
assertEquals(SVC_REQUEST_ID, actualObject.getSvcRequestId());
assertEquals(Constants.YES, actualObject.getAckFinalIndicator());
@@ -183,7 +186,7 @@ public class OperationsControllerTest {
final Output actualObject = actualOutputRequest.getOutput();
- assertEquals(HttpStatus.OK.toString(), actualObject.getResponseCode());
+ assertEquals(HTTP_STATUS_OK, actualObject.getResponseCode());
assertEquals(Constants.YES, actualObject.getAckFinalIndicator());
assertEquals(VNF_SVC_REQUEST_ID, actualObject.getSvcRequestId());
assertNotNull(actualObject.getServiceResponseInformation());
@@ -242,7 +245,7 @@ public class OperationsControllerTest {
final Output actualObject = badOutputRequest.getOutput();
assertNotNull(actualObject);
- assertEquals(HttpStatus.BAD_REQUEST.toString(), actualObject.getResponseCode());
+ assertEquals(HTTP_STATUS_BAD_REQUEST, actualObject.getResponseCode());
assertEquals(VNF_SVC_REQUEST_ID, actualObject.getSvcRequestId());
assertEquals(Constants.YES, actualObject.getAckFinalIndicator());
@@ -276,7 +279,7 @@ public class OperationsControllerTest {
final Output actualObject = actualOutputRequest.getOutput();
- assertEquals(HttpStatus.OK.toString(), actualObject.getResponseCode());
+ assertEquals(HTTP_STATUS_OK, actualObject.getResponseCode());
assertEquals(Constants.YES, actualObject.getAckFinalIndicator());
assertEquals(VNF_SVC_REQUEST_ID, actualObject.getSvcRequestId());
assertNotNull(actualObject.getServiceResponseInformation());
@@ -349,7 +352,7 @@ public class OperationsControllerTest {
final Output actualObject = actualOutputRequest.getOutput();
- assertEquals(HttpStatus.OK.toString(), actualObject.getResponseCode());
+ assertEquals(HTTP_STATUS_OK, actualObject.getResponseCode());
assertEquals(Constants.YES, actualObject.getAckFinalIndicator());
assertEquals(VNF_SVC_REQUEST_ID, actualObject.getSvcRequestId());
@@ -395,7 +398,7 @@ public class OperationsControllerTest {
final Output actualObject = actualOutputRequest.getOutput();
- assertEquals(HttpStatus.OK.toString(), actualObject.getResponseCode());
+ assertEquals(HTTP_STATUS_OK, actualObject.getResponseCode());
assertEquals(Constants.YES, actualObject.getAckFinalIndicator());
assertEquals(SVC_REQUEST_ID, actualObject.getSvcRequestId());
@@ -435,7 +438,7 @@ public class OperationsControllerTest {
final Output actualObject = actualOutputRequest.getOutput();
- assertEquals(HttpStatus.OK.toString(), actualObject.getResponseCode());
+ assertEquals(HTTP_STATUS_OK, actualObject.getResponseCode());
assertEquals(Constants.YES, actualObject.getAckFinalIndicator());
assertEquals(SVC_REQUEST_ID, actualObject.getSvcRequestId());
diff --git a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-api/pom.xml b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-api/pom.xml
index ade3e012..23dc243f 100644
--- a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-api/pom.xml
+++ b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-api/pom.xml
@@ -1,106 +1,121 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.onap.so.simulators.vnfm</groupId>
- <artifactId>vnfm-simulator</artifactId>
- <version>1.0-SNAPSHOT</version>
- </parent>
- <artifactId>vnfm-api</artifactId>
- <name>${project.artifactId}</name>
- <properties>
- <gson-fire-version>1.8.2</gson-fire-version>
- <retrofit-version>2.3.0</retrofit-version>
- <threetenbp-version>1.3.5</threetenbp-version>
- <rxjava-version>2.0.0-RC1</rxjava-version>
- <oltu-version>1.0.1</oltu-version>
- <swagger-core-version>1.5.15</swagger-core-version>
- <gson-version>2.8.5</gson-version>
- </properties>
- <description>VNFM Simulator adapter API</description>
-
- <build>
- <plugins>
- <plugin>
- <groupId>io.swagger</groupId>
- <artifactId>swagger-codegen-maven-plugin</artifactId>
- <version>2.3.1</version>
- <executions>
- <execution>
- <id>vnfmsimulator</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>generate</goal>
- </goals>
- <configuration>
- <inputSpec>${basedir}/src/main/resources/vnfm-sim-swagger.yaml</inputSpec>
- <language>java</language>
- <library>retrofit2</library>
- <output>${project.build.directory}/generated-sources/vnfmsimulator</output>
- <apiPackage>org.onap.vnfm.v1.api</apiPackage>
- <modelPackage>org.onap.vnfm.v1.model</modelPackage>
- <configOptions>
- <jackson>true</jackson>
- <sourceFolder>src/gen/java/main</sourceFolder>
- <withXml>true</withXml>
- <useRxJava2>true</useRxJava2>
- </configOptions>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- <dependencies>
- <dependency>
- <groupId>io.swagger</groupId>
- <artifactId>swagger-annotations</artifactId>
- <version>${swagger-core-version}</version>
- </dependency>
- <dependency>
- <groupId>com.squareup.retrofit2</groupId>
- <artifactId>converter-gson</artifactId>
- <version>${retrofit-version}</version>
- </dependency>
- <dependency>
- <groupId>com.squareup.retrofit2</groupId>
- <artifactId>retrofit</artifactId>
- <version>${retrofit-version}</version>
- </dependency>
- <dependency>
- <groupId>com.squareup.retrofit2</groupId>
- <artifactId>converter-scalars</artifactId>
- <version>${retrofit-version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.oltu.oauth2</groupId>
- <artifactId>org.apache.oltu.oauth2.client</artifactId>
- <version>${oltu-version}</version>
- </dependency>
- <dependency>
- <groupId>io.gsonfire</groupId>
- <artifactId>gson-fire</artifactId>
- <version>${gson-fire-version}</version>
- </dependency>
- <dependency>
- <groupId>org.threeten</groupId>
- <artifactId>threetenbp</artifactId>
- <version>${threetenbp-version}</version>
- </dependency>
- <dependency>
- <groupId>io.reactivex.rxjava2</groupId>
- <artifactId>rxjava</artifactId>
- <version>${rxjava-version}</version>
- </dependency>
- <dependency>
- <groupId>com.squareup.retrofit2</groupId>
- <artifactId>adapter-rxjava2</artifactId>
- <version>${retrofit-version}</version>
- </dependency>
- <dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- <version>${gson-version}</version>
- </dependency>
- </dependencies>
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.onap.so.simulators.vnfm</groupId>
+ <artifactId>vnfm-simulator</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>vnfm-api</artifactId>
+ <name>${project.artifactId}</name>
+ <properties>
+ <gson-fire-version>1.8.2</gson-fire-version>
+ <retrofit-version>2.3.0</retrofit-version>
+ <threetenbp-version>1.3.5</threetenbp-version>
+ <rxjava-version>2.0.0-RC1</rxjava-version>
+ <oltu-version>1.0.1</oltu-version>
+ <swagger-core-version>1.5.15</swagger-core-version>
+ <gson-version>2.8.5</gson-version>
+ </properties>
+ <description>VNFM Simulator adapter API</description>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>io.swagger</groupId>
+ <artifactId>swagger-codegen-maven-plugin</artifactId>
+ <version>2.3.1</version>
+ <executions>
+ <execution>
+ <id>vnfmsimulator</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ <configuration>
+ <inputSpec>${basedir}/src/main/resources/vnfm-sim-swagger.yaml</inputSpec>
+ <language>java</language>
+ <library>retrofit2</library>
+ <output>${project.build.directory}/generated-sources/vnfmsimulator</output>
+ <apiPackage>org.onap.vnfm.v1.api</apiPackage>
+ <modelPackage>org.onap.vnfm.v1.model</modelPackage>
+ <configOptions>
+ <jackson>true</jackson>
+ <sourceFolder>src/gen/java/main</sourceFolder>
+ <withXml>true</withXml>
+ <useRxJava2>true</useRxJava2>
+ </configOptions>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>io.swagger</groupId>
+ <artifactId>swagger-annotations</artifactId>
+ <version>${swagger-core-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.squareup.retrofit2</groupId>
+ <artifactId>converter-gson</artifactId>
+ <version>${retrofit-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.squareup.retrofit2</groupId>
+ <artifactId>retrofit</artifactId>
+ <version>${retrofit-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.squareup.retrofit2</groupId>
+ <artifactId>converter-scalars</artifactId>
+ <version>${retrofit-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.oltu.oauth2</groupId>
+ <artifactId>org.apache.oltu.oauth2.client</artifactId>
+ <version>${oltu-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>io.gsonfire</groupId>
+ <artifactId>gson-fire</artifactId>
+ <version>${gson-fire-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.threeten</groupId>
+ <artifactId>threetenbp</artifactId>
+ <version>${threetenbp-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>io.reactivex.rxjava2</groupId>
+ <artifactId>rxjava</artifactId>
+ <version>${rxjava-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.squareup.retrofit2</groupId>
+ <artifactId>adapter-rxjava2</artifactId>
+ <version>${retrofit-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>${gson-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-impl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.activation</groupId>
+ <artifactId>activation</artifactId>
+ </dependency>
+ </dependencies>
</project> \ No newline at end of file
diff --git a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/api/VeVnfmApi.java b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/api/VeVnfmApi.java
new file mode 100644
index 00000000..14ee2fd3
--- /dev/null
+++ b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/api/VeVnfmApi.java
@@ -0,0 +1,86 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2019 Samsung. 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.so.svnfm.simulator.api;
+
+import com.squareup.okhttp.Call;
+import com.squareup.okhttp.Response;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.*;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.api.DefaultApi;
+import org.onap.so.adapters.vnfmadapter.extclients.vnfm.lcn.model.VnfLcmOperationOccurrenceNotification;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class VeVnfmApi extends DefaultApi {
+
+ public VeVnfmApi(final ApiClient apiClient) {
+ super(apiClient);
+ }
+
+ public Call lcnVnfLcmOperationOccurrenceNotificationPostCall(
+ final VnfLcmOperationOccurrenceNotification vnfLcmOperationOccurrenceNotification,
+ final String contentType, final String authorization,
+ final ProgressResponseBody.ProgressListener progressListener,
+ final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+ return lcnVnfObjectNotificationPostCall(vnfLcmOperationOccurrenceNotification,
+ contentType, authorization, progressListener, progressRequestListener);
+ }
+
+ private Call lcnVnfObjectNotificationPostCall(
+ final Object body, final String contentType, final String authorization,
+ final ProgressResponseBody.ProgressListener progressListener,
+ final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
+ final List<Pair> localVarQueryParams = new ArrayList<>();
+ final List<Pair> localVarCollectionQueryParams = new ArrayList<>();
+ final Map<String, String> localVarHeaderParams = new HashMap<>();
+
+ if (authorization != null) {
+ localVarHeaderParams.put("Authorization", getApiClient().parameterToString(authorization));
+ }
+
+ if (contentType != null) {
+ localVarHeaderParams.put("Content-Type", getApiClient().parameterToString(contentType));
+ }
+
+ final String[] localVarAccepts = new String[]{"application/json"};
+ final String localVarAccept = getApiClient().selectHeaderAccept(localVarAccepts);
+
+ if (localVarAccept != null) {
+ localVarHeaderParams.put("Accept", localVarAccept);
+ }
+
+ final String[] localVarContentTypes = new String[]{"application/json"};
+ final String localVarContentType = getApiClient().selectHeaderContentType(localVarContentTypes);
+ localVarHeaderParams.put("Content-Type", localVarContentType);
+
+ if (progressListener != null) {
+ getApiClient().getHttpClient().networkInterceptors().add(ch -> {
+ final Response originalResponse = ch.proceed(ch.request());
+ return originalResponse.newBuilder().body(new ProgressResponseBody(originalResponse.body(), progressListener)).build();
+ });
+ }
+
+ final Map<String, Object> localVarFormParams = new HashMap<>();
+ final String[] localVarAuthNames = new String[0];
+
+ return getApiClient().buildCall("", "POST", localVarQueryParams, localVarCollectionQueryParams, body, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
+ }
+}
diff --git a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/services/OperationProgressor.java b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/services/OperationProgressor.java
index 487a931c..ba549009 100644
--- a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/services/OperationProgressor.java
+++ b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/services/OperationProgressor.java
@@ -44,10 +44,12 @@ import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse200;
import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.InlineResponse201InstantiatedVnfInfoVnfcResourceInfo;
import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.SubscriptionsAuthenticationParamsBasic;
import org.onap.so.adapters.vnfmadapter.extclients.vnfm.model.SubscriptionsAuthenticationParamsOauth2ClientCredentials;
+import org.onap.so.svnfm.simulator.api.VeVnfmApi;
import org.onap.so.svnfm.simulator.model.Vnfds;
import org.onap.so.svnfm.simulator.repository.VnfOperationRepository;
import org.onap.so.svnfm.simulator.config.ApplicationConfig;
import org.onap.so.svnfm.simulator.model.VnfOperation;
+import org.onap.so.svnfm.simulator.util.PatternContainedChecker;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.ClassPathResource;
@@ -82,11 +84,12 @@ public abstract class OperationProgressor implements Runnable {
final ApiClient apiClient = new ApiClient();
String callBackUrl = subscriptionService.getSubscriptions().iterator().next().getCallbackUri();
- callBackUrl = callBackUrl.substring(0, callBackUrl.indexOf("/lcn/"));
+ final PatternContainedChecker checker = new PatternContainedChecker("/lcn/", callBackUrl);
+ callBackUrl = checker.getText();
apiClient.setBasePath(callBackUrl);
apiClient.setKeyManagers(getKeyManagers());
apiClient.setSslCaCert(getCertificateToTrust());
- notificationClient = new DefaultApi(apiClient);
+ notificationClient = checker.isContained() ? new DefaultApi(apiClient) : new VeVnfmApi(apiClient);
final org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.ApiClient grantApiClient =
new org.onap.so.adapters.vnfmadapter.extclients.vnfm.grant.ApiClient();
diff --git a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/util/PatternContainedChecker.java b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/util/PatternContainedChecker.java
new file mode 100644
index 00000000..d33026ab
--- /dev/null
+++ b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/java/org/onap/so/svnfm/simulator/util/PatternContainedChecker.java
@@ -0,0 +1,38 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2019 Samsung. 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.so.svnfm.simulator.util;
+
+public class PatternContainedChecker {
+
+ private final boolean contained;
+ private final String text;
+
+ public PatternContainedChecker(final String pattern, final String text) {
+ this.contained = text.contains(pattern);
+ this.text = this.contained ? text.substring(0, text.indexOf(pattern)) : text;
+ }
+
+ public boolean isContained() {
+ return contained;
+ }
+
+ public String getText() {
+ return text;
+ }
+}