diff --git a/tests/dcaegen2-pmmapper/pmmapper/assets/meas_result.xml b/tests/dcaegen2-pmmapper/pmmapper/assets/meas_result.xml
new file mode 100644
index 0000000..269fdf1
--- /dev/null
+++ b/tests/dcaegen2-pmmapper/pmmapper/assets/meas_result.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<measCollecFile xmlns="http://www.3gpp.org/ftp/specs/archive/32_series/32.435#measCollec">
+    <fileHeader dnPrefix="some dnPrefix" vendorName="FooBar Ltd"
+                fileFormatVersion="32.435 V10.0">
+        <fileSender localDn="Dublin"/>
+        <measCollec beginTime="2018-10-02T12:00:00+01:00"/>
+    </fileHeader>
+    <measData>
+        <managedElement swVersion="r0.1" localDn="Dublin"/>
+        <measInfo measInfoId="some measInfoId">
+            <job jobId="jobId"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="PT900S"/>
+            <repPeriod duration="PT900S"/>
+            <measTypes>a b c</measTypes>
+            <measValue measObjLdn="objLdn">
+                <measResults>76 27 98</measResults>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+    </measData>
+    <fileFooter>
+        <measCollec endTime="2018-10-02T12:15:00+01:00"/>
+    </fileFooter>
+</measCollecFile>
diff --git a/tests/dcaegen2-pmmapper/pmmapper/assets/no_managed_element.xml b/tests/dcaegen2-pmmapper/pmmapper/assets/no_managed_element.xml
new file mode 100644
index 0000000..23e5c21
--- /dev/null
+++ b/tests/dcaegen2-pmmapper/pmmapper/assets/no_managed_element.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<measCollecFile xmlns="http://www.3gpp.org/ftp/specs/archive/32_series/32.435#measCollec">
+    <fileHeader dnPrefix="some dnPrefix" vendorName="FooBar Ltd"
+                fileFormatVersion="32.435 V10.0">
+        <fileSender localDn="Dublin"/>
+        <measCollec beginTime="2018-10-02T12:00:00+01:00"/>
+    </fileHeader>
+    <measData>
+        <measInfo measInfoId="some measInfoId">
+            <job jobId="some job Id"/>
+            <granPeriod endTime="2018-10-02T12:15:00Z" duration="some duration"/>
+            <repPeriod duration="PT900S"/>
+            <measType p="1">a</measType>
+            <measType p="2">b</measType>
+            <measType p="3">c</measType>
+            <measValue measObjLdn="some measObjLdn">
+                <r p="1">86</r>
+                <r p="2">67</r>
+                <r p="3">14</r>
+                <suspect>false</suspect>
+            </measValue>
+        </measInfo>
+    </measData>
+    <fileFooter>
+        <measCollec endTime="2018-10-02T12:15:00+01:00"/>
+    </fileFooter>
+</measCollecFile>
\ No newline at end of file
diff --git a/tests/dcaegen2-pmmapper/pmmapper/assets/no_measdata.xml b/tests/dcaegen2-pmmapper/pmmapper/assets/no_measdata.xml
new file mode 100644
index 0000000..855b2e9
--- /dev/null
+++ b/tests/dcaegen2-pmmapper/pmmapper/assets/no_measdata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<measCollecFile xmlns="http://www.3gpp.org/ftp/specs/archive/32_series/32.435#measCollec">
+    <fileHeader dnPrefix="some dnPrefix" vendorName="FooBar Ltd"
+                fileFormatVersion="32.435 V10.0">
+        <fileSender localDn="Dublin"/>
+        <measCollec beginTime="2018-10-02T12:00:00+01:00"/>
+    </fileHeader>
+    <fileFooter>
+        <measCollec endTime="2018-10-02T12:15:00+01:00"/>
+    </fileFooter>
+</measCollecFile>
diff --git a/tests/dcaegen2-pmmapper/pmmapper/assets/valid_metadata.json b/tests/dcaegen2-pmmapper/pmmapper/assets/valid_metadata.json
new file mode 100644
index 0000000..3a2340f
--- /dev/null
+++ b/tests/dcaegen2-pmmapper/pmmapper/assets/valid_metadata.json
@@ -0,0 +1,12 @@
+{
+    "productName": "NrRadio",
+    "vendorName": "Ericsson",
+    "lastEpochMicrosec": "1538478000000",
+    "sourceName": "oteNB5309",
+    "startEpochMicrosec": "1538478900000",
+    "timeZoneOffset": "UTC+05.00",
+    "location": "ftpes://192.168.0.101:22/ftp/rop/A20161224.1045-1100.bin.gz",
+    "compression": "gzip",
+    "fileFormatType": "org.3GPP.32.435#measCollec",
+    "fileFormatVersion": "V9"
+  }
\ No newline at end of file
diff --git a/tests/dcaegen2-pmmapper/pmmapper/pmmapper.robot b/tests/dcaegen2-pmmapper/pmmapper/pmmapper.robot
index 7134463..363c95c 100644
--- a/tests/dcaegen2-pmmapper/pmmapper/pmmapper.robot
+++ b/tests/dcaegen2-pmmapper/pmmapper/pmmapper.robot
@@ -14,6 +14,12 @@
 ${CLI_EXEC_CLI_SUBS}                     curl -k https://${DR_PROV_IP}:8443/internal/prov
 ${PMMAPPER_BASE_URL}                     http://${PMMAPPER_IP}:8081
 ${DELIVERY_ENDPOINT}                     /delivery
