aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/messages/message.py40
-rw-r--r--app/test/api/responders_test/test_data/clique_types.py4
-rw-r--r--app/utils/util.py13
3 files changed, 32 insertions, 25 deletions
diff --git a/app/messages/message.py b/app/messages/message.py
index eeef329..dd4c1d3 100644
--- a/app/messages/message.py
+++ b/app/messages/message.py
@@ -8,9 +8,8 @@
# http://www.apache.org/licenses/LICENSE-2.0 #
###############################################################################
import datetime
-from typing import Union
-from bson import ObjectId
+from utils.util import merge_dicts
class Message:
@@ -23,8 +22,8 @@ class Message:
msg: dict,
source: str,
env: str = None,
- object_id: Union[str, ObjectId] = None,
- display_context: Union[str, ObjectId] = None,
+ object_id=None,
+ display_context=None,
level: str = DEFAULT_LEVEL,
object_type: str = None,
ts: datetime = None,
@@ -52,18 +51,21 @@ class Message:
self.extra = kwargs
def get(self):
- return {
- "id": self.id,
- "environment": self.environment,
- "source_system": self.source_system,
- "related_object": self.related_object,
- "related_object_type": self.related_object_type,
- "display_context": self.display_context,
- "level": self.level,
- "message": self.message,
- "timestamp": self.timestamp,
- "received_timestamp": self.received_timestamp,
- "finished_timestamp": self.finished_timestamp,
- "viewed": self.viewed,
- **self.extra
- }
+ return merge_dicts(
+ self.extra,
+ {
+ "id": self.id,
+ "environment": self.environment,
+ "source_system": self.source_system,
+ "related_object": self.related_object,
+ "related_object_type": self.related_object_type,
+ "display_context": self.display_context,
+ "level": self.level,
+ "message": self.message,
+ "timestamp": self.timestamp,
+ "received_timestamp": self.received_timestamp,
+ "finished_timestamp": self.finished_timestamp,
+ "viewed": self.viewed
+ }
+ )
+
diff --git a/app/test/api/responders_test/test_data/clique_types.py b/app/test/api/responders_test/test_data/clique_types.py
index 0791bdf..4d55c8b 100644
--- a/app/test/api/responders_test/test_data/clique_types.py
+++ b/app/test/api/responders_test/test_data/clique_types.py
@@ -11,6 +11,7 @@ from test.api.responders_test.test_data import base
from test.api.responders_test.test_data.base import WRONG_MECHANISM_DRIVER, \
CORRECT_MECHANISM_DRIVER, CORRECT_TYPE_DRIVER, WRONG_TYPE_DRIVER, \
CORRECT_DISTRIBUTION, CORRECT_DIST_VER
+from utils.util import merge_dicts
URL = "/clique_types"
@@ -61,8 +62,7 @@ CLIQUE_TYPES_WITH_SPECIFIC_ID = [
]
CLIQUE_TYPES_WITH_SPECIFIC_CONFIGURATION = [
- get_payload(update={'id': SAMPLE_IDS[0],
- **TEST_CONFIGURATION},
+ get_payload(update=merge_dicts(TEST_CONFIGURATION, {'id': SAMPLE_IDS[0]}),
delete=['environment'])
]
diff --git a/app/utils/util.py b/app/utils/util.py
index 17a31c0..788eba9 100644
--- a/app/utils/util.py
+++ b/app/utils/util.py
@@ -9,8 +9,6 @@
###############################################################################
import importlib
import signal
-from argparse import Namespace
-from typing import Dict, Callable
import os
import re
@@ -129,8 +127,8 @@ def generate_object_ids(keys, obj):
# and convert them to dict to enforce uniformity.
# Throws a TypeError if arguments can't be converted to dict.
def setup_args(args: dict,
- defaults: Dict[str, object],
- get_cmd_args: Callable[[], Namespace] = None):
+ defaults,
+ get_cmd_args=None):
if defaults is None:
defaults = {}
@@ -171,3 +169,10 @@ def decode_aci_dn(object_id):
def get_object_path_part(path: str, part_name: str):
match = re.match(".*/{}/(.+?)/.*".format(part_name), path)
return match.group(1) if match else None
+
+
+def merge_dicts(*dicts):
+ result = {}
+ for dictionary in dicts:
+ result.update(dictionary)
+ return result