aboutsummaryrefslogtreecommitdiffstats
path: root/tests/mock_settings.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/mock_settings.py')
-rw-r--r--tests/mock_settings.py79
1 files changed, 68 insertions, 11 deletions
diff --git a/tests/mock_settings.py b/tests/mock_settings.py
index 017ad7e..7e05ecf 100644
--- a/tests/mock_settings.py
+++ b/tests/mock_settings.py
@@ -17,43 +17,100 @@
# ECOMP is a trademark and service mark of AT&T Intellectual Property.
"""settings that are general to all tests"""
+import copy
import json
import logging
import sys
import uuid
from datetime import datetime
+from functools import wraps
from policyhandler import LogWriter
from policyhandler.config import Config
+from policyhandler.discovery import DiscoveryClient
from policyhandler.onap.audit import Audit
+class MonkeyHttpResponse(object):
+ """Monkey http reposne"""
+ def __init__(self, headers):
+ self.headers = headers or {}
+
+
+class MonkeyedResponse(object):
+ """Monkey response"""
+ def __init__(self, full_path, res_json, json_body=None, headers=None):
+ self.full_path = full_path
+ self.req_json = json_body or {}
+ self.status_code = 200
+ self.request = MonkeyHttpResponse(headers)
+ self.res = res_json
+ self.text = json.dumps(self.res)
+
+ def json(self):
+ """returns json of response"""
+ return self.res
+
+ def raise_for_status(self):
+ """ignoring"""
+ pass
+
+
+def _fix_discover_config(func):
+ """the decorator"""
+ if not func:
+ return None
+
+ def mocked_discover_get_value(*_):
+ """monkeypatch for get from consul"""
+ return copy.deepcopy(Settings.mock_config)
+
+ @wraps(func)
+ def wrapper(*args, **kwargs):
+ """override the DiscoveryClient.get_value to fake discovering the config"""
+
+ old_get_value = DiscoveryClient.get_value
+ DiscoveryClient.get_value = mocked_discover_get_value
+
+ func_result = func(*args, **kwargs)
+
+ DiscoveryClient.get_value = old_get_value
+
+ return func_result
+ return wrapper
+
class Settings(object):
"""init all locals"""
+ _loaded = False
logger = None
RUN_TS = datetime.utcnow().isoformat()[:-3] + 'Z'
- dicovered_config = None
+ mock_config = None
deploy_handler_instance_uuid = str(uuid.uuid4())
@staticmethod
+ @_fix_discover_config
def init():
"""init configs"""
- Config.load_from_file()
-
- with open("etc_upload/config.json", 'r') as config_json:
- Settings.dicovered_config = json.load(config_json)
+ if Settings._loaded:
+ return
+ Settings._loaded = True
- Config.load_from_file("etc_upload/config.json")
+ Config.init_config()
- Config.settings["catch_up"] = {"interval": 10}
+ with open("tests/mock_config.json", 'r') as config_json:
+ Settings.mock_config = json.load(config_json)
Settings.logger = logging.getLogger("policy_handler.unit_test")
sys.stdout = LogWriter(Settings.logger.info)
sys.stderr = LogWriter(Settings.logger.error)
- print("print ========== run_policy_handler ==========")
+ print("print is expected to be in the log")
Settings.logger.info("========== run_policy_handler ==========")
- Audit.init(Config.get_system_name(), Config.LOGGER_CONFIG_FILE_PATH)
+ Audit.init(Config.system_name, Config.LOGGER_CONFIG_FILE_PATH)
+ audit = Audit(req_message="start testing policy handler")
+
+ Config.discover(audit)
+
+ Settings.logger.info("testing policy_handler with config: %s", Config.discovered_config)
- Settings.logger.info("starting policy_handler with config:")
- Settings.logger.info(Audit.log_json_dumps(Config.settings))
+ audit.audit_done(" -- started")