+${HEALTHCHECK_ENDPOINT}                  /healthcheck
+${NO_MANAGED_ELEMENT_PATH}               %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/no_managed_element.xml
+${NO_MEASDATA_PATH}                      %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/no_measdata.xml
+${MEASD_RESULT_PATH}                     %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/meas_result.xml
+${VALID_METADATA_PATH}                   %{WORKSPACE}/tests/dcaegen2-pmmapper/pmmapper/assets/valid_metadata.json
+${CLI_EXEC_CLI_PM_LOG}                   docker exec pmmapper /bin/sh -c "tail -5 /var/log/ONAP/dcaegen2/services/pm-mapper/pm-mapper_output.log"
 
 *** Test Cases ***
 
@@ -33,6 +39,14 @@
     Should Be Equal As Strings      ${cli_cmd_output.rc}            0
     Should Contain                  ${cli_cmd_output.stdout}        3gpppmmapper
 
+Verify Health Check returns 200 when a REST GET request to healthcheck url
+    [Tags]                          PM_MAPPER_03
+    [Documentation]                 Verify Health Check returns 200 when a REST GET request to healthcheck url
+    [Timeout]                       1 minute
+    ${resp}=                        Get Request                      mapper_session  ${HEALTHCHECK_ENDPOINT}
+    Should Be Equal As Strings      ${resp.status_code}              200
+
+
 Verify 3GPP PM Mapper responds appropriately when no metadata is provided
     [Tags]                          PM_MAPPER_10
     [Documentation]                 Verify 3GPP PM Mapper responds 400 with the message "Missing Metadata." when no metadata is provided
@@ -51,10 +65,57 @@
     Should Be Equal As Strings      ${resp.status_code}             400
     Should Be Equal As Strings      ${resp.content}                 Malformed Metadata.
 
+
+Verify that PM Mapper throws Event failed validation against schema error when no managed element content is provided
+    [Tags]                          PM_MAPPER_12
+    [Documentation]                 Verify 3gpp pm mapper responds with an error when no managed element content is provided
+    [Timeout]                       1 minute
+    ${no_managed_element_content}=  Get File                         ${NO_MANAGED_ELEMENT_PATH}
+    ${valid_metatdata}              Get File                         ${VALID_METADATA_PATH}
+    ${headers}=                     Create Dictionary                X-ONAP-RequestID=2  Content-Type=application/xml  X-DMAAP-DR-PUBLISH-ID=2  X-DMAAP-DR-META=${valid_metatdata.replace("\n","")}
+    ${resp}=                        Put Request                      mapper_session  ${DELIVERY_ENDPOINT}/filename    data=${no_managed_element_content}    headers=${headers}
+    Should Be Equal As Strings      ${resp.status_code}              200
+    ${cli_cmd_output}=              Run Process                      ${CLI_EXEC_CLI_PM_LOG}                     shell=yes
+    Log                             ${cli_cmd_output.stdout}
+    Should Be Equal As Strings      ${cli_cmd_output.rc}             0
+    Should Contain                  ${cli_cmd_output.stdout}         XML validation failed
+
+
+Verify that PM Mapper logs successful when a file that contains no measdata is provided
+    [Tags]                          PM_MAPPER_13
+    [Documentation]                 Verify that PM Mapper logs successful when a file that contains no measdata is provided
+    [Timeout]                       1 minute
+    ${valid_no_measdata_content}=   Get File                         ${NO_MEASDATA_PATH}
+    ${valid_metatdata}              Get File                         ${VALID_METADATA_PATH}
+    ${headers}=                     Create Dictionary                X-ONAP-RequestID=3  Content-Type=application/xml  X-DMAAP-DR-PUBLISH-ID=3  X-DMAAP-DR-META=${valid_metatdata.replace("\n","")}
+    ${resp}=                        Put Request                      mapper_session  ${DELIVERY_ENDPOINT}/filename    data=${valid_no_measdata_content}    headers=${headers}
+    Should Be Equal As Strings      ${resp.status_code}              200
+    ${cli_cmd_output}=              Run Process                      ${CLI_EXEC_CLI_PM_LOG}                     shell=yes
+    Log                             ${cli_cmd_output.stdout}
+    Should Be Equal As Strings      ${cli_cmd_output.rc}             0
+    Should Contain                  ${cli_cmd_output.stdout}         XML validation successful
+
+
+Verify that PM Mapper logs successful when a file that contains measdata is provided
+    [Tags]                          PM_MAPPER_14
+    [Documentation]                 Verify that PM Mapper logs successful when a file that contains measdata is provided
+    [Timeout]                       1 minute
+    ${valid_meas_result_content}=   Get File                         ${MEASD_RESULT_PATH}
+    ${valid_metatdata}              Get File                         ${VALID_METADATA_PATH}
+    ${headers}=                     Create Dictionary                X-ONAP-RequestID=4  Content-Type=application/xml  X-DMAAP-DR-PUBLISH-ID=4  X-DMAAP-DR-META=${valid_metatdata.replace("\n","")}
+    ${resp}=                        Put Request                      mapper_session  ${DELIVERY_ENDPOINT}/filename    data=${valid_meas_result_content}    headers=${headers}
+    Should Be Equal As Strings      ${resp.status_code}              200
+    ${cli_cmd_output}=              Run Process                      ${CLI_EXEC_CLI_PM_LOG}                     shell=yes
+    Log                             ${cli_cmd_output.stdout}
+    Should Be Equal As Strings      ${cli_cmd_output.rc}             0
+    Should Contain                  ${cli_cmd_output.stdout}         XML validation successful
+
+
+
 *** Keywords ***
 
 PostCall
     [Arguments]    ${url}           ${data}
     ${headers}=    Create Dictionary    Accept=application/json    Content-Type=application/json
     ${resp}=       Evaluate    requests.post('${url}',data='${data}', headers=${headers},verify=False)    requests
-    [Return]       ${resp}
\ No newline at end of file
+    [Return]       ${resp}
