# ===========LICENSE_START====================================================
 #  Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
 #  Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
-#  Modification Copyright 2021-2025 Nordix Foundation.
+#  Modifications Copyright 2021-2025 Nordix Foundation.
 #  Modifications Copyright 2024-2025 Deutsche Telekom
 # ============================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
       - simulator
       - kafka
       - pap
-      - opa-pdp
     ports:
       - ${APEX_PORT}:6969
       - ${APEX_EVENTS_PORT}:23324
       'kafka', '9092'
     ]
 
-
   opa-pdp:
       image: ${CONTAINER_LOCATION}onap/policy-opa-pdp:${POLICY_OPA_PDP_VERSION}
       container_name:  policy-opa-pdp
 
           "currentInstanceCount": 0,
           "desiredInstanceCount": 1,
           "policies": []
-        },
-       {
-      "name": "opaGroup",
-      "pdpGroupState": "ACTIVE",
-      "properties": {},
-      "pdpSubgroups": [
-        {
-          "pdpType": "opa",
-          "desiredInstanceCount": 1,
-          "properties": {},
-          "supportedPolicyTypes": [
-            {
-              "name": "onap.policies.native.opa",
-              "version": "1.0.0"
-            }
-          ],
-          "policies": [
-            {
-              "name": "slice.capacity.check",
-              "version": "1.0.0"
-            }
-          ]
         }
       ]
     }
-      ]
-    }
   ]
 }
 
