diff --git a/plans/dcaegen2-services-pmsh/testsuite/setup.sh b/plans/dcaegen2-services-pmsh/testsuite/setup.sh
index 5c59906..eb2196a 100644
--- a/plans/dcaegen2-services-pmsh/testsuite/setup.sh
+++ b/plans/dcaegen2-services-pmsh/testsuite/setup.sh
@@ -6,56 +6,90 @@
 
 TEST_PLANS_DIR=$WORKSPACE/plans/dcaegen2-services-pmsh/testsuite
 
-docker-compose -f $TEST_PLANS_DIR/docker-compose.yml up -d db aai-sim cbs-sim mr-sim
+docker-compose -f ${TEST_PLANS_DIR}/docker-compose.yml up -d db aai-sim cbs-sim mr-sim
 
 # Slow machine running CSITs can affect db coming up in time for PMSH
 echo "Waiting for postgres db to come up..."
 for i in {1..30}; do
     docker exec -i db bash -c "PGPASSWORD=$DB_PASSWORD;psql -U $DB_USER  -c '\q'"
     db_response=$?
-    if [ "$db_response" = "0" ]
+    if [[ "$db_response" == "0" ]]
     then
       break
     else
       sleep 2
     fi
 done
-[ "$db_response" != "0" ] && echo "Error: postgres db not accessible" && exit 1
+[[ "$db_response" != "0" ]] && echo "Error: postgres db not accessible" && exit 1
 
