From 78ff88f9b3a3d32f941b3b9fedc2abfbaba291cb Mon Sep 17 00:00:00 2001 From: Alex Shatov Date: Thu, 27 Feb 2020 12:45:54 -0500 Subject: 5.1.0 policy-handler - policy-updates from new PDP DCAEGEN2-1851: - policy-handler now supports the policy-update notification from the new policy-engine thru DMaaP MR = no policy-filters - only policy-id values - see README for discoverable config settings of dmaap_mr client = DMaaP MR client has the same flexibility as policy_engine = set the query.timeout to high value like 15000 (default) - requests to DMaaP MR go through a single blocking connection - first catch-up only after draining the policy-updates from DMaaP MR on the first loop - safe parsing of messages from DMaaP MR - policy-engine changed the data type for policy-version field from int to string that is expected to have the semver value - related change to deployment-handler (DCAEGEN2-2085) has to be deployed to handle the non-numeric policyVersion - on new PDP API: http /policy_latest and policy-updates return the new data from the new PDP API with the following fields added/renamed by the policy-handler to keep other policy related parts intact in R4-R6 (see pdp_api/policy_utils.py) * policyName = policy_id + "." + policyVersion.replace(".","-") + ".xml" * policyVersion = str(metadata["policy-version"]) * "config" - is the renamed "properties" from the new PDP API response - enabled the /catch_up and the periodic auto-catch-up for the new PDP API - enabled GET /policies_latest - returns the latest policies for the deployed components - POST /policies_latest - still disabled since no support for the policy-filters is provided for the new PDP API - fixed hiding the Authorization value on comparing the configs - logging of secrets is now sha256 to see whether they changed - added X-ONAP-RequestID to headers the same way as X-ECOMP-RequestID - on policy-update process the removal first, then addition - changed the pool_connections=1 (number of pools) on PDP and DH sides == only a single destination is expected for each - log the exception as fatal into error.log - other minor fixes and refactoring - unit-test coverage 74% - integration testing is requested DCAEGEN2-1976: - policy-handler is enhanced to get user/password from env vars for PDP and DMaaP MR clients and overwriting the Authorization field in https headers received from the discoverable config = to override the Authorization value on policy_engine, set the environment vars $PDP_USER and $PDP_PWD in policy-handler container = to override the Authorization value on dmaap_mr, if using https and user-password authentication, set the environment vars $DMAAP_MR_USER and $DMAAP_MR_PWD in policy-handler container Change-Id: Iad8eab9e20e615a0e0d2822f4735dc64c50aa55c Signed-off-by: Alex Shatov Issue-ID: DCAEGEN2-1851 Issue-ID: DCAEGEN2-1976 --- tests/main/conftest.py | 79 +- tests/main/expectations.json | 2839 ++++++++++++++++++++++++++++++++++++++ tests/main/mock_expected.py | 526 ------- tests/main/mock_policy_engine.py | 96 -- tests/main/pdp_policies.json | 25 - tests/main/test_policy_rest.py | 47 - tests/main/test_policyhandler.py | 77 +- tests/main/test_pz_catch_up.py | 63 + 8 files changed, 3024 insertions(+), 728 deletions(-) create mode 100644 tests/main/expectations.json delete mode 100644 tests/main/mock_expected.py delete mode 100644 tests/main/mock_policy_engine.py delete mode 100644 tests/main/pdp_policies.json delete mode 100644 tests/main/test_policy_rest.py create mode 100644 tests/main/test_pz_catch_up.py (limited to 'tests/main') diff --git a/tests/main/conftest.py b/tests/main/conftest.py index c985380..11f5d0b 100644 --- a/tests/main/conftest.py +++ b/tests/main/conftest.py @@ -1,5 +1,5 @@ # ============LICENSE_START======================================================= -# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved. +# Copyright (c) 2019-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. @@ -15,42 +15,87 @@ # ============LICENSE_END========================================================= # """ -startdard pytest file that contains the shared fixtures +standard pytest file that contains the shared fixtures https://docs.pytest.org/en/latest/fixture.html """ -import pytest +import time +import pytest from policyhandler import pdp_client -from policyhandler.pdp_api.pdp_consts import PDP_POLICY_ID, PDP_REQ_RESOURCE +from policyhandler.deploy_handler import DeployHandler +from policyhandler.onap.audit import Audit +from policyhandler.pdp_api.dmaap_mr import DmaapMr from policyhandler.utils import Utils from ..mock_tracker import MockHttpResponse -from .mock_policy_engine import MockPolicyEngine _LOGGER = Utils.get_logger(__file__) -@pytest.fixture(scope="session", autouse=True) -def _auto_setup_policy_engine(): - """initialize the mock-policy-engine per the whole test session""" - _LOGGER.info("create _auto_setup_policy_engine") - MockPolicyEngine.init() - yield _auto_setup_policy_engine - _LOGGER.info("teardown _auto_setup_policy_engine") - @pytest.fixture() def fix_pdp_post(monkeypatch): """monkeyed request /decision/v1 to PDP""" def monkeyed_policy_rest_post(uri, json=None, **kwargs): """monkeypatch for the POST to policy-engine""" - policy_ids = json.get(PDP_REQ_RESOURCE, {}).get(PDP_POLICY_ID) - policy_id = policy_ids and policy_ids[0] - res_json = MockPolicyEngine.get_policy(policy_id) - return MockHttpResponse("post", uri, res_json, json=json, **kwargs) + return MockHttpResponse("post", uri, json=json, **kwargs) _LOGGER.info("setup fix_pdp_post") + pdp_client.PolicyRest._lazy_inited = False pdp_client.PolicyRest._lazy_init() monkeypatch.setattr('policyhandler.pdp_client.PolicyRest._requests_session.post', monkeyed_policy_rest_post) yield fix_pdp_post _LOGGER.info("teardown fix_pdp_post") + +@pytest.fixture() +def fix_deploy_handler(monkeypatch): + """monkeyed requests to deployment-handler""" + def monkeyed_deploy_handler_put(uri, **kwargs): + """monkeypatch for policy-update request.put to deploy_handler""" + return MockHttpResponse("put", uri, **kwargs) + + def monkeyed_deploy_handler_get(uri, **kwargs): + """monkeypatch policy-update request.get to deploy_handler""" + return MockHttpResponse("get", uri, **kwargs) + + _LOGGER.info("setup fix_deploy_handler") + audit = None + if DeployHandler._lazy_inited is False: + audit = Audit(req_message="fix_deploy_handler") + DeployHandler._lazy_init(audit) + + monkeypatch.setattr('policyhandler.deploy_handler.DeployHandler._requests_session.put', + monkeyed_deploy_handler_put) + monkeypatch.setattr('policyhandler.deploy_handler.DeployHandler._requests_session.get', + monkeyed_deploy_handler_get) + + yield fix_deploy_handler + if audit: + audit.audit_done("teardown") + _LOGGER.info("teardown fix_deploy_handler") + +@pytest.fixture() +def fix_dmaap_mr(monkeypatch): + """monkeyed requests to dmaap_mr""" + def monkeyed_dmaap_mr_get(uri, **kwargs): + """monkeypatch policy-update request.get to dmaap_mr""" + if kwargs.get("params"): + _LOGGER.info("--- fix_dmaap_mr --- sleeping 3 secs...") + time.sleep(3) + else: + _LOGGER.info("--- fix_dmaap_mr --- sleeping 0.5 secs...") + time.sleep(0.5) + _LOGGER.info("--- fix_dmaap_mr --- send back the response") + return MockHttpResponse("get", uri, **kwargs) + + _LOGGER.info("setup fix_dmaap_mr") + audit = Audit(req_message="fix_dmaap_mr") + DmaapMr._lazy_inited = False + DmaapMr._lazy_init(audit) + + monkeypatch.setattr('policyhandler.pdp_api.dmaap_mr.DmaapMr._requests_session.get', + monkeyed_dmaap_mr_get) + + yield fix_dmaap_mr + audit.audit_done("teardown") + _LOGGER.info("teardown fix_dmaap_mr") diff --git a/tests/main/expectations.json b/tests/main/expectations.json new file mode 100644 index 0000000..4f93930 --- /dev/null +++ b/tests/main/expectations.json @@ -0,0 +1,2839 @@ +{ + "tests/main/test_policyhandler.py::WebServerTest::test_web_all_policies_latest": [ + { + "request": { + "headers": { + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "cfy_tenant_name": "default_tenant" + }, + "uri": "http://unit-test-deployment_handler:8188000/policy" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_Lorem", + "policy_versions": { + "0": true + } + }, + "test_scope_prefix.pdp_decision_amet": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_amet", + "policy_versions": { + "5.5.5": true + } + }, + "test_scope_prefix.pdp_decision_ametist": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ametist", + "policy_versions": { + "6": true + } + }, + "test_scope_prefix.pdp_decision_consectetur": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_consectetur", + "policy_versions": { + "5": true + } + }, + "test_scope_prefix.pdp_decision_dolor": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_dolor", + "policy_versions": { + "2": true + } + }, + "test_scope_prefix.pdp_decision_ipsum": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ipsum", + "policy_versions": { + "1": true + } + }, + "test_scope_prefix.pdp_decision_sit": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_sit", + "policy_versions": { + "3": true + } + } + }, + "server_instance_uuid": "e17fc584-7b06-4777-81c5-5da4337d6d16" + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Accept": "application/json", + "Authorization": "Basic auth", + "ClientAuth": "Basic user", + "Content-Type": "application/json", + "Environment": "TEST", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": { + "ONAPComponent": "policy_handler", + "ONAPInstance": "*", + "ONAPName": "DCAE", + "action": "configure", + "resource": { + "policy-id": [ + "test_scope_prefix.pdp_decision_Lorem", + "test_scope_prefix.pdp_decision_amet", + "test_scope_prefix.pdp_decision_ametist", + "test_scope_prefix.pdp_decision_consectetur", + "test_scope_prefix.pdp_decision_dolor", + "test_scope_prefix.pdp_decision_ipsum", + "test_scope_prefix.pdp_decision_sit" + ] + } + }, + "method": "post", + "params": null, + "uri": "https://unit-test-pdp-server:8081000/decision/v1/" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_Lorem", + "policy-id": "test_scope_prefix.pdp_decision_Lorem", + "policy-version": "1.1.1" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 0, + "policy_updated_to_ver": 1, + "updated_policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_amet": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_amet", + "policy-id": "test_scope_prefix.pdp_decision_amet", + "policy-version": "5.5.5" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 4, + "policy_updated_to_ver": 5, + "updated_policy_id": "test_scope_prefix.pdp_decision_amet" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_ametist": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ametist", + "policy-id": "test_scope_prefix.pdp_decision_ametist", + "policy-version": "7.7.7" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 6, + "policy_updated_to_ver": 7, + "updated_policy_id": "test_scope_prefix.pdp_decision_ametist" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_consectetur": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_consectetur", + "policy-id": "test_scope_prefix.pdp_decision_consectetur", + "policy-version": "6.6.6" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 5, + "policy_updated_to_ver": 6, + "updated_policy_id": "test_scope_prefix.pdp_decision_consectetur" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_dolor": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_dolor", + "policy-id": "test_scope_prefix.pdp_decision_dolor", + "policy-version": "3.3.3" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 2, + "policy_updated_to_ver": 3, + "updated_policy_id": "test_scope_prefix.pdp_decision_dolor" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_ipsum": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ipsum", + "policy-id": "test_scope_prefix.pdp_decision_ipsum", + "policy-version": "2.2.2" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 1, + "policy_updated_to_ver": 2, + "updated_policy_id": "test_scope_prefix.pdp_decision_ipsum" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_sit": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_sit", + "policy-id": "test_scope_prefix.pdp_decision_sit", + "policy-version": "4.4.4" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 3, + "policy_updated_to_ver": 4, + "updated_policy_id": "test_scope_prefix.pdp_decision_sit" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + } + } + }, + "status_code": 200 + } + ], + "tests/main/test_policyhandler.py::WebServerTest::test_web_policies_latest": [ + { + "request": { + "headers": { + "Accept": "application/json", + "Authorization": "Basic auth", + "ClientAuth": "Basic user", + "Content-Type": "application/json", + "Environment": "TEST", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": { + "policyName": "test_scope_prefix.Config_amet.*" + }, + "method": "post", + "params": null, + "uri": "https://unit-test-pdp-server:8081000/decision/v1/" + }, + "res": "*", + "status_code": 200 + } + ], + "tests/main/test_policyhandler.py::WebServerTest::test_web_policy_latest": [ + { + "request": { + "headers": { + "Accept": "application/json", + "Authorization": "Basic auth", + "ClientAuth": "Basic user", + "Content-Type": "application/json", + "Environment": "TEST", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": { + "ONAPComponent": "policy_handler", + "ONAPInstance": "*", + "ONAPName": "DCAE", + "action": "configure", + "resource": { + "policy-id": [ + "test_scope_prefix.pdp_decision_sit" + ] + } + }, + "method": "post", + "params": null, + "uri": "https://unit-test-pdp-server:8081000/decision/v1/" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_sit": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_sit", + "policy-id": "test_scope_prefix.pdp_decision_sit", + "policy-version": "4.4.4" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 3, + "policy_updated_to_ver": 4, + "updated_policy_id": "test_scope_prefix.pdp_decision_sit" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + } + } + }, + "status_code": 200 + } + ], + "tests/main/test_policyhandler.py::WebServerTest::test_zzzzz_shutdown": [ + { + "request": { + "headers": { + "Authorization": "Basic auth", + "Content-Type": "application/json", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": null, + "uri": "https://unit-test-dmaap-mr:280800000/events/unit-test-topicname/unit-test-consumegroup/unit-test-consumerid" + }, + "res": ["garbage-to-be-ignored"], + "status_code": 200 + }, + { + "request": { + "headers": { + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "cfy_tenant_name": "default_tenant" + }, + "uri": "http://unit-test-deployment_handler:8188000/policy" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_Lorem", + "policy_versions": { + "0": true + } + }, + "test_scope_prefix.pdp_decision_amet": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_amet", + "policy_versions": { + "5.5.5": true + } + }, + "test_scope_prefix.pdp_decision_ametist": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ametist", + "policy_versions": { + "6": true + } + }, + "test_scope_prefix.pdp_decision_consectetur": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_consectetur", + "policy_versions": { + "5": true + } + }, + "test_scope_prefix.pdp_decision_dolor": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_dolor", + "policy_versions": { + "2": true + } + }, + "test_scope_prefix.pdp_decision_ipsum": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ipsum", + "policy_versions": { + "1": true + } + }, + "test_scope_prefix.pdp_decision_sit": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_sit", + "policy_versions": { + "3": true + } + } + }, + "server_instance_uuid": "e17fc584-7b06-4777-81c5-5da4337d6d16" + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Accept": "application/json", + "Authorization": "Basic auth", + "ClientAuth": "Basic user", + "Content-Type": "application/json", + "Environment": "TEST", + "X-ECOMP-RequestID": "*", + "X-ONAP-RequestID": "*" + }, + "json": { + "ONAPComponent": "policy_handler", + "ONAPInstance": "*", + "ONAPName": "DCAE", + "action": "configure", + "resource": { + "policy-id": [ + "test_scope_prefix.pdp_decision_Lorem", + "test_scope_prefix.pdp_decision_amet", + "test_scope_prefix.pdp_decision_ametist", + "test_scope_prefix.pdp_decision_consectetur", + "test_scope_prefix.pdp_decision_dolor", + "test_scope_prefix.pdp_decision_ipsum", + "test_scope_prefix.pdp_decision_sit" + ] + } + }, + "method": "post", + "params": null, + "uri": "https://unit-test-pdp-server:8081000/decision/v1/" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_Lorem", + "policy-id": "test_scope_prefix.pdp_decision_Lorem", + "policy-version": "1.1.1" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 0, + "policy_updated_to_ver": 1, + "updated_policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_amet": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_amet", + "policy-id": "test_scope_prefix.pdp_decision_amet", + "policy-version": "5.5.5" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 4, + "policy_updated_to_ver": 5, + "updated_policy_id": "test_scope_prefix.pdp_decision_amet" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_ametist": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ametist", + "policy-id": "test_scope_prefix.pdp_decision_ametist", + "policy-version": "7.7.7" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 6, + "policy_updated_to_ver": 7, + "updated_policy_id": "test_scope_prefix.pdp_decision_ametist" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_consectetur": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_consectetur", + "policy-id": "test_scope_prefix.pdp_decision_consectetur", + "policy-version": "6.6.6" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 5, + "policy_updated_to_ver": 6, + "updated_policy_id": "test_scope_prefix.pdp_decision_consectetur" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_dolor": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_dolor", + "policy-id": "test_scope_prefix.pdp_decision_dolor", + "policy-version": "3.3.3" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 2, + "policy_updated_to_ver": 3, + "updated_policy_id": "test_scope_prefix.pdp_decision_dolor" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_ipsum": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ipsum", + "policy-id": "test_scope_prefix.pdp_decision_ipsum", + "policy-version": "2.2.2" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 1, + "policy_updated_to_ver": 2, + "updated_policy_id": "test_scope_prefix.pdp_decision_ipsum" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_sit": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_sit", + "policy-id": "test_scope_prefix.pdp_decision_sit", + "policy-version": "4.4.4" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 3, + "policy_updated_to_ver": 4, + "updated_policy_id": "test_scope_prefix.pdp_decision_sit" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + } + } + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "X-ECOMP-RequestID": "*", + "X-ONAP-RequestID": "*" + }, + "json": { + "catch_up": true, + "latest_policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 0, + "policy_updated_to_ver": 1, + "updated_policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_Lorem", + "policy-id": "test_scope_prefix.pdp_decision_Lorem", + "policy-version": "1.1.1" + }, + "policyName": "test_scope_prefix.pdp_decision_Lorem.1-1-1.xml", + "policyVersion": "1.1.1", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "test_scope_prefix.pdp_decision_ametist": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 6, + "policy_updated_to_ver": 7, + "updated_policy_id": "test_scope_prefix.pdp_decision_ametist" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ametist", + "policy-id": "test_scope_prefix.pdp_decision_ametist", + "policy-version": "7.7.7" + }, + "policyName": "test_scope_prefix.pdp_decision_ametist.7-7-7.xml", + "policyVersion": "7.7.7", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_ametist" + }, + "test_scope_prefix.pdp_decision_consectetur": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 5, + "policy_updated_to_ver": 6, + "updated_policy_id": "test_scope_prefix.pdp_decision_consectetur" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_consectetur", + "policy-id": "test_scope_prefix.pdp_decision_consectetur", + "policy-version": "6.6.6" + }, + "policyName": "test_scope_prefix.pdp_decision_consectetur.6-6-6.xml", + "policyVersion": "6.6.6", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_consectetur" + }, + "test_scope_prefix.pdp_decision_dolor": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 2, + "policy_updated_to_ver": 3, + "updated_policy_id": "test_scope_prefix.pdp_decision_dolor" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_dolor", + "policy-id": "test_scope_prefix.pdp_decision_dolor", + "policy-version": "3.3.3" + }, + "policyName": "test_scope_prefix.pdp_decision_dolor.3-3-3.xml", + "policyVersion": "3.3.3", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_dolor" + }, + "test_scope_prefix.pdp_decision_ipsum": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 1, + "policy_updated_to_ver": 2, + "updated_policy_id": "test_scope_prefix.pdp_decision_ipsum" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ipsum", + "policy-id": "test_scope_prefix.pdp_decision_ipsum", + "policy-version": "2.2.2" + }, + "policyName": "test_scope_prefix.pdp_decision_ipsum.2-2-2.xml", + "policyVersion": "2.2.2", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_ipsum" + }, + "test_scope_prefix.pdp_decision_sit": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 3, + "policy_updated_to_ver": 4, + "updated_policy_id": "test_scope_prefix.pdp_decision_sit" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_sit", + "policy-id": "test_scope_prefix.pdp_decision_sit", + "policy-version": "4.4.4" + }, + "policyName": "test_scope_prefix.pdp_decision_sit.4-4-4.xml", + "policyVersion": "4.4.4", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_sit" + } + }, + "policy_filter_matches": {}, + "removed_policies": {} + }, + "method": "put", + "params": { + "cfy_tenant_name": "default_tenant" + }, + "uri": "http://unit-test-deployment_handler:8188000/policy" + }, + "res": { + "server_instance_uuid": "e17fc584-7b06-4777-81c5-5da4337d6d16" + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Authorization": "Basic auth", + "Content-Type": "application/json", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "timeout": 15000 + }, + "uri": "https://unit-test-dmaap-mr:280800000/events/unit-test-topicname/unit-test-consumegroup/unit-test-consumerid" + }, + "res": [], + "status_code": 200 + } + ], + "tests/main/test_policyhandler.py::WebServerTest::test_zzz_policy_updates_and_catch_ups": [ + { + "request": { + "headers": { + "Authorization": "Basic auth", + "Content-Type": "application/json", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": null, + "uri": "https://unit-test-dmaap-mr:280800000/events/unit-test-topicname/unit-test-consumegroup/unit-test-consumerid" + }, + "res": ["garbage-to-be-ignored"], + "status_code": 200 + }, + { + "request": { + "headers": { + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "cfy_tenant_name": "default_tenant" + }, + "uri": "http://unit-test-deployment_handler:8188000/policy" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_Lorem", + "policy_versions": { + "0": true + } + }, + "test_scope_prefix.pdp_decision_amet": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_amet", + "policy_versions": { + "5.5.5": true + } + }, + "test_scope_prefix.pdp_decision_ametist": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ametist", + "policy_versions": { + "6": true + } + }, + "test_scope_prefix.pdp_decision_consectetur": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_consectetur", + "policy_versions": { + "5": true + } + }, + "test_scope_prefix.pdp_decision_dolor": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_dolor", + "policy_versions": { + "2": true + } + }, + "test_scope_prefix.pdp_decision_ipsum": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ipsum", + "policy_versions": { + "1": true + } + }, + "test_scope_prefix.pdp_decision_sit": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_sit", + "policy_versions": { + "3": true + } + } + }, + "server_instance_uuid": "e17fc584-7b06-4777-81c5-5da4337d6d16" + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Accept": "application/json", + "Authorization": "Basic auth", + "ClientAuth": "Basic user", + "Content-Type": "application/json", + "Environment": "TEST", + "X-ECOMP-RequestID": "*", + "X-ONAP-RequestID": "*" + }, + "json": { + "ONAPComponent": "policy_handler", + "ONAPInstance": "*", + "ONAPName": "DCAE", + "action": "configure", + "resource": { + "policy-id": [ + "test_scope_prefix.pdp_decision_Lorem", + "test_scope_prefix.pdp_decision_amet", + "test_scope_prefix.pdp_decision_ametist", + "test_scope_prefix.pdp_decision_consectetur", + "test_scope_prefix.pdp_decision_dolor", + "test_scope_prefix.pdp_decision_ipsum", + "test_scope_prefix.pdp_decision_sit" + ] + } + }, + "method": "post", + "params": null, + "uri": "https://unit-test-pdp-server:8081000/decision/v1/" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_Lorem", + "policy-id": "test_scope_prefix.pdp_decision_Lorem", + "policy-version": "1.1.1" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 0, + "policy_updated_to_ver": 1, + "updated_policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_amet": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_amet", + "policy-id": "test_scope_prefix.pdp_decision_amet", + "policy-version": "5.5.5" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 4, + "policy_updated_to_ver": 5, + "updated_policy_id": "test_scope_prefix.pdp_decision_amet" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_ametist": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ametist", + "policy-id": "test_scope_prefix.pdp_decision_ametist", + "policy-version": "7.7.7" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 6, + "policy_updated_to_ver": 7, + "updated_policy_id": "test_scope_prefix.pdp_decision_ametist" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_consectetur": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_consectetur", + "policy-id": "test_scope_prefix.pdp_decision_consectetur", + "policy-version": "6.6.6" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 5, + "policy_updated_to_ver": 6, + "updated_policy_id": "test_scope_prefix.pdp_decision_consectetur" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_dolor": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_dolor", + "policy-id": "test_scope_prefix.pdp_decision_dolor", + "policy-version": "3.3.3" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 2, + "policy_updated_to_ver": 3, + "updated_policy_id": "test_scope_prefix.pdp_decision_dolor" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_ipsum": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ipsum", + "policy-id": "test_scope_prefix.pdp_decision_ipsum", + "policy-version": "2.2.2" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 1, + "policy_updated_to_ver": 2, + "updated_policy_id": "test_scope_prefix.pdp_decision_ipsum" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_sit": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_sit", + "policy-id": "test_scope_prefix.pdp_decision_sit", + "policy-version": "4.4.4" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 3, + "policy_updated_to_ver": 4, + "updated_policy_id": "test_scope_prefix.pdp_decision_sit" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + } + } + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "X-ECOMP-RequestID": "*", + "X-ONAP-RequestID": "*" + }, + "json": { + "catch_up": true, + "latest_policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 0, + "policy_updated_to_ver": 1, + "updated_policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_Lorem", + "policy-id": "test_scope_prefix.pdp_decision_Lorem", + "policy-version": "1.1.1" + }, + "policyName": "test_scope_prefix.pdp_decision_Lorem.1-1-1.xml", + "policyVersion": "1.1.1", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "test_scope_prefix.pdp_decision_ametist": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 6, + "policy_updated_to_ver": 7, + "updated_policy_id": "test_scope_prefix.pdp_decision_ametist" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ametist", + "policy-id": "test_scope_prefix.pdp_decision_ametist", + "policy-version": "7.7.7" + }, + "policyName": "test_scope_prefix.pdp_decision_ametist.7-7-7.xml", + "policyVersion": "7.7.7", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_ametist" + }, + "test_scope_prefix.pdp_decision_consectetur": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 5, + "policy_updated_to_ver": 6, + "updated_policy_id": "test_scope_prefix.pdp_decision_consectetur" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_consectetur", + "policy-id": "test_scope_prefix.pdp_decision_consectetur", + "policy-version": "6.6.6" + }, + "policyName": "test_scope_prefix.pdp_decision_consectetur.6-6-6.xml", + "policyVersion": "6.6.6", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_consectetur" + }, + "test_scope_prefix.pdp_decision_dolor": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 2, + "policy_updated_to_ver": 3, + "updated_policy_id": "test_scope_prefix.pdp_decision_dolor" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_dolor", + "policy-id": "test_scope_prefix.pdp_decision_dolor", + "policy-version": "3.3.3" + }, + "policyName": "test_scope_prefix.pdp_decision_dolor.3-3-3.xml", + "policyVersion": "3.3.3", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_dolor" + }, + "test_scope_prefix.pdp_decision_ipsum": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 1, + "policy_updated_to_ver": 2, + "updated_policy_id": "test_scope_prefix.pdp_decision_ipsum" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ipsum", + "policy-id": "test_scope_prefix.pdp_decision_ipsum", + "policy-version": "2.2.2" + }, + "policyName": "test_scope_prefix.pdp_decision_ipsum.2-2-2.xml", + "policyVersion": "2.2.2", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_ipsum" + }, + "test_scope_prefix.pdp_decision_sit": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 3, + "policy_updated_to_ver": 4, + "updated_policy_id": "test_scope_prefix.pdp_decision_sit" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_sit", + "policy-id": "test_scope_prefix.pdp_decision_sit", + "policy-version": "4.4.4" + }, + "policyName": "test_scope_prefix.pdp_decision_sit.4-4-4.xml", + "policyVersion": "4.4.4", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_sit" + } + }, + "policy_filter_matches": {}, + "removed_policies": {} + }, + "method": "put", + "params": { + "cfy_tenant_name": "default_tenant" + }, + "uri": "http://unit-test-deployment_handler:8188000/policy" + }, + "res": { + "server_instance_uuid": "e17fc584-7b06-4777-81c5-5da4337d6d16" + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Authorization": "Basic auth", + "Content-Type": "application/json", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "timeout": 15000 + }, + "uri": "https://unit-test-dmaap-mr:280800000/events/unit-test-topicname/unit-test-consumegroup/unit-test-consumerid" + }, + "res": [ + "{\"deployed-policies\":[{\"policy-type\":\"onap.policies.monitoring.cdap.tca.hi.lo.app\",\"policy-type-version\":\"1.0.0\",\"policy-id\":\"test_scope_prefix.pdp_decision_Lorem\",\"policy-version\":\"1.1.1-update1\",\"success-count\":3,\"failure-count\":0}],\"undeployed-policies\":[{\"policy-type\":\"onap.policies.monitoring.cdap.tca.hi.lo.app\",\"policy-type-version\":\"1.0.0\",\"policy-id\":\"test_scope_prefix.pdp_decision_Lorem\",\"policy-version\":\"1.1.1\",\"success-count\":3,\"failure-count\":0}]}" + ], + "status_code": 200 + }, + { + "request": { + "headers": { + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "cfy_tenant_name": "default_tenant" + }, + "uri": "http://unit-test-deployment_handler:8188000/policy" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_Lorem", + "policy_versions": { + "1.1.1": true + } + }, + "test_scope_prefix.pdp_decision_amet": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_amet", + "policy_versions": { + "5.5.5": true + } + }, + "test_scope_prefix.pdp_decision_ametist": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ametist", + "policy_versions": { + "7.7.7": true + } + }, + "test_scope_prefix.pdp_decision_consectetur": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_consectetur", + "policy_versions": { + "6.6.6": true + } + }, + "test_scope_prefix.pdp_decision_dolor": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_dolor", + "policy_versions": { + "3.3.3": true + } + }, + "test_scope_prefix.pdp_decision_ipsum": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ipsum", + "policy_versions": { + "2.2.2": true + } + }, + "test_scope_prefix.pdp_decision_sit": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_sit", + "policy_versions": { + "4.4.4": true + } + } + }, + "server_instance_uuid": "e17fc584-7b06-4777-81c5-5da4337d6d16" + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Accept": "application/json", + "Authorization": "Basic auth", + "ClientAuth": "Basic user", + "Content-Type": "application/json", + "Environment": "TEST", + "X-ECOMP-RequestID": "*", + "X-ONAP-RequestID": "*" + }, + "json": { + "ONAPComponent": "policy_handler", + "ONAPInstance": "*", + "ONAPName": "DCAE", + "action": "configure", + "resource": { + "policy-id": [ + "test_scope_prefix.pdp_decision_Lorem" + ] + } + }, + "method": "post", + "params": null, + "uri": "https://unit-test-pdp-server:8081000/decision/v1/" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_Lorem", + "policy-id": "test_scope_prefix.pdp_decision_Lorem", + "policy-version": "1.1.1" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 0, + "policy_updated_to_ver": 1, + "updated_policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + } + } + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Authorization": "Basic auth", + "Content-Type": "application/json", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "timeout": 15000 + }, + "uri": "https://unit-test-dmaap-mr:280800000/events/unit-test-topicname/unit-test-consumegroup/unit-test-consumerid" + }, + "res": [], + "status_code": 200 + }, + { + "request": { + "headers": { + "Accept": "application/json", + "Authorization": "Basic auth", + "ClientAuth": "Basic user", + "Content-Type": "application/json", + "Environment": "TEST", + "X-ECOMP-RequestID": "*", + "X-ONAP-RequestID": "*" + }, + "json": { + "ONAPComponent": "policy_handler", + "ONAPInstance": "*", + "ONAPName": "DCAE", + "action": "configure", + "resource": { + "policy-id": [ + "test_scope_prefix.pdp_decision_Lorem" + ] + } + }, + "method": "post", + "params": null, + "uri": "https://unit-test-pdp-server:8081000/decision/v1/" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_Lorem", + "policy-id": "test_scope_prefix.pdp_decision_Lorem", + "policy-version": "1.1.1-update1" + }, + "properties": { + "policy_hello": "world! - updated 1", + "policy_updated_from_ver": "1.1.1", + "policy_updated_to_ver": "1.1.1-update1", + "updated_policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + } + } + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "X-ECOMP-RequestID": "*", + "X-ONAP-RequestID": "*" + }, + "json": { + "catch_up": false, + "latest_policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "policy_body": { + "config": { + "policy_hello": "world! - updated 1", + "policy_updated_from_ver": "1.1.1", + "policy_updated_to_ver": "1.1.1-update1", + "updated_policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_Lorem", + "policy-id": "test_scope_prefix.pdp_decision_Lorem", + "policy-version": "1.1.1-update1" + }, + "policyName": "test_scope_prefix.pdp_decision_Lorem.1-1-1-update1.xml", + "policyVersion": "1.1.1-update1", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_Lorem" + } + }, + "policy_filter_matches": {}, + "removed_policies": {} + }, + "method": "put", + "params": { + "cfy_tenant_name": "default_tenant" + }, + "uri": "http://unit-test-deployment_handler:8188000/policy" + }, + "res": { + "server_instance_uuid": "e17fc584-7b06-4777-81c5-5da4337d6d16" + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Authorization": "Basic auth", + "Content-Type": "application/json", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "timeout": 15000 + }, + "uri": "https://unit-test-dmaap-mr:280800000/events/unit-test-topicname/unit-test-consumegroup/unit-test-consumerid" + }, + "res": [ + "{\"deployed-policies\":[{\"policy-type\":\"onap.policies.testing\",\"policy-type-version\":\"99.0.0\",\"policy-id\":\"not-dcae.expect-be-ignored-55\",\"policy-version\":\"522.522.522\",\"success-count\":3,\"failure-count\":0}],\"undeployed-policies\":[{\"policy-type\":\"onap.policies.testing\",\"policy-type-version\":\"9.0.0\",\"policy-id\":\"test_scope_prefix.pdp_decision_ipsum\",\"policy-version\":\"2.2.2\",\"success-count\":3,\"failure-count\":0},{\"policy-type\":\"onap.policies.testing\",\"policy-type-version\":\"9.0.0\",\"policy-id\":\"not-dcae.expect-be-ignored\",\"policy-version\":\"22.22.22\",\"success-count\":3,\"failure-count\":0}]}", + "{\"deployed-policies\":[{\"policy-type\":\"onap.policies.testing\",\"policy-type-version\":\"99.9.9\",\"policy-id\":\"not-dcae.expect-be-ignored-55\",\"policy-version\":\"5522.5522.522\",\"success-count\":3,\"failure-count\":0}],\"undeployed-policies\":[{\"policy-type\":\"onap.policies.testing\",\"policy-type-version\":\"9.0.0\",\"policy-id\":\"not-dcae.expect-be-ignored\",\"policy-version\":\"22.22.22\",\"success-count\":3,\"failure-count\":0}]}" + ], + "status_code": 200 + }, + { + "request": { + "headers": { + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "cfy_tenant_name": "default_tenant" + }, + "uri": "http://unit-test-deployment_handler:8188000/policy" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_Lorem", + "policy_versions": { + "1.1.1-update1": true + } + }, + "test_scope_prefix.pdp_decision_amet": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_amet", + "policy_versions": { + "5.5.5": true + } + }, + "test_scope_prefix.pdp_decision_ametist": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ametist", + "policy_versions": { + "7.7.7": true + } + }, + "test_scope_prefix.pdp_decision_consectetur": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_consectetur", + "policy_versions": { + "6.6.6": true + } + }, + "test_scope_prefix.pdp_decision_dolor": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_dolor", + "policy_versions": { + "3.3.3": true + } + }, + "test_scope_prefix.pdp_decision_ipsum": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ipsum", + "policy_versions": { + "2.2.2": true + } + }, + "test_scope_prefix.pdp_decision_sit": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_sit", + "policy_versions": { + "4.4.4": true + } + } + }, + "server_instance_uuid": "e17fc584-7b06-4777-81c5-5da4337d6d16" + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Accept": "application/json", + "Authorization": "Basic auth", + "ClientAuth": "Basic user", + "Content-Type": "application/json", + "Environment": "TEST", + "X-ECOMP-RequestID": "*", + "X-ONAP-RequestID": "*" + }, + "json": { + "ONAPComponent": "policy_handler", + "ONAPInstance": "*", + "ONAPName": "DCAE", + "action": "configure", + "resource": { + "policy-id": [ + "test_scope_prefix.pdp_decision_ipsum" + ] + } + }, + "method": "post", + "params": null, + "uri": "https://unit-test-pdp-server:8081000/decision/v1/" + }, + "res": { + "policies": {} + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "X-ECOMP-RequestID": "*", + "X-ONAP-RequestID": "*" + }, + "json": { + "catch_up": false, + "latest_policies": {}, + "policy_filter_matches": {}, + "removed_policies": { + "test_scope_prefix.pdp_decision_ipsum": true + } + }, + "method": "put", + "params": { + "cfy_tenant_name": "default_tenant" + }, + "uri": "http://unit-test-deployment_handler:8188000/policy" + }, + "res": { + "server_instance_uuid": "e17fc584-7b06-4777-81c5-5da4337d6d16" + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Authorization": "Basic auth", + "Content-Type": "application/json", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "timeout": 15000 + }, + "uri": "https://unit-test-dmaap-mr:280800000/events/unit-test-topicname/unit-test-consumegroup/unit-test-consumerid" + }, + "res": [ + "{\"deployed-policies\":[{\"policy-type\":\"onap.policies.monitoring.cdap.tca.hi.lo.app\",\"policy-type-version\":\"1.0.0\",\"policy-id\":\"test_scope_prefix.pdp_decision_Lorem\",\"policy-version\":\"1.1.1-update1\",\"success-count\":3,\"failure-count\":0}],\"undeployed-policies\":[{\"policy-type\":\"onap.policies.monitoring.cdap.tca.hi.lo.app\",\"policy-type-version\":\"1.0.0\",\"policy-id\":\"test_scope_prefix.pdp_decision_Lorem\",\"policy-version\":\"1.1.1\",\"success-count\":3,\"failure-count\":0}]}", + "{\"deployed-policies\":[{\"policy-type\":\"onap.policies.monitoring.cdap.tca.hi.lo.app\",\"policy-type-version\":\"1.0.0\",\"policy-id\":\"test_scope_prefix.pdp_decision_Lorem\",\"policy-version\":\"1.1.1-update2\",\"success-count\":3,\"failure-count\":0}],\"undeployed-policies\":[{\"policy-type\":\"onap.policies.monitoring.cdap.tca.hi.lo.app\",\"policy-type-version\":\"1.0.0\",\"policy-id\":\"test_scope_prefix.pdp_decision_Lorem\",\"policy-version\":\"1.1.1-update1\",\"success-count\":3,\"failure-count\":0}]}", + "{\"deployed-policies\":[{\"policy-type\":\"onap.policies.monitoring.cdap.tca.hi.lo.app\",\"policy-type-version\":\"1.0.0\",\"policy-id\":\"test_scope_prefix.pdp_decision_Lorem\",\"policy-version\":\"1.1.1-update3\",\"success-count\":3,\"failure-count\":0}],\"undeployed-policies\":[{\"policy-type\":\"onap.policies.monitoring.cdap.tca.hi.lo.app\",\"policy-type-version\":\"1.0.0\",\"policy-id\":\"test_scope_prefix.pdp_decision_Lorem\",\"policy-version\":\"1.1.1-update2\",\"success-count\":3,\"failure-count\":0}]}" + ], + "status_code": 200 + }, + { + "request": { + "headers": { + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "cfy_tenant_name": "default_tenant" + }, + "uri": "http://unit-test-deployment_handler:8188000/policy" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_Lorem", + "policy_versions": { + "1.1.1": true + } + }, + "test_scope_prefix.pdp_decision_amet": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_amet", + "policy_versions": { + "5.5.5": true + } + }, + "test_scope_prefix.pdp_decision_ametist": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ametist", + "policy_versions": { + "7.7.7": true + } + }, + "test_scope_prefix.pdp_decision_consectetur": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_consectetur", + "policy_versions": { + "6.6.6": true + } + }, + "test_scope_prefix.pdp_decision_dolor": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_dolor", + "policy_versions": { + "3.3.3": true + } + }, + "test_scope_prefix.pdp_decision_ipsum": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ipsum", + "policy_versions": { + "2.2.2": true + } + }, + "test_scope_prefix.pdp_decision_sit": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_sit", + "policy_versions": { + "4.4.4": true + } + } + }, + "server_instance_uuid": "e17fc584-7b06-4777-81c5-5da4337d6d16" + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Accept": "application/json", + "Authorization": "Basic auth", + "ClientAuth": "Basic user", + "Content-Type": "application/json", + "Environment": "TEST", + "X-ECOMP-RequestID": "*", + "X-ONAP-RequestID": "*" + }, + "json": { + "ONAPComponent": "policy_handler", + "ONAPInstance": "*", + "ONAPName": "DCAE", + "action": "configure", + "resource": { + "policy-id": [ + "test_scope_prefix.pdp_decision_Lorem" + ] + } + }, + "method": "post", + "params": null, + "uri": "https://unit-test-pdp-server:8081000/decision/v1/" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_Lorem", + "policy-id": "test_scope_prefix.pdp_decision_Lorem", + "policy-version": "1.1.1-update3" + }, + "properties": { + "policy_hello": "world! - updated 3", + "policy_updated_from_ver": "1.1.1-update2", + "policy_updated_to_ver": "1.1.1-update3", + "updated_policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + } + } + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "X-ECOMP-RequestID": "*", + "X-ONAP-RequestID": "*" + }, + "json": { + "catch_up": false, + "latest_policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "policy_body": { + "config": { + "policy_hello": "world! - updated 3", + "policy_updated_from_ver": "1.1.1-update2", + "policy_updated_to_ver": "1.1.1-update3", + "updated_policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_Lorem", + "policy-id": "test_scope_prefix.pdp_decision_Lorem", + "policy-version": "1.1.1-update3" + }, + "policyName": "test_scope_prefix.pdp_decision_Lorem.1-1-1-update3.xml", + "policyVersion": "1.1.1-update3", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_Lorem" + } + }, + "policy_filter_matches": {}, + "removed_policies": {} + }, + "method": "put", + "params": { + "cfy_tenant_name": "default_tenant" + }, + "uri": "http://unit-test-deployment_handler:8188000/policy" + }, + "res": { + "server_instance_uuid": "e17fc584-7b06-4777-81c5-5da4337d6d16" + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Authorization": "Basic auth", + "Content-Type": "application/json", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "timeout": 15000 + }, + "uri": "https://unit-test-dmaap-mr:280800000/events/unit-test-topicname/unit-test-consumegroup/unit-test-consumerid" + }, + "res": [], + "status_code": 200 + }, + { + "request": { + "headers": { + "Authorization": "Basic auth", + "Content-Type": "application/json", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "timeout": 15000 + }, + "uri": "https://unit-test-dmaap-mr:280800000/events/unit-test-topicname/unit-test-consumegroup/unit-test-consumerid" + }, + "res": [], + "status_code": 200 + }, + { + "request": { + "headers": { + "Authorization": "Basic auth", + "Content-Type": "application/json", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "timeout": 15000 + }, + "uri": "https://unit-test-dmaap-mr:280800000/events/unit-test-topicname/unit-test-consumegroup/unit-test-consumerid" + }, + "res": [], + "status_code": 200 + } + ], + "tests/main/test_pz_catch_up.py::test_catch_up": [ + { + "request": { + "headers": { + "Authorization": "Basic YWxleC1ETUFBUF9NUl9VU0VSOmFsZXgtRE1BQVBfTVJfUFdE", + "Content-Type": "application/json", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": null, + "uri": "https://unit-test-dmaap-mr:280800000/events/unit-test-topicname/unit-test-consumegroup/unit-test-consumerid" + }, + "res": ["garbage-to-be-ignored"], + "status_code": 200 + }, + { + "request": { + "headers": { + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "cfy_tenant_name": "default_tenant" + }, + "uri": "http://unit-test-deployment_handler:8188000/policy" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_Lorem", + "policy_versions": { + "0": true + } + }, + "test_scope_prefix.pdp_decision_amet": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_amet", + "policy_versions": { + "5.5.5": true + } + }, + "test_scope_prefix.pdp_decision_ametist": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ametist", + "policy_versions": { + "6": true + } + }, + "test_scope_prefix.pdp_decision_consectetur": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_consectetur", + "policy_versions": { + "5": true + } + }, + "test_scope_prefix.pdp_decision_dolor": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_dolor", + "policy_versions": { + "2": true + } + }, + "test_scope_prefix.pdp_decision_ipsum": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ipsum", + "policy_versions": { + "1": true + } + }, + "test_scope_prefix.pdp_decision_sit": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_sit", + "policy_versions": { + "3": true + } + } + }, + "server_instance_uuid": "e17fc584-7b06-4777-81c5-5da4337d6d16" + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Accept": "application/json", + "Authorization": "Basic YWxleC1QRFBfVVNFUjphbGV4LVBEUF9QV0Q=", + "ClientAuth": "Basic user", + "Content-Type": "application/json", + "Environment": "TEST", + "X-ECOMP-RequestID": "*", + "X-ONAP-RequestID": "*" + }, + "json": { + "ONAPComponent": "policy_handler", + "ONAPInstance": "*", + "ONAPName": "DCAE", + "action": "configure", + "resource": { + "policy-id": [ + "test_scope_prefix.pdp_decision_Lorem", + "test_scope_prefix.pdp_decision_amet", + "test_scope_prefix.pdp_decision_ametist", + "test_scope_prefix.pdp_decision_consectetur", + "test_scope_prefix.pdp_decision_dolor", + "test_scope_prefix.pdp_decision_ipsum", + "test_scope_prefix.pdp_decision_sit" + ] + } + }, + "method": "post", + "params": null, + "uri": "https://unit-test-pdp-server:8081000/decision/v1/" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_Lorem", + "policy-id": "test_scope_prefix.pdp_decision_Lorem", + "policy-version": "1.1.1" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 0, + "policy_updated_to_ver": 1, + "updated_policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_amet": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_amet", + "policy-id": "test_scope_prefix.pdp_decision_amet", + "policy-version": "5.5.5" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 4, + "policy_updated_to_ver": 5, + "updated_policy_id": "test_scope_prefix.pdp_decision_amet" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_ametist": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ametist", + "policy-id": "test_scope_prefix.pdp_decision_ametist", + "policy-version": "7.7.7" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 6, + "policy_updated_to_ver": 7, + "updated_policy_id": "test_scope_prefix.pdp_decision_ametist" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_consectetur": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_consectetur", + "policy-id": "test_scope_prefix.pdp_decision_consectetur", + "policy-version": "6.6.6" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 5, + "policy_updated_to_ver": 6, + "updated_policy_id": "test_scope_prefix.pdp_decision_consectetur" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_dolor": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_dolor", + "policy-id": "test_scope_prefix.pdp_decision_dolor", + "policy-version": "3.3.3" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 2, + "policy_updated_to_ver": 3, + "updated_policy_id": "test_scope_prefix.pdp_decision_dolor" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_ipsum": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ipsum", + "policy-id": "test_scope_prefix.pdp_decision_ipsum", + "policy-version": "2.2.2" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 1, + "policy_updated_to_ver": 2, + "updated_policy_id": "test_scope_prefix.pdp_decision_ipsum" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_sit": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_sit", + "policy-id": "test_scope_prefix.pdp_decision_sit", + "policy-version": "4.4.4" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 3, + "policy_updated_to_ver": 4, + "updated_policy_id": "test_scope_prefix.pdp_decision_sit" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + } + } + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "X-ECOMP-RequestID": "*", + "X-ONAP-RequestID": "*" + }, + "json": { + "catch_up": true, + "latest_policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 0, + "policy_updated_to_ver": 1, + "updated_policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_Lorem", + "policy-id": "test_scope_prefix.pdp_decision_Lorem", + "policy-version": "1.1.1" + }, + "policyName": "test_scope_prefix.pdp_decision_Lorem.1-1-1.xml", + "policyVersion": "1.1.1", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "test_scope_prefix.pdp_decision_ametist": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 6, + "policy_updated_to_ver": 7, + "updated_policy_id": "test_scope_prefix.pdp_decision_ametist" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ametist", + "policy-id": "test_scope_prefix.pdp_decision_ametist", + "policy-version": "7.7.7" + }, + "policyName": "test_scope_prefix.pdp_decision_ametist.7-7-7.xml", + "policyVersion": "7.7.7", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_ametist" + }, + "test_scope_prefix.pdp_decision_consectetur": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 5, + "policy_updated_to_ver": 6, + "updated_policy_id": "test_scope_prefix.pdp_decision_consectetur" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_consectetur", + "policy-id": "test_scope_prefix.pdp_decision_consectetur", + "policy-version": "6.6.6" + }, + "policyName": "test_scope_prefix.pdp_decision_consectetur.6-6-6.xml", + "policyVersion": "6.6.6", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_consectetur" + }, + "test_scope_prefix.pdp_decision_dolor": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 2, + "policy_updated_to_ver": 3, + "updated_policy_id": "test_scope_prefix.pdp_decision_dolor" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_dolor", + "policy-id": "test_scope_prefix.pdp_decision_dolor", + "policy-version": "3.3.3" + }, + "policyName": "test_scope_prefix.pdp_decision_dolor.3-3-3.xml", + "policyVersion": "3.3.3", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_dolor" + }, + "test_scope_prefix.pdp_decision_ipsum": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 1, + "policy_updated_to_ver": 2, + "updated_policy_id": "test_scope_prefix.pdp_decision_ipsum" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ipsum", + "policy-id": "test_scope_prefix.pdp_decision_ipsum", + "policy-version": "2.2.2" + }, + "policyName": "test_scope_prefix.pdp_decision_ipsum.2-2-2.xml", + "policyVersion": "2.2.2", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_ipsum" + }, + "test_scope_prefix.pdp_decision_sit": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 3, + "policy_updated_to_ver": 4, + "updated_policy_id": "test_scope_prefix.pdp_decision_sit" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_sit", + "policy-id": "test_scope_prefix.pdp_decision_sit", + "policy-version": "4.4.4" + }, + "policyName": "test_scope_prefix.pdp_decision_sit.4-4-4.xml", + "policyVersion": "4.4.4", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_sit" + } + }, + "policy_filter_matches": {}, + "removed_policies": {} + }, + "method": "put", + "params": { + "cfy_tenant_name": "default_tenant" + }, + "uri": "http://unit-test-deployment_handler:8188000/policy" + }, + "res": { + "server_instance_uuid": "e17fc584-7b06-4777-81c5-5da4337d6d16" + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Authorization": "Basic YWxleC1ETUFBUF9NUl9VU0VSOmFsZXgtRE1BQVBfTVJfUFdE", + "Content-Type": "application/json", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "timeout": 15000 + }, + "uri": "https://unit-test-dmaap-mr:280800000/events/unit-test-topicname/unit-test-consumegroup/unit-test-consumerid" + }, + "res": [], + "status_code": 200 + }, + { + "request": { + "headers": { + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "cfy_tenant_name": "default_tenant" + }, + "uri": "http://unit-test-deployment_handler:8188000/policy" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_Lorem", + "policy_versions": { + "0": true + } + }, + "test_scope_prefix.pdp_decision_amet": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_amet", + "policy_versions": { + "5.5.5": true + } + }, + "test_scope_prefix.pdp_decision_ametist": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ametist", + "policy_versions": { + "6": true + } + }, + "test_scope_prefix.pdp_decision_consectetur": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_consectetur", + "policy_versions": { + "5": true + } + }, + "test_scope_prefix.pdp_decision_dolor": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_dolor", + "policy_versions": { + "2": true + } + }, + "test_scope_prefix.pdp_decision_ipsum": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ipsum", + "policy_versions": { + "1": true + } + }, + "test_scope_prefix.pdp_decision_sit": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_sit", + "policy_versions": { + "3": true + } + } + }, + "server_instance_uuid": "e17fc584-7b06-4777-81c5-5da4337d6d16" + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Accept": "application/json", + "Authorization": "Basic YWxleC1QRFBfVVNFUjphbGV4LVBEUF9QV0Q=", + "ClientAuth": "Basic user", + "Content-Type": "application/json", + "Environment": "TEST", + "X-ECOMP-RequestID": "*", + "X-ONAP-RequestID": "*" + }, + "json": { + "ONAPComponent": "policy_handler", + "ONAPInstance": "*", + "ONAPName": "DCAE", + "action": "configure", + "resource": { + "policy-id": [ + "test_scope_prefix.pdp_decision_Lorem", + "test_scope_prefix.pdp_decision_amet", + "test_scope_prefix.pdp_decision_ametist", + "test_scope_prefix.pdp_decision_consectetur", + "test_scope_prefix.pdp_decision_dolor", + "test_scope_prefix.pdp_decision_ipsum", + "test_scope_prefix.pdp_decision_sit" + ] + } + }, + "method": "post", + "params": null, + "uri": "https://unit-test-pdp-server:8081000/decision/v1/" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_Lorem", + "policy-id": "test_scope_prefix.pdp_decision_Lorem", + "policy-version": "1.1.1" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 0, + "policy_updated_to_ver": 1, + "updated_policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_amet": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_amet", + "policy-id": "test_scope_prefix.pdp_decision_amet", + "policy-version": "5.5.5" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 4, + "policy_updated_to_ver": 5, + "updated_policy_id": "test_scope_prefix.pdp_decision_amet" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_ametist": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ametist", + "policy-id": "test_scope_prefix.pdp_decision_ametist", + "policy-version": "7.7.7" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 6, + "policy_updated_to_ver": 7, + "updated_policy_id": "test_scope_prefix.pdp_decision_ametist" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_consectetur": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_consectetur", + "policy-id": "test_scope_prefix.pdp_decision_consectetur", + "policy-version": "6.6.6" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 5, + "policy_updated_to_ver": 6, + "updated_policy_id": "test_scope_prefix.pdp_decision_consectetur" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_dolor": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_dolor", + "policy-id": "test_scope_prefix.pdp_decision_dolor", + "policy-version": "3.3.3" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 2, + "policy_updated_to_ver": 3, + "updated_policy_id": "test_scope_prefix.pdp_decision_dolor" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_ipsum": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ipsum", + "policy-id": "test_scope_prefix.pdp_decision_ipsum", + "policy-version": "2.2.2" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 1, + "policy_updated_to_ver": 2, + "updated_policy_id": "test_scope_prefix.pdp_decision_ipsum" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_sit": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_sit", + "policy-id": "test_scope_prefix.pdp_decision_sit", + "policy-version": "4.4.4" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 3, + "policy_updated_to_ver": 4, + "updated_policy_id": "test_scope_prefix.pdp_decision_sit" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + } + } + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "X-ECOMP-RequestID": "*", + "X-ONAP-RequestID": "*" + }, + "json": { + "catch_up": true, + "latest_policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 0, + "policy_updated_to_ver": 1, + "updated_policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_Lorem", + "policy-id": "test_scope_prefix.pdp_decision_Lorem", + "policy-version": "1.1.1" + }, + "policyName": "test_scope_prefix.pdp_decision_Lorem.1-1-1.xml", + "policyVersion": "1.1.1", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "test_scope_prefix.pdp_decision_ametist": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 6, + "policy_updated_to_ver": 7, + "updated_policy_id": "test_scope_prefix.pdp_decision_ametist" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ametist", + "policy-id": "test_scope_prefix.pdp_decision_ametist", + "policy-version": "7.7.7" + }, + "policyName": "test_scope_prefix.pdp_decision_ametist.7-7-7.xml", + "policyVersion": "7.7.7", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_ametist" + }, + "test_scope_prefix.pdp_decision_consectetur": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 5, + "policy_updated_to_ver": 6, + "updated_policy_id": "test_scope_prefix.pdp_decision_consectetur" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_consectetur", + "policy-id": "test_scope_prefix.pdp_decision_consectetur", + "policy-version": "6.6.6" + }, + "policyName": "test_scope_prefix.pdp_decision_consectetur.6-6-6.xml", + "policyVersion": "6.6.6", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_consectetur" + }, + "test_scope_prefix.pdp_decision_dolor": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 2, + "policy_updated_to_ver": 3, + "updated_policy_id": "test_scope_prefix.pdp_decision_dolor" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_dolor", + "policy-id": "test_scope_prefix.pdp_decision_dolor", + "policy-version": "3.3.3" + }, + "policyName": "test_scope_prefix.pdp_decision_dolor.3-3-3.xml", + "policyVersion": "3.3.3", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_dolor" + }, + "test_scope_prefix.pdp_decision_ipsum": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 1, + "policy_updated_to_ver": 2, + "updated_policy_id": "test_scope_prefix.pdp_decision_ipsum" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ipsum", + "policy-id": "test_scope_prefix.pdp_decision_ipsum", + "policy-version": "2.2.2" + }, + "policyName": "test_scope_prefix.pdp_decision_ipsum.2-2-2.xml", + "policyVersion": "2.2.2", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_ipsum" + }, + "test_scope_prefix.pdp_decision_sit": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 3, + "policy_updated_to_ver": 4, + "updated_policy_id": "test_scope_prefix.pdp_decision_sit" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_sit", + "policy-id": "test_scope_prefix.pdp_decision_sit", + "policy-version": "4.4.4" + }, + "policyName": "test_scope_prefix.pdp_decision_sit.4-4-4.xml", + "policyVersion": "4.4.4", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_sit" + } + }, + "policy_filter_matches": {}, + "removed_policies": {} + }, + "method": "put", + "params": { + "cfy_tenant_name": "default_tenant" + }, + "uri": "http://unit-test-deployment_handler:8188000/policy" + }, + "res": { + "server_instance_uuid": "e17fc584-7b06-4777-81c5-5da4337d6d16" + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Authorization": "Basic YWxleC1ETUFBUF9NUl9VU0VSOmFsZXgtRE1BQVBfTVJfUFdE", + "Content-Type": "application/json", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "timeout": 15000 + }, + "uri": "https://unit-test-dmaap-mr:280800000/events/unit-test-topicname/unit-test-consumegroup/unit-test-consumerid" + }, + "res": ["garbage-to-be-ignored", "garbage-to-be-ignored"], + "status_code": 200 + }, + { + "request": { + "headers": { + "Authorization": "Basic YWxleC1ETUFBUF9NUl9VU0VSOmFsZXgtRE1BQVBfTVJfUFdE", + "Content-Type": "application/json", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "timeout": 15000 + }, + "uri": "https://unit-test-dmaap-mr:280800000/events/unit-test-topicname/unit-test-consumegroup/unit-test-consumerid" + }, + "res": [], + "status_code": 200 + }, + { + "request": { + "headers": { + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "cfy_tenant_name": "default_tenant" + }, + "uri": "http://unit-test-deployment_handler:8188000/policy" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_Lorem", + "policy_versions": { + "0": true + } + }, + "test_scope_prefix.pdp_decision_amet": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_amet", + "policy_versions": { + "5.5.5": true + } + }, + "test_scope_prefix.pdp_decision_ametist": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ametist", + "policy_versions": { + "6": true + } + }, + "test_scope_prefix.pdp_decision_consectetur": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_consectetur", + "policy_versions": { + "5": true + } + }, + "test_scope_prefix.pdp_decision_dolor": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_dolor", + "policy_versions": { + "2": true + } + }, + "test_scope_prefix.pdp_decision_ipsum": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_ipsum", + "policy_versions": { + "1": true + } + }, + "test_scope_prefix.pdp_decision_sit": { + "pending_update": false, + "policy_id": "test_scope_prefix.pdp_decision_sit", + "policy_versions": { + "3": true + } + } + }, + "server_instance_uuid": "e17fc584-7b06-4777-81c5-5da4337d6d16" + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Accept": "application/json", + "Authorization": "Basic YWxleC1QRFBfVVNFUjphbGV4LVBEUF9QV0Q=", + "ClientAuth": "Basic user", + "Content-Type": "application/json", + "Environment": "TEST", + "X-ECOMP-RequestID": "*", + "X-ONAP-RequestID": "*" + }, + "json": { + "ONAPComponent": "policy_handler", + "ONAPInstance": "*", + "ONAPName": "DCAE", + "action": "configure", + "resource": { + "policy-id": [ + "test_scope_prefix.pdp_decision_Lorem", + "test_scope_prefix.pdp_decision_amet", + "test_scope_prefix.pdp_decision_ametist", + "test_scope_prefix.pdp_decision_consectetur", + "test_scope_prefix.pdp_decision_dolor", + "test_scope_prefix.pdp_decision_ipsum", + "test_scope_prefix.pdp_decision_sit" + ] + } + }, + "method": "post", + "params": null, + "uri": "https://unit-test-pdp-server:8081000/decision/v1/" + }, + "res": { + "policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_Lorem", + "policy-id": "test_scope_prefix.pdp_decision_Lorem", + "policy-version": "1.1.1" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 0, + "policy_updated_to_ver": 1, + "updated_policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_amet": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_amet", + "policy-id": "test_scope_prefix.pdp_decision_amet", + "policy-version": "5.5.5" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 4, + "policy_updated_to_ver": 5, + "updated_policy_id": "test_scope_prefix.pdp_decision_amet" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_ametist": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ametist", + "policy-id": "test_scope_prefix.pdp_decision_ametist", + "policy-version": "7.7.7" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 6, + "policy_updated_to_ver": 7, + "updated_policy_id": "test_scope_prefix.pdp_decision_ametist" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_consectetur": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_consectetur", + "policy-id": "test_scope_prefix.pdp_decision_consectetur", + "policy-version": "6.6.6" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 5, + "policy_updated_to_ver": 6, + "updated_policy_id": "test_scope_prefix.pdp_decision_consectetur" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_dolor": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_dolor", + "policy-id": "test_scope_prefix.pdp_decision_dolor", + "policy-version": "3.3.3" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 2, + "policy_updated_to_ver": 3, + "updated_policy_id": "test_scope_prefix.pdp_decision_dolor" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_ipsum": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ipsum", + "policy-id": "test_scope_prefix.pdp_decision_ipsum", + "policy-version": "2.2.2" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 1, + "policy_updated_to_ver": 2, + "updated_policy_id": "test_scope_prefix.pdp_decision_ipsum" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "test_scope_prefix.pdp_decision_sit": { + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_sit", + "policy-id": "test_scope_prefix.pdp_decision_sit", + "policy-version": "4.4.4" + }, + "properties": { + "policy_hello": "world!", + "policy_updated_from_ver": 3, + "policy_updated_to_ver": 4, + "updated_policy_id": "test_scope_prefix.pdp_decision_sit" + }, + "type": "unit.test.type.policies", + "version": "1.0.0" + } + } + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "X-ECOMP-RequestID": "*", + "X-ONAP-RequestID": "*" + }, + "json": { + "catch_up": true, + "latest_policies": { + "test_scope_prefix.pdp_decision_Lorem": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 0, + "policy_updated_to_ver": 1, + "updated_policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_Lorem", + "policy-id": "test_scope_prefix.pdp_decision_Lorem", + "policy-version": "1.1.1" + }, + "policyName": "test_scope_prefix.pdp_decision_Lorem.1-1-1.xml", + "policyVersion": "1.1.1", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_Lorem" + }, + "test_scope_prefix.pdp_decision_ametist": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 6, + "policy_updated_to_ver": 7, + "updated_policy_id": "test_scope_prefix.pdp_decision_ametist" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ametist", + "policy-id": "test_scope_prefix.pdp_decision_ametist", + "policy-version": "7.7.7" + }, + "policyName": "test_scope_prefix.pdp_decision_ametist.7-7-7.xml", + "policyVersion": "7.7.7", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_ametist" + }, + "test_scope_prefix.pdp_decision_consectetur": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 5, + "policy_updated_to_ver": 6, + "updated_policy_id": "test_scope_prefix.pdp_decision_consectetur" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_consectetur", + "policy-id": "test_scope_prefix.pdp_decision_consectetur", + "policy-version": "6.6.6" + }, + "policyName": "test_scope_prefix.pdp_decision_consectetur.6-6-6.xml", + "policyVersion": "6.6.6", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_consectetur" + }, + "test_scope_prefix.pdp_decision_dolor": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 2, + "policy_updated_to_ver": 3, + "updated_policy_id": "test_scope_prefix.pdp_decision_dolor" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_dolor", + "policy-id": "test_scope_prefix.pdp_decision_dolor", + "policy-version": "3.3.3" + }, + "policyName": "test_scope_prefix.pdp_decision_dolor.3-3-3.xml", + "policyVersion": "3.3.3", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_dolor" + }, + "test_scope_prefix.pdp_decision_ipsum": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 1, + "policy_updated_to_ver": 2, + "updated_policy_id": "test_scope_prefix.pdp_decision_ipsum" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_ipsum", + "policy-id": "test_scope_prefix.pdp_decision_ipsum", + "policy-version": "2.2.2" + }, + "policyName": "test_scope_prefix.pdp_decision_ipsum.2-2-2.xml", + "policyVersion": "2.2.2", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_ipsum" + }, + "test_scope_prefix.pdp_decision_sit": { + "policy_body": { + "config": { + "policy_hello": "world!", + "policy_updated_from_ver": 3, + "policy_updated_to_ver": 4, + "updated_policy_id": "test_scope_prefix.pdp_decision_sit" + }, + "metadata": { + "description": "description for test_scope_prefix.pdp_decision_sit", + "policy-id": "test_scope_prefix.pdp_decision_sit", + "policy-version": "4.4.4" + }, + "policyName": "test_scope_prefix.pdp_decision_sit.4-4-4.xml", + "policyVersion": "4.4.4", + "type": "unit.test.type.policies", + "version": "1.0.0" + }, + "policy_id": "test_scope_prefix.pdp_decision_sit" + } + }, + "policy_filter_matches": {}, + "removed_policies": {} + }, + "method": "put", + "params": { + "cfy_tenant_name": "default_tenant" + }, + "uri": "http://unit-test-deployment_handler:8188000/policy" + }, + "res": { + "server_instance_uuid": "e17fc584-7b06-4777-81c5-5da4337d6d16" + }, + "status_code": 200 + }, + { + "request": { + "headers": { + "Authorization": "Basic YWxleC1ETUFBUF9NUl9VU0VSOmFsZXgtRE1BQVBfTVJfUFdE", + "Content-Type": "application/json", + "X-ONAP-RequestID": "*", + "X-ECOMP-RequestID": "*" + }, + "json": null, + "method": "get", + "params": { + "timeout": 15000 + }, + "uri": "https://unit-test-dmaap-mr:280800000/events/unit-test-topicname/unit-test-consumegroup/unit-test-consumerid" + }, + "res": [], + "status_code": 200 + } + ] +} \ No newline at end of file diff --git a/tests/main/mock_expected.py b/tests/main/mock_expected.py deleted file mode 100644 index 450394c..0000000 --- a/tests/main/mock_expected.py +++ /dev/null @@ -1,526 +0,0 @@ -# ============LICENSE_START======================================================= -# Copyright (c) 2018-2019 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========================================================= -# -"""expected message history per test for pdp API 2019 and after""" - - -HISTORY_EXPECTED = { - "tests/main/test_policy_rest.py::test_get_policy_latest" : [ - { - "request": { - "headers": { - "Accept": "application/json", - "Authorization": "Basic auth", - "ClientAuth": "Basic user", - "Content-Type": "application/json", - "Environment": "TEST", - "X-ECOMP-RequestID": "*" - }, - "json": { - "ONAPComponent": "policy_handler", - "ONAPInstance": "*", - "ONAPName": "DCAE", - "action": "configure", - "resource": { - "policy-id": [ - "test_scope_prefix.pdp_desition_sit" - ] - } - }, - "method": "post", - "params": None, - "uri": "https://unit-test-pdp-server:8081000/decision/v1/" - }, - "res": "*", - "status_code": 200 - } - ], - "tests/main/test_policyhandler.py::WebServerTest::test_web_all_policies_latest": [ - { - "request": { - "headers": { - "X-ECOMP-RequestID": "*" - }, - "json": None, - "method": "get", - "params": { - "cfy_tenant_name": "default_tenant" - }, - "uri": "http://unit-test-deployment_handler:8188000/policy" - }, - "res": "*", - "status_code": 200 - }, - { - "request": { - "headers": { - "Accept": "application/json", - "Authorization": "Basic auth", - "ClientAuth": "Basic user", - "Content-Type": "application/json", - "Environment": "TEST", - "X-ECOMP-RequestID": "*" - }, - "json": { - "policyName": "test_scope_prefix.Config_.*" - }, - "method": "post", - "params": None, - "uri": "https://unit-test-pdp-server:8081000/pdp/api/getConfig" - }, - "res": "*", - "status_code": 200 - } - ], - "tests/main/test_policyhandler.py::WebServerTest::test_web_policies_latest": [ - { - "request": { - "headers": { - "Accept": "application/json", - "Authorization": "Basic auth", - "ClientAuth": "Basic user", - "Content-Type": "application/json", - "Environment": "TEST", - "X-ECOMP-RequestID": "*" - }, - "json": { - "policyName": "test_scope_prefix.Config_amet.*" - }, - "method": "post", - "params": None, - "uri": "https://unit-test-pdp-server:8081000/pdp/api/getConfig" - }, - "res": "*", - "status_code": 200 - } - ], - "tests/main/test_policyhandler.py::WebServerTest::test_web_policy_latest": [ - { - "request": { - "headers": { - "Accept": "application/json", - "Authorization": "Basic auth", - "ClientAuth": "Basic user", - "Content-Type": "application/json", - "Environment": "TEST", - "X-ECOMP-RequestID": "*" - }, - "json": { - "ONAPComponent": "policy_handler", - "ONAPInstance": "*", - "ONAPName": "DCAE", - "action": "configure", - "resource": { - "policy-id": [ - "test_scope_prefix.pdp_desition_sit" - ] - } - }, - "method": "post", - "params": None, - "uri": "https://unit-test-pdp-server:8081000/decision/v1/" - }, - "res": "*", - "status_code": 200 - } - ], - "tests/main/test_policyhandler.py::WebServerTest::test_zzzzz_shutdown": [ - { - "request": { - "headers": { - "X-ECOMP-RequestID": "*" - }, - "json": None, - "method": "get", - "params": { - "cfy_tenant_name": "default_tenant" - }, - "uri": "http://unit-test-deployment_handler:8188000/policy" - }, - "res": "*", - "status_code": 200 - }, - { - "request": { - "headers": { - "Accept": "application/json", - "Authorization": "Basic auth", - "ClientAuth": "Basic user", - "Content-Type": "application/json", - "Environment": "TEST", - "X-ECOMP-RequestID": "*" - }, - "json": { - "policyName": "test_scope_prefix.Config_.*" - }, - "method": "post", - "params": None, - "uri": "https://unit-test-pdp-server:8081000/pdp/api/getConfig" - }, - "res": "*", - "status_code": 200 - }, - { - "request": { - "headers": { - "X-ECOMP-RequestID": "*" - }, - "json": { - "catch_up": True, - "latest_policies": { - "test_scope_prefix.Config_Lorem": { - "policy_body": { - "config": { - "policy_hello": "world!", - "policy_updated_from_ver": "0", - "policy_updated_to_ver": "1", - "updated_policy_id": "test_scope_prefix.Config_Lorem" - }, - "matchingConditions": { - "ConfigName": "alex_config_name", - "ONAPName": "DCAE" - }, - "policyConfigMessage": "Config Retrieved! ", - "policyConfigStatus": "CONFIG_RETRIEVED", - "policyName": "test_scope_prefix.Config_Lorem.1.xml", - "policyVersion": "1", - "property": None, - "responseAttributes": {}, - "type": "JSON" - }, - "policy_id": "test_scope_prefix.Config_Lorem" - }, - "test_scope_prefix.Config_amet": { - "policy_body": { - "config": { - "policy_hello": "world!", - "policy_updated_from_ver": "4", - "policy_updated_to_ver": "5", - "updated_policy_id": "test_scope_prefix.Config_amet" - }, - "matchingConditions": { - "ConfigName": "alex_config_name", - "ONAPName": "DCAE" - }, - "policyConfigMessage": "Config Retrieved! ", - "policyConfigStatus": "CONFIG_RETRIEVED", - "policyName": "test_scope_prefix.Config_amet.5.xml", - "policyVersion": "5", - "property": None, - "responseAttributes": {}, - "type": "JSON" - }, - "policy_id": "test_scope_prefix.Config_amet" - }, - "test_scope_prefix.Config_ametist": { - "policy_body": { - "config": { - "policy_hello": "world!", - "policy_updated_from_ver": "6", - "policy_updated_to_ver": "7", - "updated_policy_id": "test_scope_prefix.Config_ametist" - }, - "matchingConditions": { - "ConfigName": "alex_config_name", - "ONAPName": "DCAE" - }, - "policyConfigMessage": "Config Retrieved! ", - "policyConfigStatus": "CONFIG_RETRIEVED", - "policyName": "test_scope_prefix.Config_ametist.7.xml", - "policyVersion": "7", - "property": None, - "responseAttributes": {}, - "type": "JSON" - }, - "policy_id": "test_scope_prefix.Config_ametist" - }, - "test_scope_prefix.Config_consectetur": { - "policy_body": { - "config": { - "policy_hello": "world!", - "policy_updated_from_ver": "5", - "policy_updated_to_ver": "6", - "updated_policy_id": "test_scope_prefix.Config_consectetur" - }, - "matchingConditions": { - "ConfigName": "alex_config_name", - "ONAPName": "DCAE" - }, - "policyConfigMessage": "Config Retrieved! ", - "policyConfigStatus": "CONFIG_RETRIEVED", - "policyName": "test_scope_prefix.Config_consectetur.6.xml", - "policyVersion": "6", - "property": None, - "responseAttributes": {}, - "type": "JSON" - }, - "policy_id": "test_scope_prefix.Config_consectetur" - }, - "test_scope_prefix.Config_dolor": { - "policy_body": { - "config": { - "policy_hello": "world!", - "policy_updated_from_ver": "2", - "policy_updated_to_ver": "3", - "updated_policy_id": "test_scope_prefix.Config_dolor" - }, - "matchingConditions": { - "ConfigName": "alex_config_name", - "ONAPName": "DCAE" - }, - "policyConfigMessage": "Config Retrieved! ", - "policyConfigStatus": "CONFIG_RETRIEVED", - "policyName": "test_scope_prefix.Config_dolor.3.xml", - "policyVersion": "3", - "property": None, - "responseAttributes": {}, - "type": "JSON" - }, - "policy_id": "test_scope_prefix.Config_dolor" - }, - "test_scope_prefix.Config_ipsum": { - "policy_body": { - "config": { - "policy_hello": "world!", - "policy_updated_from_ver": "1", - "policy_updated_to_ver": "2", - "updated_policy_id": "test_scope_prefix.Config_ipsum" - }, - "matchingConditions": { - "ConfigName": "alex_config_name", - "ONAPName": "DCAE" - }, - "policyConfigMessage": "Config Retrieved! ", - "policyConfigStatus": "CONFIG_RETRIEVED", - "policyName": "test_scope_prefix.Config_ipsum.2.xml", - "policyVersion": "2", - "property": None, - "responseAttributes": {}, - "type": "JSON" - }, - "policy_id": "test_scope_prefix.Config_ipsum" - }, - "test_scope_prefix.Config_sit": { - "policy_body": { - "config": { - "policy_hello": "world!", - "policy_updated_from_ver": "3", - "policy_updated_to_ver": "4", - "updated_policy_id": "test_scope_prefix.Config_sit" - }, - "matchingConditions": { - "ConfigName": "alex_config_name", - "ONAPName": "DCAE" - }, - "policyConfigMessage": "Config Retrieved! ", - "policyConfigStatus": "CONFIG_RETRIEVED", - "policyName": "test_scope_prefix.Config_sit.4.xml", - "policyVersion": "4", - "property": None, - "responseAttributes": {}, - "type": "JSON" - }, - "policy_id": "test_scope_prefix.Config_sit" - } - }, - "policy_filter_matches": { - "test_scope_prefix.Config_Lorem": {}, - "test_scope_prefix.Config_amet": {}, - "test_scope_prefix.Config_ametist": {}, - "test_scope_prefix.Config_consectetur": {}, - "test_scope_prefix.Config_dolor": {}, - "test_scope_prefix.Config_ipsum": {}, - "test_scope_prefix.Config_sit": {} - }, - "removed_policies": {} - }, - "method": "put", - "params": { - "cfy_tenant_name": "default_tenant" - }, - "uri": "http://unit-test-deployment_handler:8188000/policy" - }, - "res": "*", - "status_code": 200 - }, - { - "request": { - "headers": { - "X-ECOMP-RequestID": "*" - }, - "json": None, - "method": "get", - "params": { - "cfy_tenant_name": "default_tenant" - }, - "uri": "http://unit-test-deployment_handler:8188000/policy" - }, - "res": "*", - "status_code": 200 - }, - { - "request": { - "headers": { - "Accept": "application/json", - "Authorization": "Basic auth", - "ClientAuth": "Basic user", - "Content-Type": "application/json", - "Environment": "TEST", - "X-ECOMP-RequestID": "*" - }, - "json": { - "policyName": "test_scope_prefix.Config_ipsum" - }, - "method": "post", - "params": None, - "uri": "https://unit-test-pdp-server:8081000/pdp/api/getConfig" - }, - "res": "*", - "status_code": 200 - }, - { - "request": { - "headers": { - "Accept": "application/json", - "Authorization": "Basic auth", - "ClientAuth": "Basic user", - "Content-Type": "application/json", - "Environment": "TEST", - "X-ECOMP-RequestID": "*" - }, - "json": { - "policyName": "test_scope_prefix.Config_sit" - }, - "method": "post", - "params": None, - "uri": "https://unit-test-pdp-server:8081000/pdp/api/getConfig" - }, - "res": "*", - "status_code": 200 - }, - { - "request": { - "headers": { - "Accept": "application/json", - "Authorization": "Basic auth", - "ClientAuth": "Basic user", - "Content-Type": "application/json", - "Environment": "TEST", - "X-ECOMP-RequestID": "*" - }, - "json": { - "policyName": "test_scope_prefix.Config_consectetur" - }, - "method": "post", - "params": None, - "uri": "https://unit-test-pdp-server:8081000/pdp/api/getConfig" - }, - "res": "*", - "status_code": 200 - }, - { - "request": { - "headers": { - "X-ECOMP-RequestID": "*" - }, - "json": { - "catch_up": False, - "latest_policies": { - "test_scope_prefix.Config_consectetur": { - "policy_body": { - "config": { - "policy_hello": "world!", - "policy_updated_from_ver": "5", - "policy_updated_to_ver": "6", - "updated_policy_id": "test_scope_prefix.Config_consectetur" - }, - "matchingConditions": { - "ConfigName": "alex_config_name", - "ONAPName": "DCAE" - }, - "policyConfigMessage": "Config Retrieved! ", - "policyConfigStatus": "CONFIG_RETRIEVED", - "policyName": "test_scope_prefix.Config_consectetur.6.xml", - "policyVersion": "6", - "property": None, - "responseAttributes": {}, - "type": "JSON" - }, - "policy_id": "test_scope_prefix.Config_consectetur" - }, - "test_scope_prefix.Config_ipsum": { - "policy_body": { - "config": { - "policy_hello": "world!", - "policy_updated_from_ver": "1", - "policy_updated_to_ver": "2", - "updated_policy_id": "test_scope_prefix.Config_ipsum" - }, - "matchingConditions": { - "ConfigName": "alex_config_name", - "ONAPName": "DCAE" - }, - "policyConfigMessage": "Config Retrieved! ", - "policyConfigStatus": "CONFIG_RETRIEVED", - "policyName": "test_scope_prefix.Config_ipsum.2.xml", - "policyVersion": "2", - "property": None, - "responseAttributes": {}, - "type": "JSON" - }, - "policy_id": "test_scope_prefix.Config_ipsum" - }, - "test_scope_prefix.Config_sit": { - "policy_body": { - "config": { - "policy_hello": "world!", - "policy_updated_from_ver": "3", - "policy_updated_to_ver": "4", - "updated_policy_id": "test_scope_prefix.Config_sit" - }, - "matchingConditions": { - "ConfigName": "alex_config_name", - "ONAPName": "DCAE" - }, - "policyConfigMessage": "Config Retrieved! ", - "policyConfigStatus": "CONFIG_RETRIEVED", - "policyName": "test_scope_prefix.Config_sit.4.xml", - "policyVersion": "4", - "property": None, - "responseAttributes": {}, - "type": "JSON" - }, - "policy_id": "test_scope_prefix.Config_sit" - } - }, - "policy_filter_matches": { - "test_scope_prefix.Config_consectetur": {}, - "test_scope_prefix.Config_ipsum": {}, - "test_scope_prefix.Config_sit": {} - }, - "removed_policies": {} - }, - "method": "put", - "params": { - "cfy_tenant_name": "default_tenant" - }, - "uri": "http://unit-test-deployment_handler:8188000/policy" - }, - "res": "*", - "status_code": 200 - } - ] -} diff --git a/tests/main/mock_policy_engine.py b/tests/main/mock_policy_engine.py deleted file mode 100644 index 1bac045..0000000 --- a/tests/main/mock_policy_engine.py +++ /dev/null @@ -1,96 +0,0 @@ -# ============LICENSE_START======================================================= -# Copyright (c) 2018-2019 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========================================================= -# -"""mocking for the policy-engine - shared by many tests""" - -import copy -import json - -from policyhandler.pdp_api.pdp_consts import (PDP_METADATA, - PDP_POLICY_ID, - PDP_POLICY_VERSION, - PDP_POLICIES, PDP_PROPERTIES) -from policyhandler.pdp_api.policy_utils import PolicyUtils -from policyhandler.utils import Utils - -_LOGGER = Utils.get_logger(__file__) - - -class MockPolicyEngine(object): - """pretend this is the policy-engine""" - scope_prefix = "test_scope_prefix.pdp_desition_" - LOREM_IPSUM = """Lorem ipsum dolor sit amet consectetur ametist""".split() - LONG_TEXT = "0123456789" * 100 - _policies = {} - - _inited = False - - @staticmethod - def init(): - """init collection of policies: policy_version = policy_index + 1""" - if MockPolicyEngine._inited: - return - MockPolicyEngine._inited = True - - MockPolicyEngine._policies = dict( - (policy_id, MockPolicyEngine._create_policy_body(policy_id, policy_version)) - for policy_id, policy_version in - [(MockPolicyEngine.get_policy_id(policy_index), policy_index + 1) - for policy_index in range(1 + len(MockPolicyEngine.LOREM_IPSUM))] - ) - _LOGGER.info("_policies: %s", json.dumps(MockPolicyEngine._policies)) - - @staticmethod - def get_policy_id(policy_index): - """get the policy_id by policy_index""" - return (MockPolicyEngine.scope_prefix - + MockPolicyEngine.LOREM_IPSUM[ - policy_index % len(MockPolicyEngine.LOREM_IPSUM)]) - - @staticmethod - def get_policy(policy_id): - """find policy the way the policy-engine finds""" - if policy_id not in MockPolicyEngine._policies: - return {} - return {PDP_POLICIES: {policy_id: copy.deepcopy(MockPolicyEngine._policies[policy_id])}} - - @staticmethod - def gen_policy_latest(policy_index, version_offset=0): - """generate the policy response from policy-handler by policy_index = version - 1""" - policy_id = MockPolicyEngine.get_policy_id(policy_index) - policy = PolicyUtils.convert_to_policy( - MockPolicyEngine._create_policy_body(policy_id, policy_index + 1 - version_offset) - ) - return policy_id, policy - - @staticmethod - def _create_policy_body(policy_id, policy_version=1): - """returns a fake policy-body""" - return { - "type": "unit.test.type.policies", - "version": "1.0.0", - PDP_METADATA: { - PDP_POLICY_ID: policy_id, - PDP_POLICY_VERSION: policy_version, - "description": "description for {}".format(policy_id) - }, - PDP_PROPERTIES: { - "policy_updated_from_ver": (policy_version - 1), - "policy_updated_to_ver": policy_version, - "policy_hello": "world!", - "updated_policy_id": policy_id - } - } diff --git a/tests/main/pdp_policies.json b/tests/main/pdp_policies.json deleted file mode 100644 index b7d0d9e..0000000 --- a/tests/main/pdp_policies.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "policies": { - "onap.scaleout.tca": { - "type": "onap.policies.monitoring.cdap.tca.hi.lo.app", - "version": "1.0.0", - "metadata": { - "policy-id": "onap.scaleout.tca", - "policy-version": 1, - "description": "The scaleout policy for vDNS" - }, - "properties": { - "tca_policy": { - "domain": "measurementsForVfScaling", - "metricsPerEventName": [ - { - "eventName": "vLoadBalancer", - "controlLoopSchemaType": "VNF", - "policyScope": "type=configuration" - } - ] - } - } - } - } -} \ No newline at end of file diff --git a/tests/main/test_policy_rest.py b/tests/main/test_policy_rest.py deleted file mode 100644 index 964a21d..0000000 --- a/tests/main/test_policy_rest.py +++ /dev/null @@ -1,47 +0,0 @@ -# ============LICENSE_START======================================================= -# Copyright (c) 2018-2019 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========================================================= -# -"""test policy_rest methods directly""" - -import json - -import pytest - -from policyhandler import pdp_client -from policyhandler.onap.audit import Audit -from policyhandler.utils import Utils - -from ..mock_tracker import Tracker -from .mock_policy_engine import MockPolicyEngine - -_LOGGER = Utils.get_logger(__file__) - -@pytest.mark.usefixtures("fix_pdp_post") -def test_get_policy_latest(): - """test /policy_latest/""" - policy_id, expected_policy = MockPolicyEngine.gen_policy_latest(3) - - audit = Audit(job_name="test_get_policy_latest", - req_message="get /policy_latest/{}".format(policy_id or "")) - - policy_latest = pdp_client.PolicyRest.get_latest_policy((audit, policy_id, None, None)) or {} - audit.audit_done(result=json.dumps(policy_latest)) - - _LOGGER.info("expected_policy: %s", json.dumps(expected_policy)) - _LOGGER.info("policy_latest: %s", json.dumps(policy_latest)) - assert Utils.are_the_same(policy_latest, expected_policy) - - Tracker.validate() diff --git a/tests/main/test_policyhandler.py b/tests/main/test_policyhandler.py index 73ab9ca..c474e29 100644 --- a/tests/main/test_policyhandler.py +++ b/tests/main/test_policyhandler.py @@ -1,5 +1,5 @@ # ============LICENSE_START======================================================= -# Copyright (c) 2017-2019 AT&T Intellectual Property. All rights reserved. +# Copyright (c) 2017-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. @@ -21,20 +21,17 @@ import json import time import uuid -import cherrypy import pytest -from cherrypy.test.helper import CPWebCase +import cherrypy -from policyhandler.config import Config -from policyhandler.onap.audit import REQUEST_X_ECOMP_REQUESTID, Audit -from policyhandler.pdp_api.pdp_consts import POLICY_NAME -from policyhandler.policy_consts import LATEST_POLICIES +from cherrypy.test.helper import CPWebCase +from policyhandler.onap.audit import (REQUEST_X_ECOMP_REQUESTID, + REQUEST_X_ONAP_REQUESTID, Audit) from policyhandler.policy_receiver import PolicyReceiver from policyhandler.utils import Utils from policyhandler.web_server import _PolicyWeb from ..mock_tracker import Tracker -from .mock_policy_engine import MockPolicyEngine _LOGGER = Utils.get_logger(__file__) @@ -59,7 +56,27 @@ class WebServerTest(CPWebCase): def test_web_policy_latest(self): """test /policy_latest/""" - policy_id, expected_policy = MockPolicyEngine.gen_policy_latest(3) + policy_id = "test_scope_prefix.pdp_decision_sit" + expected_policy = { + "policy_id": "test_scope_prefix.pdp_decision_sit", + "policy_body": { + "type": "unit.test.type.policies", + "version": "1.0.0", + "metadata": { + "policy-id": "test_scope_prefix.pdp_decision_sit", + "policy-version": "4.4.4", + "description": "description for test_scope_prefix.pdp_decision_sit" + }, + "policyName": "test_scope_prefix.pdp_decision_sit.4-4-4.xml", + "policyVersion": "4.4.4", + "config": { + "policy_updated_from_ver": 3, + "policy_updated_to_ver": 4, + "policy_hello": "world!", + "updated_policy_id": "test_scope_prefix.pdp_decision_sit" + } + } + } self.getPage("/policy_latest/{0}".format(policy_id or "")) self.assertStatus('200 OK') @@ -83,15 +100,17 @@ class WebServerTest(CPWebCase): _LOGGER.info("result: %s", result) _LOGGER.info("body: %s", self.body) - self.assertStatus('404 Not Found') + self.assertStatus('200 OK') def test_web_policies_latest(self): """test POST /policies_latest with policyName""" body = json.dumps({"junk": "to-be-developed"}) + request_id = str(uuid.uuid4()) result = self.getPage("/policies_latest", method='POST', body=body, headers=[ - (REQUEST_X_ECOMP_REQUESTID, str(uuid.uuid4())), + (REQUEST_X_ECOMP_REQUESTID, request_id), + (REQUEST_X_ONAP_REQUESTID, request_id), ("Content-Type", "application/json"), ('Content-Length', str(len(body))) ]) @@ -102,17 +121,20 @@ class WebServerTest(CPWebCase): @pytest.mark.usefixtures( "fix_deploy_handler", + "fix_dmaap_mr", "fix_cherrypy_engine_exit") def test_zzzzz_shutdown(self): """test shutdown""" - _LOGGER.info("start shutdown") + _LOGGER.info("testing the shutdown") assert not PolicyReceiver.is_running() - audit = Audit(job_name="test_zzzzz_shutdown", req_message="start shutdown") + audit = Audit(job_name="test_zzzzz_shutdown", req_message="testing the shutdown") PolicyReceiver.run(audit) result = self.getPage("/healthcheck") _LOGGER.info("healthcheck result: %s", result) + time.sleep(1) + WebServerTest.do_gc_test = False _LOGGER.info("shutdown...") audit.audit_done("shutdown") @@ -120,11 +142,32 @@ class WebServerTest(CPWebCase): _LOGGER.info("shutdown result: %s", result) self.assertStatus('200 OK') _LOGGER.info("got shutdown: %s", self.body) - time.sleep(1) + time.sleep(5) assert not PolicyReceiver.is_running() - if Config.is_pdp_api_default(): - _LOGGER.info("passive for new PDP API") - return + Tracker.validate() + + @pytest.mark.usefixtures( + "fix_deploy_handler", + "fix_dmaap_mr", + "fix_cherrypy_engine_exit") + def test_zzz_policy_updates_and_catch_ups(self): + """test run policy handler with policy updates and catchups""" + _LOGGER.info("start policy_updates_and_catch_ups") + assert not PolicyReceiver.is_running() + + audit = Audit(job_name="test_zzz_policy_updates_and_catch_ups", + req_message="start policy_updates_and_catch_ups") + PolicyReceiver.run(audit) + + _LOGGER.info("sleep 20 before shutdown...") + time.sleep(20) + + result = self.getPage("/healthcheck") + _LOGGER.info("healthcheck result: %s", result) + + PolicyReceiver.shutdown(audit) + time.sleep(5) + assert not PolicyReceiver.is_running() Tracker.validate() diff --git a/tests/main/test_pz_catch_up.py b/tests/main/test_pz_catch_up.py new file mode 100644 index 0000000..03f5957 --- /dev/null +++ b/tests/main/test_pz_catch_up.py @@ -0,0 +1,63 @@ +# ============LICENSE_START======================================================= +# 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. +# 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========================================================= +# +"""test policy catch_up methods directly""" + +import json +import time + +import pytest + +from policyhandler.onap.audit import Audit +from policyhandler.policy_receiver import PolicyReceiver +from policyhandler.utils import Utils + +from ..mock_tracker import Tracker + +_LOGGER = Utils.get_logger(__file__) + +@pytest.mark.usefixtures( + "fix_pdp_authorization", + "fix_discovery", + "fix_pdp_post", + "fix_deploy_handler", + "fix_dmaap_mr", + "fix_auto_catch_up" +) +def test_catch_up(): + """test run policy handler with catchups and failed deployment-handler""" + _LOGGER.info("start test_catch_up") + assert not PolicyReceiver.is_running() + audit = Audit(job_name="test_catch_up", req_message="start test_catch_up") + PolicyReceiver.run(audit) + + _LOGGER.info("sleep 12 before shutdown...") + time.sleep(12) + + health = audit.health(full=True) + audit.audit_done(result=json.dumps(health)) + + _LOGGER.info("healthcheck: %s", json.dumps(health)) + assert bool(health) + + PolicyReceiver.shutdown(audit) + time.sleep(5) + assert not PolicyReceiver.is_running() + + health = audit.health(full=True) + _LOGGER.info("healthcheck: %s", json.dumps(health)) + + Tracker.validate() -- cgit 1.2.3-korg