--- /dev/null
+{
+  "groups": [
+    {
+      "name": "opaGroup",
+      "pdpGroupState": "ACTIVE",
+      "properties": {},
+      "pdpSubgroups": [
+        {
+          "pdpType": "opa",
+          "desiredInstanceCount": 1,
+          "properties": {},
+          "supportedPolicyTypes": [
+            {
+              "name": "onap.policies.native.opa",
+              "version": "1.0.0"
+            }
+          ],
+          "policies": [
+            {
+              "name": "slice.capacity.check",
+              "version": "1.0.0"
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
 
           "policies": []
         }
       ]
-    },
-    {
-      "name": "opaGroup",
-      "pdpGroupState": "ACTIVE",
-      "properties": {},
-      "pdpSubgroups": [
-        {
-          "pdpType": "opa",
-          "desiredInstanceCount": 1,
-          "properties": {},
-          "supportedPolicyTypes": [
-            {
-              "name": "onap.policies.native.opa",
-              "version": "1.0.0"
-            }
-          ],
-          "policies": [
-            {
-              "name": "slice.capacity.check",
-              "version": "1.0.0"
-            }
-          ]
-        }
-      ]
     }
   ]
 }
 
 
 QueryPdpGroups
     [Documentation]    Verify pdp group query - suphosts upto 2 groups
-    [Arguments]  ${groupsLength}  ${group1Name}  ${group1State}  ${policiesLengthInGroup1}  ${group2Name}  ${group2State}  ${policiesLengthInGroup2}  ${group3Name}  ${group3State}  ${policiesLengthInGroup3}
+    [Arguments]  ${groupsLength}  ${group1Name}  ${group1State}  ${policiesLengthInGroup1}  ${group2Name}  ${group2State}  ${policiesLengthInGroup2}
     ${policyadmin}=  PolicyAdminAuth
     ${resp}=  PerformGetRequest  ${POLICY_PAP_IP}  /policy/pap/v1/pdps  200  null  ${policyadmin}
     Length Should Be  ${resp.json()['groups']}  ${groupsLength}
     Run Keyword If  ${groupsLength}>1  Should Be Equal As Strings  ${resp.json()['groups'][1]['name']}  ${group2Name}
     Run Keyword If  ${groupsLength}>1  Should Be Equal As Strings  ${resp.json()['groups'][1]['pdpGroupState']}  ${group2State}
     Run Keyword If  ${groupsLength}>1  Length Should Be  ${resp.json()['groups'][1]['pdpSubgroups'][0]['policies']}  ${policiesLengthInGroup2}
-    Run Keyword If  ${groupsLength}>2  Should Be Equal As Strings  ${resp.json()['groups'][2]['name']}  ${group3Name}
-    Run Keyword If  ${groupsLength}>2  Should Be Equal As Strings  ${resp.json()['groups'][2]['pdpGroupState']}  ${group3State}
-    Run Keyword If  ${groupsLength}>2  Length Should Be  ${resp.json()['groups'][2]['pdpSubgroups'][0]['policies']}  ${policiesLengthInGroup3}
 
 QueryPolicyAudit
     [Arguments]  ${url}  ${expectedstatus}  ${pdpGroup}  ${pdpType}  ${policyName}  ${expectedAction}
 
 
 Consolidated Healthcheck
     [Documentation]  Verify policy consolidated health check
-    sleep  60
+    sleep  20
     ${resp}=  GetReq  /policy/pap/v1/components/healthcheck
     Should Be Equal As Strings  ${resp.json()['healthy']}  True
 
     ${resp}=  GetMetrics  ${POLICY_PAP_IP}  ${auth}  /policy/pap/v1/
     Should Contain  ${resp.text}  http_server_requests_seconds_count{error="none",exception="none",method="GET",outcome="SUCCESS",status="200",uri="/healthcheck"}
     Should Contain  ${resp.text}  http_server_requests_seconds_count{error="none",exception="none",method="GET",outcome="SUCCESS",status="200",uri="/components/healthcheck"} 1
-    Should Contain  ${resp.text}  spring_data_repository_invocations_seconds_count{exception="None",method="save",repository="PdpGroupRepository",state="SUCCESS"} 2
+    Should Contain  ${resp.text}  spring_data_repository_invocations_seconds_count{exception="None",method="save",repository="PdpGroupRepository",state="SUCCESS"} 1
     Should Contain  ${resp.text}  spring_data_repository_invocations_seconds_count{exception="None",method="findByKeyName",repository="PdpGroupRepository",state="SUCCESS"} 1
     Should Contain  ${resp.text}  spring_data_repository_invocations_seconds_count{exception="None",method="findAll",repository="PolicyStatusRepository",state="SUCCESS"}
 
 
 QueryPdpGroupsBeforeActivation
     [Documentation]  Verify PdpGroups before activation
-    QueryPdpGroups  3  defaultGroup  ACTIVE  0  opaGroup   ACTIVE   1   testGroup  PASSIVE  0
+    QueryPdpGroups  2  defaultGroup  ACTIVE  0  testGroup  PASSIVE  0
 
 ActivatePdpGroup
     [Documentation]  Change the state of PdpGroup named 'testGroup' to ACTIVE
 
 QueryPdpGroupsAfterActivation
     [Documentation]  Verify PdpGroups after activation
-    QueryPdpGroups  3  defaultGroup  ACTIVE  0  opaGroup   ACTIVE   1   testGroup  ACTIVE  0
+    QueryPdpGroups  2  defaultGroup  ACTIVE  0  testGroup  ACTIVE  0
 
 DeployPdpGroups
     [Documentation]  Deploy policies in PdpGroups
 
 QueryPdpGroupsAfterDeploy
     [Documentation]  Verify PdpGroups after undeploy
-    QueryPdpGroups  3  defaultGroup  ACTIVE  0  opaGroup   ACTIVE   1   testGroup  ACTIVE  1
+    QueryPdpGroups  2  defaultGroup  ACTIVE  0  testGroup  ACTIVE  1
 
 QueryPolicyAuditAfterDeploy
     [Documentation]  Verify policy audit record after deploy
 
 QueryPdpGroupsAfterUndeploy
     [Documentation]  Verify PdpGroups after undeploy
-    QueryPdpGroups  3  defaultGroup  ACTIVE  0  opaGroup   ACTIVE   1   testGroup  ACTIVE  0
+    QueryPdpGroups  2  defaultGroup  ACTIVE  0  testGroup  ACTIVE  0
 
 QueryPolicyAuditAfterUnDeploy
     [Documentation]   Verify policy audit record after undeploy
 
 QueryPdpGroupsAfterDelete
     [Documentation]    Verify PdpGroups after delete
-    QueryPdpGroups  2  defaultGroup  ACTIVE  0  opaGroup   ACTIVE   1   null   null   null
+    QueryPdpGroups  1  defaultGroup  ACTIVE  0  null  null  null
 
     sleep 60
     check_rest_endpoint "${PAP_PORT}"
     check_rest_endpoint "${APEX_PORT}"
-    check_rest_endpoint "${OPA_PDP_PORT}"
     apex_healthcheck
 }
 
     export PROJECT="opa-pdp"
     source "${DOCKER_COMPOSE_DIR}"/start-compose.sh opa-pdp
     echo "Waiting 3 minutes for OPA-PDP to start..."
-    sleep 145
+    sleep 180
+    check_rest_endpoint "${PAP_PORT}"
     check_rest_endpoint "${OPA_PDP_PORT}"
 }
 
       export DO_NOT_TEARDOWN=true
       shift
       ;;
+    --stop)
+      export TEARDOWN=true
+      shift
+      ;;
     *)
       export PROJECT="${1}"
       shift
 sudo rm -rf "${ROBOT_LOG_DIR}"
 mkdir -p "${ROBOT_LOG_DIR}"
 
+if [ "${TEARDOWN}" == "true" ]; then
+    on_exit
+fi
+
 # log into nexus docker
 docker login -u docker -p docker nexus3.onap.org:10001