-docker-compose -f $TEST_PLANS_DIR/docker-compose.yml up -d pmsh
+docker-compose -f ${TEST_PLANS_DIR}/docker-compose.yml up -d pmsh
 
 PMSH_IP=$(docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" pmsh)
 
 # Slow machine running CSITs can affect PMSH coming up before CSITs are run
 echo "Waiting for PMSH to come up..."
 for i in {1..30}; do
-    pmsh_response=$(curl -k -s -o /dev/null -w "%{http_code}" https://$PMSH_IP:8443/healthcheck)
-    if [ "$pmsh_response" = "200" ]
+    pmsh_response=$(curl -k -s -o /dev/null -w "%{http_code}" https://${PMSH_IP}:8443/healthcheck)
+    if [[ "$pmsh_response" == "200" ]]
     then
       break
     else
       sleep 2
     fi
 done
-[ "$pmsh_response" != "200" ] && echo "Error: PMSH container state not healthy" && exit 1
+[[ "$pmsh_response" != "200" ]] && echo "Error: PMSH container state not healthy" && exit 1
+
+# Set log level to DEBUG
+docker exec pmsh /bin/sh -c "cat > log_config.yaml <<EOF
+version: 1
+
+disable_existing_loggers: true
+
+loggers:
+  onap_logger:
+    level: DEBUG
+    handlers: [onap_log_handler, stdout_handler]
+    propagate: false
+handlers:
+  onap_log_handler:
+    class: logging.handlers.RotatingFileHandler
+    filename: /var/log/ONAP/dcaegen2/services/pmsh/application.log
+    mode: a
+    maxBytes: 10000000
+    backupCount: 10
+    formatter: mdcFormatter
+  stdout_handler:
+    class: logging.StreamHandler
+    formatter: mdcFormatter
+formatters:
+  mdcFormatter:
+    format: '%(asctime)s | %(threadName)s | %(thread)d | %(levelname)s | %(module)s
+      | %(funcName)s | %(mdc)s | %(message)s'
+    mdcfmt: '{ServiceName} | {RequestID} | {InvocationID}'
+    datefmt: '%Y-%m-%dT%H:%M:%S%z'
+    (): onaplogging.mdcformatter.MDCFormatter
+EOF"
 
 # Wait for initialization of Docker containers
-containers_ok=false
-for i in {1..5}; do
-    if [ $(docker inspect --format '{{ .State.Running }}' cbs-sim) ] && \
-       [ $(docker inspect --format '{{ .State.Running }}' aai-sim) ] && \
-       [ $(docker inspect --format '{{ .State.Running }}' mr-sim) ] && \
-       [ $(docker inspect --format '{{ .State.Running }}' db) ] && \
-       [ $(docker inspect --format '{{ .State.Running }}' pmsh) ]
+containers_ok="false"
+for i in {0..5}; do
+    if [[ "$containers_ok" == "true" ]]
     then
         echo "All required docker containers are up."
-        containers_ok=true
         break
     else
-        sleep $i
+        sleep ${i}
+    fi
+    if [[ $(docker inspect --format '{{ .State.Running }}' cbs-sim) ]] && \
+       [[ $(docker inspect --format '{{ .State.Running }}' aai-sim) ]] && \
+       [[ $(docker inspect --format '{{ .State.Running }}' mr-sim) ]] && \
+       [[ $(docker inspect --format '{{ .State.Running }}' db) ]] && \
+       [[ $(docker inspect --format '{{ .State.Running }}' pmsh) ]]
+    then
+        containers_ok="true"
     fi
 done
-[ "$containers_ok" = "false" ] && echo "Error: required container not running." && exit 1
+[[ "$containers_ok" == "false" ]] && echo "Error: required container not running." && exit 1
 
 DB_IP_ADDRESS=$(docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" db)
 MR_SIM_IP_ADDRESS=$(docker inspect -f "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" mr-sim)
diff --git a/tests/dcaegen2-services-pmsh/testcases/pmsh.robot b/tests/dcaegen2-services-pmsh/testcases/pmsh.robot
index ebdae84..08ab197 100644
--- a/tests/dcaegen2-services-pmsh/testcases/pmsh.robot
+++ b/tests/dcaegen2-services-pmsh/testcases/pmsh.robot
@@ -17,7 +17,7 @@
 ${PMSH_BASE_URL}                    https://${PMSH_IP}:8443
 ${MR_BASE_URL}                      https://${MR_SIM_IP_ADDRESS}:3095
 ${CBS_BASE_URL}                     https://${CBS_SIM_IP_ADDRESS}:10443
-${HEALTHCHECK_ENDPOINT}             /healthcheck
+${SUBSCRIPTIONS_ENDPOINT}           /subscriptions
 
 ${MR_EXPECTATION_AAI_PNF_CREATED}               %{WORKSPACE}/tests/dcaegen2-services-pmsh/testcases/assets/mr-expectation-aai-pnf-created.json
 ${MR_EXPECTATION_AAI_PNF_REMOVED}               %{WORKSPACE}/tests/dcaegen2-services-pmsh/testcases/assets/mr-expectation-aai-pnf-deleted.json
@@ -26,31 +26,12 @@
 ${CBS_EXPECTATION_ADMIN_STATE_UNLOCKED}         %{WORKSPACE}/tests/dcaegen2-services-pmsh/testcases/assets/cbs-expectation-unlocked-config.json
 
 ${ADMIN_STATE_LOCKED_PATTERN}       'administrativeState': 'LOCKED'
-${ADMIN_STATE_UNLOCKED_PATTERN}     'administrativeState': 'UNLOCKED'
-${CLI_EXEC_GET_CBS_CONFIG_FIRST}    docker exec pmsh /bin/sh -c "grep -m 1 'PMSH config from CBS' /var/log/ONAP/dcaegen2/services/pmsh/debug.log"
-${CLI_EXEC_GET_CBS_CONFIG_LAST}     docker exec pmsh /bin/sh -c "grep 'PMSH config from CBS' /var/log/ONAP/dcaegen2/services/pmsh/debug.log | tail -1"
-
-${DB_CMD_NETWORK_FUNCTIONS_COUNT}   docker exec db bash -c "psql -U pmsh -d pmsh -A -t -c 'select count(*) from network_functions;'"
-${DB_CMD_NF_TO_SUB_REL_COUNT}       docker exec db bash -c "psql -U pmsh -d pmsh -A -t -c 'select count(*) from nf_to_sub_rel;'"
-${DB_CMD_SUBSCRIPTIONS_COUNT}       docker exec db bash -c "psql -U pmsh -d pmsh -A -t -c 'select count(*) from subscriptions;'"
-
-${CLI_GET_NETWORK_FUNCTIONS_DB_TABLE}   docker exec db bash -c "psql -U pmsh -d pmsh -A -t -c 'select nf_name, orchestration_status from network_functions;'"
-${CLI_GET_NF_TO_SUB_REL_DB_TABLE}       docker exec db bash -c "psql -U pmsh -d pmsh -A -t -c 'select subscription_name, nf_name, nf_sub_status from nf_to_sub_rel;'"
-${CLI_GET_SUBSCRIPTIONS_DB_TABLE}       docker exec db bash -c "psql -U pmsh -d pmsh -A -t -c 'select subscription_name, status from subscriptions;'"
-
+${CLI_EXEC_GET_CBS_CONFIG_FIRST}    docker exec pmsh /bin/sh -c "grep -m 1 'PMSH config from CBS' /var/log/ONAP/dcaegen2/services/pmsh/application.log"
 
 *** Test Cases ***
 
-Verify PMSH health check returns 200 and has a status of healthy
-    [Tags]                          PMSH_01
-    [Documentation]                 Verify the PMSH health check api call functions correctly
-    [Timeout]                       10 seconds
-    ${resp}=                        Get Request                      pmsh_session  ${HEALTHCHECK_ENDPOINT}
-    Should Be True                  ${resp.status_code} == 200
-    Should Match Regexp             ${resp.text}             healthy
-
 Verify Administrative State in PMSH log file is LOCKED
-    [Tags]                          PMSH_02
+    [Tags]                          PMSH_01
     [Documentation]                 Verify Administrative State as logged in PMSH log file is LOCKED
     [Timeout]                       10 seconds
     Sleep                           3       Allow time for PMSH to flush to logs
@@ -59,48 +40,53 @@
     Should Contain                  ${cli_cmd_output.stdout}       ${ADMIN_STATE_LOCKED_PATTERN}
 
 Verify database tables exist and are empty
-    [Tags]                          PMSH_03
+    [Tags]                          PMSH_02
     [Documentation]                 Verify database has been created and is empty
     [Timeout]                       10 seconds
-    VerifyDatabaseEmpty
+    ${resp}=                        Get Request                      pmsh_session  ${SUBSCRIPTIONS_ENDPOINT}
+    Should Be True                  ${resp.status_code} == 200
+    Should Contain                  ${resp.text}                     []
 
 Verify PNF detected in AAI when administrative state unlocked
-    [Tags]                          PMSH_04
+    [Tags]                          PMSH_03
     [Documentation]                 Verify PNF detected when administrative state unlocked
     [Timeout]                       40 seconds
     SetAdministrativeStateToUnlocked
     Sleep                           31      Allow PMSH time to pick up changes in CBS config
-    VerifyCommandOutputContains     ${CLI_EXEC_GET_CBS_CONFIG_LAST}     ${ADMIN_STATE_UNLOCKED_PATTERN}
-    VerifyCommandOutputIs           ${cli_get_subscriptions_db_table}       ExtraPM-All-gNB-R2B|UNLOCKED
-    VerifyCommandOutputIs           ${cli_get_network_functions_db_table}   pnf-existing|Active
-    VerifyCommandOutputIs           ${cli_get_nf_to_sub_rel_db_table}       ExtraPM-All-gNB-R2B|pnf-existing|PENDING_CREATE
+    ${resp}=                        Get Request                      pmsh_session  ${SUBSCRIPTIONS_ENDPOINT}
+    Should Be Equal As Strings      ${resp.json()[0]['subscription_status']}                            UNLOCKED
+    Should Be Equal As Strings      ${resp.json()[0]['network_functions'][0]['nf_name']}                pnf-existing
+    Should Be Equal As Strings      ${resp.json()[0]['network_functions'][0]['orchestration_status']}   Active
+    Should Be Equal As Strings      ${resp.json()[0]['network_functions'][0]['nf_sub_status']}          PENDING_CREATE
 
 Verify Policy response on MR is handled
-    [Tags]                          PMSH_05
+    [Tags]                          PMSH_04
     [Documentation]                 Verify policy response on MR is handled
     [Timeout]                       40 seconds
     SimulatePolicyResponse          ${MR_EXPECTATION_POLICY_RESPONSE_PNF_EXISTING}
     Sleep                           7 seconds      Ensure Policy response on MR is picked up
-    VerifyCommandOutputIs           ${cli_get_nf_to_sub_rel_db_table}       ExtraPM-All-gNB-R2B|pnf-existing|CREATED
+    ${resp}=                        Get Request                      pmsh_session  ${SUBSCRIPTIONS_ENDPOINT}
+    Should Be Equal As Strings      ${resp.json()[0]['network_functions'][0]['nf_sub_status']}     CREATED
 
 Verify AAI event on MR detailing new PNF being detected is handled
-    [Tags]                          PMSH_06
+    [Tags]                          PMSH_05
     [Documentation]                 Verify PNF created AAI event on MR is handled
     [Timeout]                       30 seconds
     SimulateNewPNF
     Sleep                           12 seconds      Ensure AAI event on MR is picked up
-    VerifyCommandOutputIs           ${CLI_GET_SUBSCRIPTIONS_DB_TABLE}       ExtraPM-All-gNB-R2B|UNLOCKED
-    VerifyCommandOutputIs           ${CLI_GET_NETWORK_FUNCTIONS_DB_TABLE}   pnf-existing|Active\npnf_newly_discovered|Active
-    VerifyCommandOutputIs           ${CLI_GET_NF_TO_SUB_REL_DB_TABLE}       ExtraPM-All-gNB-R2B|pnf-existing|CREATED\nExtraPM-All-gNB-R2B|pnf_newly_discovered|PENDING_CREATE
+    ${resp}=                        Get Request                      pmsh_session  ${SUBSCRIPTIONS_ENDPOINT}
+    Should Be Equal As Strings      ${resp.json()[0]['network_functions'][1]['nf_name']}            pnf_newly_discovered
+    Should Be Equal As Strings      ${resp.json()[0]['network_functions'][1]['orchestration_status']}   Active
+    Should Be Equal As Strings      ${resp.json()[0]['network_functions'][1]['nf_sub_status']}          PENDING_CREATE
 
 Verify AAI event on MR detailing PNF being deleted is handled
-    [Tags]                          PMSH_07
+    [Tags]                          PMSH_06
     [Documentation]                 Verify PNF deleted AAI event on MR is handled
     [Timeout]                       30 seconds
     SimulateDeletedPNF
     Sleep                           12 seconds      Ensure AAI event on MR is picked up
-    VerifyNumberOfRecordsInDbTable       ${DB_CMD_NETWORK_FUNCTIONS_COUNT}   1
-    VerifyNumberOfRecordsInDbTable       ${DB_CMD_NF_TO_SUB_REL_COUNT}       1
+    ${resp}=                        Get Request                      pmsh_session  ${SUBSCRIPTIONS_ENDPOINT}
+    Should Not Contain              ${resp.text}            pnf_newly_discovered
 
 *** Keywords ***
 
@@ -117,19 +103,6 @@
     ${resp} =           Put Request             cbs_sim_session  /expectation     data=${data}
     Should Be True      ${resp.status_code} == 201
 
-VerifyCommandOutputContains
-    [Arguments]                     ${cli_command}                  ${string_to_check_for}
-    ${cli_cmd_output}=              Run Process                     ${cli_command}         shell=yes
-    Should Be True                  ${cli_cmd_output.rc} == 0
-    Should Contain                  ${cli_cmd_output.stdout}        ${string_to_check_for}
-
-VerifyCommandOutputIs
-    [Arguments]                     ${cli_cmd}          ${expected_contents}
-    ${cli_cmd_output}=              Run Process         ${cli_cmd}         shell=yes
-    Log             ${cli_cmd_output.stdout}
-    Should Be True                  ${cli_cmd_output.rc} == 0
-    Should Be Equal As Strings      ${cli_cmd_output.stdout}        ${expected_contents}
-
 SimulateNewPNF
     ${data}=        Get Data From File    ${MR_EXPECTATION_AAI_PNF_CREATED}
     ${resp} =       Put Request     mr_sim_session  /clear  data={"path": "/events/AAI_EVENT/dcae_pmsh_cg/AAI-EVENT"}
@@ -151,13 +124,3 @@
     Should Be True      ${resp.status_code} == 200
     ${resp} =       Put Request     mr_sim_session  /expectation     data=${data}
     Should Be True      ${resp.status_code} == 201
-
-VerifyNumberOfRecordsInDbTable
-    [Arguments]         ${db_query}          ${expected_count}
-    ${db_count}         Run Process     ${db_query}         shell=yes
-    Should Be True      ${db_count.stdout} == ${expected_count}
-
-VerifyDatabaseEmpty
-   VerifyNumberOfRecordsInDbTable       ${DB_CMD_NETWORK_FUNCTIONS_COUNT}   0
-   VerifyNumberOfRecordsInDbTable       ${DB_CMD_NF_TO_SUB_REL_COUNT}       0
-   VerifyNumberOfRecordsInDbTable       ${DB_CMD_SUBSCRIPTIONS_COUNT}       0
