aboutsummaryrefslogtreecommitdiffstats
path: root/test/csit
diff options
context:
space:
mode:
Diffstat (limited to 'test/csit')
-rwxr-xr-xtest/csit/plans/appc/healthcheck/setup.sh2
-rw-r--r--test/csit/plans/dcaegen2/prh_testsuites/setup.sh55
-rw-r--r--test/csit/plans/dcaegen2/prh_testsuites/teardown.sh20
-rw-r--r--test/csit/plans/dcaegen2/prh_testsuites/testplan.txt3
-rw-r--r--test/csit/tests/clamp/UIs/03__Verify_UI_Models.robot2
-rw-r--r--test/csit/tests/clamp/UIs/04__Submit_deploy_chain_Holmes.robot4
-rw-r--r--test/csit/tests/clamp/UIs/05__Submit_deploy_chain_TCA.robot4
-rw-r--r--test/csit/tests/dcaegen2/prh_testcases/__init__.robot0
-rw-r--r--test/csit/tests/dcaegen2/prh_testcases/prh_tests.robot65
-rw-r--r--test/csit/tests/dcaegen2/prh_testcases/resources/docker-compose.yml44
-rw-r--r--test/csit/tests/dcaegen2/prh_testcases/resources/simulator/AAI.py56
-rw-r--r--test/csit/tests/dcaegen2/prh_testcases/resources/simulator/AAI_simulator11
-rw-r--r--test/csit/tests/dcaegen2/prh_testcases/resources/simulator/DMaaP.py75
-rw-r--r--test/csit/tests/dcaegen2/prh_testcases/resources/simulator/DMaaP_simulator11
14 files changed, 346 insertions, 6 deletions
diff --git a/test/csit/plans/appc/healthcheck/setup.sh b/test/csit/plans/appc/healthcheck/setup.sh
index 51d100033..a0683fbe6 100755
--- a/test/csit/plans/appc/healthcheck/setup.sh
+++ b/test/csit/plans/appc/healthcheck/setup.sh
@@ -20,7 +20,7 @@
SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source ${WORKSPACE}/test/csit/scripts/appc/script1.sh
-export APPC_DOCKER_IMAGE_VERSION=1.3.0-SNAPSHOT-latest
+export APPC_DOCKER_IMAGE_VERSION=1.4.0-SNAPSHOT-latest
export CCSDK_DOCKER_IMAGE_VERSION=0.2-STAGING-latest
export BRANCH=beijing
export SOLUTION_NAME=onap
diff --git a/test/csit/plans/dcaegen2/prh_testsuites/setup.sh b/test/csit/plans/dcaegen2/prh_testsuites/setup.sh
new file mode 100644
index 000000000..279696597
--- /dev/null
+++ b/test/csit/plans/dcaegen2/prh_testsuites/setup.sh
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+source ${SCRIPTS}/common_functions.sh
+
+export PRH_SERVICE="prh"
+export DMAAP_SIMULATOR="dmaap_simulator"
+export AAI_SIMULATOR="aai_simulator"
+
+cd ${WORKSPACE}/test/csit/tests/dcaegen2/prh_testcases/resources/
+
+docker login -u docker -p docker nexus3.onap.org:10003
+docker-compose up -d --build
+
+# Wait for initialization of Docker containers
+for i in {1..50}; do
+ if [ $(docker inspect --format '{{ .State.Running }}' ${PRH_SERVICE}) ] && \
+ [ $(docker inspect --format '{{ .State.Running }}' ${DMAAP_SIMULATOR}) ] && \
+ [ $(docker inspect --format '{{ .State.Running }}' ${AAI_SIMULATOR}) ]
+ then
+ echo "dmaap_simulator, aai_simulator and prh services are running"
+ break
+ else
+ echo sleep ${i}
+ sleep ${i}
+ fi
+done
+
+PRH_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${PRH_SERVICE})
+DMAAP_SIMULATOR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${DMAAP_SIMULATOR})
+AAI_SIMULATOR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${AAI_SIMULATOR})
+
+bypass_ip_adress ${PRH_IP}
+bypass_ip_adress ${DMAAP_SIMULATOR_IP}
+bypass_ip_adress ${AAI_SIMULATOR_IP}
+
+echo PRH_IP=${PRH_IP}
+echo DMAAP_SIMULATOR_IP=${DMAAP_SIMULATOR_IP}
+echo AAI_SIMULATOR_IP=${AAI_SIMULATOR_IP}
+
+# Wait for initialization of docker services
+for i in {1..50}; do
+ curl -sS -m 1 localhost:2222 && \
+ curl -sS -m 1 localhost:3333 && \
+ curl -sS -m 1 localhost:8100/heartbeat && break
+ echo sleep ${i}
+ sleep ${i}
+done
+
+docker cp prh:/config/prh_endpoints.json ${WORKDIR}
+sed -i -e 's/"dmaapHostName":.*/"dmaapHostName": "'${DMAAP_SIMULATOR_IP}'",/g' ${WORKDIR}/prh_endpoints.json
+sed -i -e 's/"aaiHost":.*/"aaiHost": "'${AAI_SIMULATOR_IP}'",/g' ${WORKDIR}/prh_endpoints.json
+docker cp ${WORKDIR}/prh_endpoints.json prh:/config/
+
+#Pass any variables required by Robot test suites in ROBOT_VARIABLES
+ROBOT_VARIABLES="-v DMAAP_SIMULATOR:localhost:2222 -v AAI_SIMULATOR:localhost:3333 -v PRH:localhost:8100"
diff --git a/test/csit/plans/dcaegen2/prh_testsuites/teardown.sh b/test/csit/plans/dcaegen2/prh_testsuites/teardown.sh
new file mode 100644
index 000000000..bd1e5ba06
--- /dev/null
+++ b/test/csit/plans/dcaegen2/prh_testsuites/teardown.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+#
+# Copyright 2017 Nokia, Inc. and others.
+#
+# 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.
+#
+
+kill-instance.sh prh
+kill-instance.sh dmaap_simulator
+kill-instance.sh aai_simulator
diff --git a/test/csit/plans/dcaegen2/prh_testsuites/testplan.txt b/test/csit/plans/dcaegen2/prh_testsuites/testplan.txt
new file mode 100644
index 000000000..8c1f3274a
--- /dev/null
+++ b/test/csit/plans/dcaegen2/prh_testsuites/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+dcaegen2/prh_testcases
diff --git a/test/csit/tests/clamp/UIs/03__Verify_UI_Models.robot b/test/csit/tests/clamp/UIs/03__Verify_UI_Models.robot
index a9cb78749..8bbf7c85e 100644
--- a/test/csit/tests/clamp/UIs/03__Verify_UI_Models.robot
+++ b/test/csit/tests/clamp/UIs/03__Verify_UI_Models.robot
@@ -21,7 +21,7 @@ Verify HolmesModel1
Should Contain Match ${resp} *migrate*
Should Contain Match ${resp} *240*
Should Contain Match ${resp} *390*
- Should Contain Match ${resp} *correlational Logic1*
+ Should Contain Match ${resp} *Logic1*
Should Contain Match ${resp} *config Policy Name1*
Verify TCAModel1
diff --git a/test/csit/tests/clamp/UIs/04__Submit_deploy_chain_Holmes.robot b/test/csit/tests/clamp/UIs/04__Submit_deploy_chain_Holmes.robot
index f400156d1..32b4ce7ec 100644
--- a/test/csit/tests/clamp/UIs/04__Submit_deploy_chain_Holmes.robot
+++ b/test/csit/tests/clamp/UIs/04__Submit_deploy_chain_Holmes.robot
@@ -78,8 +78,8 @@ Deploy Holmes CL
Click Element xpath=//*[@id="navbar"]/ul/li[2]/a
Wait Until Element Is Visible locator=Deploy timeout=60
Click Element locator=Deploy
- Wait Until Element Is Visible xpath=//*[@id="deployProperties"] timeout=60
- Input Text xpath=//*[@id="deployProperties"] text={}
+# Wait Until Element Is Visible xpath=//*[@id="deployProperties"] timeout=60
+# Input Text xpath=//*[@id="deployProperties"] text={}
Click Button locator=Deploy
Click Button locator=Yes
Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60
diff --git a/test/csit/tests/clamp/UIs/05__Submit_deploy_chain_TCA.robot b/test/csit/tests/clamp/UIs/05__Submit_deploy_chain_TCA.robot
index 34c1a71ef..db72f3bbd 100644
--- a/test/csit/tests/clamp/UIs/05__Submit_deploy_chain_TCA.robot
+++ b/test/csit/tests/clamp/UIs/05__Submit_deploy_chain_TCA.robot
@@ -78,8 +78,8 @@ Deploy TCA CL
Click Element xpath=//*[@id="navbar"]/ul/li[2]/a
Wait Until Element Is Visible locator=Deploy timeout=60
Click Element locator=Deploy
- Wait Until Element Is Visible xpath=//*[@id="deployProperties"] timeout=60
- Input Text xpath=//*[@id="deployProperties"] text={}
+# Wait Until Element Is Visible xpath=//*[@id="deployProperties"] timeout=60
+# Input Text xpath=//*[@id="deployProperties"] text={}
Click Button locator=Deploy
Click Button locator=Yes
Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60
diff --git a/test/csit/tests/dcaegen2/prh_testcases/__init__.robot b/test/csit/tests/dcaegen2/prh_testcases/__init__.robot
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test/csit/tests/dcaegen2/prh_testcases/__init__.robot
diff --git a/test/csit/tests/dcaegen2/prh_testcases/prh_tests.robot b/test/csit/tests/dcaegen2/prh_testcases/prh_tests.robot
new file mode 100644
index 000000000..764a879a3
--- /dev/null
+++ b/test/csit/tests/dcaegen2/prh_testcases/prh_tests.robot
@@ -0,0 +1,65 @@
+*** Settings ***
+Library RequestsLibrary
+
+*** Variables ***
+${DMAAP_SIM_URL} http://${DMAAP_SIMULATOR}
+${AAI_SIM_URL} http://${AAI_SIMULATOR}
+${PRH_URL} http://${PRH}
+
+*** Test Cases ***
+Getting and Consuming Positive Scenario
+ [Documentation] Get message from new topic and consume it - positive scenarios
+ [Tags] PRH
+ [Setup] Start prh
+ [Template] Run Getting and Consuming
+ [Timeout]
+ {"pnfName":"NOKQTFCOC540002E","ipv4":"10.16.123.234","ipv6":"2001:0db8:85a3:0000:0000:8a2e:0370:7334"} NOKQTFCOC540002E {"event": {"commonEventHeader": {"sourceId":"QTFCOC540002E", "startEpochMicrosec":1519837825682, "eventId":"QTFCOC540002E-reg", "nfcNamingCode":"5DU", "internalHeaderFields":{"collectorTimeStamp":"Fri, 04 27 2018 09:01:10 GMT"}, "eventType":"pnfRegistration", "priority":"Normal", "version":3, "reportingEntityName":"5GRAN_DU", "sequence":0, "domain":"other", "lastEpochMicrosec":1519837825682, "eventName":"pnfRegistration_5GDU", "sourceName":"5GRAN_DU", "nfNamingCode":"5GRAN"}, "otherFields": {"pnfLastServiceDate":1517206400, "pnfOamIpv6Address":"2001:0db8:85a3:0000:0000:8a2e:0370:7334", "pnfVendorName":"Nokia", "pnfModelNumber":"AJ02", "pnfFamily":"BBU", "pnfType":"AirScale", "otherFieldsVersion":1, "pnfOamIpv4Address":"10.16.123.234", "pnfSoftwareVersion":"v4.5.0.1", "pnfSerialNumber":"QTFCOC540002E", "pnfManufactureDate":1516406400}}}
+ {"pnfName":"NOKQTFCOC540002F","ipv4":"","ipv6":"2001:0db8:85a3:0000:0000:8a2e:0370:7334"} NOKQTFCOC540002F {"event": {"commonEventHeader": {"sourceId":"QTFCOC540002F", "startEpochMicrosec":1519837825682, "eventId":"QTFCOC540002F-reg", "nfcNamingCode":"5DU", "internalHeaderFields":{"collectorTimeStamp":"Fri, 04 27 2018 09:01:10 GMT"}, "eventType":"pnfRegistration", "priority":"Normal", "version":3, "reportingEntityName":"5GRAN_DU", "sequence":0, "domain":"other", "lastEpochMicrosec":1519837825682, "eventName":"pnfRegistration_5GDU", "sourceName":"5GRAN_DU", "nfNamingCode":"5GRAN"}, "otherFields": {"pnfLastServiceDate":1517206400, "pnfOamIpv6Address":"2001:0db8:85a3:0000:0000:8a2e:0370:7334", "pnfVendorName":"Nokia", "pnfModelNumber":"AJ02", "pnfFamily":"BBU", "pnfType":"AirScale", "otherFieldsVersion":1, "pnfOamIpv4Address":"", "pnfSoftwareVersion":"v4.5.0.1", "pnfSerialNumber":"QTFCOC540002F", "pnfManufactureDate":1516406400}}}
+ {"pnfName":"NOKQTFCOC540002G","ipv4":"10.16.123.234","ipv6":""} NOKQTFCOC540002G {"event": {"commonEventHeader": {"sourceId":"QTFCOC540002G", "startEpochMicrosec":1519837825682, "eventId":"QTFCOC540002G-reg", "nfcNamingCode":"5DU", "internalHeaderFields":{"collectorTimeStamp":"Fri, 04 27 2018 09:01:10 GMT"}, "eventType":"pnfRegistration", "priority":"Normal", "version":3, "reportingEntityName":"5GRAN_DU", "sequence":0, "domain":"other", "lastEpochMicrosec":1519837825682, "eventName":"pnfRegistration_5GDU", "sourceName":"5GRAN_DU", "nfNamingCode":"5GRAN"}, "otherFields": {"pnfLastServiceDate":1517206400, "pnfOamIpv6Address":"", "pnfVendorName":"Nokia", "pnfModelNumber":"AJ02", "pnfFamily":"BBU", "pnfType":"AirScale", "otherFieldsVersion":1, "pnfOamIpv4Address":"10.16.123.234", "pnfSoftwareVersion":"v4.5.0.1", "pnfSerialNumber":"QTFCOC540002G", "pnfManufactureDate":1516406400}}}
+ {"pnfName":"ERIQTFCOC5400000","ipv4":"10.16.123.23","ipv6":""} ERIQTFCOC5400000 {"event": {"commonEventHeader": {"sourceId":"QTFCOC5400000", "startEpochMicrosec":1519837825682, "eventId":"QTFCOC5400000-reg", "nfcNamingCode":"5DU", "internalHeaderFields":{"collectorTimeStamp":"Fri, 04 27 2018 09:01:10 GMT"}, "eventType":"pnfRegistration", "priority":"Normal", "version":3, "reportingEntityName":"5GRAN_DU", "sequence":0, "domain":"other", "lastEpochMicrosec":1519837825682, "eventName":"pnfRegistration_5GDU", "sourceName":"5GRAN_DU", "nfNamingCode":"5GRAN"}, "otherFields": {"pnfLastServiceDate":1517206400, "pnfOamIpv6Address":"", "pnfVendorName":"Ericsson", "pnfModelNumber":"AJ02", "pnfFamily":"BBU", "pnfType":"AirScale", "otherFieldsVersion":1, "pnfOamIpv4Address":"10.16.123.23", "pnfSoftwareVersion":"v4.5.0.1", "pnfSerialNumber":"QTFCOC5400000", "pnfManufactureDate":1516406400}}}
+ [Teardown] Stop prh
+
+*** Keywords ***
+Run Getting and Consuming
+ [Arguments] ${posted_event_to_dmaap} ${pnfs_name} ${event_in_dmaap}
+ [Timeout] 1 minutes
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ Set pnfs name in AAI ${pnfs_name}
+ Set get event in DMAAP ${event_in_dmaap} ${headers}
+ : FOR ${Index} IN RANGE 1 30
+ \ Create Session prh_ready ${DMAAP_SIM_URL}
+ \ ${resp}= Get Request prh_ready /events/pnfReady headers=${headers}
+ \ Exit For Loop If '${resp.text}' == '${posted_event_to_dmaap}'
+ \ Sleep 1s
+ Should Be Equal ${resp.text} ${posted_event_to_dmaap}
+
+Start prh
+ [Timeout] 1 minute
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ Create Session prh_start ${PRH_URL}
+ ${resp}= Get Request prh_start /start headers=${headers}
+ Should Be Equal ${resp.text} "PRH Service has been started!"
+
+Stop prh
+ [Timeout] 1 minute
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ Create Session prh_stop ${PRH_URL}
+ ${resp}= Get Request prh_stop /stopPrh headers=${headers}
+ Should Be Equal ${resp.text} "PRH Service has already been stopped!"
+
+Set pnfs name in AAI
+ [Arguments] ${pnfs_name}
+ [Timeout] 1 minute
+ ${headers}= Create Dictionary Accept=application/json Content-Type=text/html
+ Create Session set_pnfs_in_aai ${AAI_SIM_URL}
+ ${resp}= Put Request set_pnfs_in_aai /set_pnfs headers=${headers} data=${pnfs_name}
+ Should Be Equal As Strings ${resp.status_code} 200
+ Log To Console ${resp.text}
+
+Set get event in DMAAP
+ [Arguments] ${event_in_dmaap} ${headers}
+ [Timeout] 1 minute
+ Create Session set_get_event ${DMAAP_SIM_URL}
+ ${resp}= Put Request set_get_event /set_get_event headers=${headers} data=${event_in_dmaap}
+ Should Be Equal As Strings ${resp.status_code} 200
+ Log To Console ${resp.text}
diff --git a/test/csit/tests/dcaegen2/prh_testcases/resources/docker-compose.yml b/test/csit/tests/dcaegen2/prh_testcases/resources/docker-compose.yml
new file mode 100644
index 000000000..e27d84516
--- /dev/null
+++ b/test/csit/tests/dcaegen2/prh_testcases/resources/docker-compose.yml
@@ -0,0 +1,44 @@
+version: '3'
+services:
+ prh:
+ image: nexus3.onap.org:10003/onap/org.onap.dcaegen2.services.prh.prh-app-server
+ command: >
+ --dmaap.dmaapConsumerConfiguration.dmaapPortNumber=2222
+ --dmaap.dmaapProducerConfiguration.dmaapPortNumber=2222
+ --aai.aaiClientConfiguration.aaiHostPortNumber=3333
+ --aai.aaiClientConfiguration.aaiProtocol=http
+ entrypoint:
+ - java
+ - -Dspring.profiles.active=dev
+ - -Dlogging.level.org.onap.dcaegen2.services.prh=TRACE
+ - -jar
+ - /opt/prh-app-server.jar
+ ports:
+ - "8100:8100"
+ - "8433:8433"
+ container_name: prh
+
+ dmaap_simulator:
+ build:
+ context: simulator
+ dockerfile: DMaaP_simulator
+ args:
+ - https_proxy=${HTTPS_PROXY}
+ ports:
+ - "2222:2222"
+ container_name: dmaap_simulator
+ depends_on:
+ - prh
+
+ aai_simulator:
+ build:
+ context: simulator
+ dockerfile: AAI_simulator
+ args:
+ - https_proxy=${HTTPS_PROXY}
+ ports:
+ - "3333:3333"
+ container_name: aai_simulator
+ depends_on:
+ - prh
+ \ No newline at end of file
diff --git a/test/csit/tests/dcaegen2/prh_testcases/resources/simulator/AAI.py b/test/csit/tests/dcaegen2/prh_testcases/resources/simulator/AAI.py
new file mode 100644
index 000000000..f9d0ee07b
--- /dev/null
+++ b/test/csit/tests/dcaegen2/prh_testcases/resources/simulator/AAI.py
@@ -0,0 +1,56 @@
+import BaseHTTPServer
+import re
+import sys
+
+from robot.api import logger
+
+pnfs = 'Empty'
+
+class AAIHandler(BaseHTTPServer.BaseHTTPRequestHandler):
+ def do_PUT(self):
+ if re.search('/set_pnfs', self.path):
+ global pnfs
+ content_length = int(self.headers['Content-Length'])
+ pnfs = self.rfile.read(content_length)
+ self.send_response(200)
+ self.send_header('Content-Type', 'application/json')
+ self.end_headers()
+
+ return
+
+ def do_PATCH(self):
+ pnfs_name = '/aai/v12/network/pnfs/pnf/' + pnfs
+ if re.search(pnfs_name, self.path):
+ self.send_response(200)
+ self.end_headers()
+
+ return
+
+ def do_GET(self):
+ self.send_response(200)
+ self.send_header('Content-Type', 'application/json')
+ self.end_headers()
+ self.wfile.write('GET')
+ self.wfile.close()
+
+ return
+
+def _main_ (HandlerClass = AAIHandler,
+ ServerClass = BaseHTTPServer.HTTPServer, protocol="HTTP/1.0"):
+
+ if sys.argv[1:]:
+ port = int(sys.argv[1])
+ else:
+ port = 3333
+
+ server_address = ('', port)
+
+ HandlerClass.protocol_version = protocol
+ httpd = ServerClass(server_address, HandlerClass)
+
+ sa = httpd.socket.getsockname()
+ print "Serving HTTP on", sa[0], "port", sa[1], "..."
+ httpd.serve_forever()
+
+if __name__ == '__main__':
+ _main_()
diff --git a/test/csit/tests/dcaegen2/prh_testcases/resources/simulator/AAI_simulator b/test/csit/tests/dcaegen2/prh_testcases/resources/simulator/AAI_simulator
new file mode 100644
index 000000000..2d96d8925
--- /dev/null
+++ b/test/csit/tests/dcaegen2/prh_testcases/resources/simulator/AAI_simulator
@@ -0,0 +1,11 @@
+FROM python:2
+
+ENV https_proxy "$https_proxy"
+
+ADD AAI.py /
+
+RUN pip install robotframework
+
+EXPOSE 3333
+
+CMD [ "python", "./AAI.py" ]
diff --git a/test/csit/tests/dcaegen2/prh_testcases/resources/simulator/DMaaP.py b/test/csit/tests/dcaegen2/prh_testcases/resources/simulator/DMaaP.py
new file mode 100644
index 000000000..af716fd06
--- /dev/null
+++ b/test/csit/tests/dcaegen2/prh_testcases/resources/simulator/DMaaP.py
@@ -0,0 +1,75 @@
+import BaseHTTPServer
+import re
+import sys
+
+from robot.api import logger
+
+posted_event_from_prh = 'Empty'
+received_event_to_get_method = 'Empty'
+
+class DMaaPHandler(BaseHTTPServer.BaseHTTPRequestHandler):
+ def do_PUT(self):
+ if re.search('/set_get_event', self.path):
+ global received_event_to_get_method
+ content_length = int(self.headers['Content-Length'])
+ received_event_to_get_method = self.rfile.read(content_length)
+ self.send_response(200)
+ self.send_header('Content-Type', 'application/json')
+ self.end_headers()
+
+ return
+
+ def do_POST(self):
+ if re.search('/events/pnfReady', self.path):
+ global posted_event_from_prh
+ content_length = int(self.headers['Content-Length'])
+ posted_event_from_prh = self.rfile.read(content_length)
+ self.send_response(200)
+ self.send_header('Content-Type', 'application/json')
+ self.end_headers()
+
+ return
+
+ def do_GET(self):
+ if re.search('/events/unauthenticated.SEC_OTHER_OUTPUT', self.path):
+ self.send_response(200)
+ self.send_header('Content-Type', 'application/json')
+ self.end_headers()
+ self.wfile.write(received_event_to_get_method)
+ self.wfile.close()
+ elif re.search('/events/pnfReady', self.path):
+ self.send_response(200)
+ self.send_header('Content-Type', 'application/json')
+ self.end_headers()
+ self.wfile.write(posted_event_from_prh)
+ global posted_event_from_prh
+ posted_event_from_prh = 'Empty'
+ self.wfile.close()
+ else:
+ self.send_response(200)
+ self.send_header('Content-Type', 'application/json')
+ self.end_headers()
+ self.wfile.write('GET else')
+ self.wfile.close()
+
+ return
+
+def _main_ (HandlerClass = DMaaPHandler,
+ ServerClass = BaseHTTPServer.HTTPServer, protocol="HTTP/1.0"):
+
+ if sys.argv[1:]:
+ port = int(sys.argv[1])
+ else:
+ port = 2222
+
+ server_address = ('', port)
+
+ HandlerClass.protocol_version = protocol
+ httpd = ServerClass(server_address, HandlerClass)
+
+ sa = httpd.socket.getsockname()
+ print "Serving HTTP on", sa[0], "port", sa[1], "..."
+ httpd.serve_forever()
+
+if __name__ == '__main__':
+ _main_()
diff --git a/test/csit/tests/dcaegen2/prh_testcases/resources/simulator/DMaaP_simulator b/test/csit/tests/dcaegen2/prh_testcases/resources/simulator/DMaaP_simulator
new file mode 100644
index 000000000..4de65393d
--- /dev/null
+++ b/test/csit/tests/dcaegen2/prh_testcases/resources/simulator/DMaaP_simulator
@@ -0,0 +1,11 @@
+FROM python:2
+
+ENV https_proxy "$https_proxy"
+
+ADD DMaaP.py /
+
+RUN pip install robotframework
+
+EXPOSE 2222
+
+CMD [ "python", "./DMaaP.py" ]