X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=ricsdl-package%2Fricsdl%2Fsyncstorage.py;h=0a2d9b31b69978d6b2aba7ac333e1caa77e05d66;hb=45a4f91e5a336f802824dd11de5e0118abb2ce7e;hp=29adb17bf25207e65758117ac50074d5c3b416a2;hpb=bef156a640df036aa97fe1f2656c54a5717fc12b;p=ric-plt%2Fsdlpy.git diff --git a/ricsdl-package/ricsdl/syncstorage.py b/ricsdl-package/ricsdl/syncstorage.py index 29adb17..0a2d9b3 100644 --- a/ricsdl-package/ricsdl/syncstorage.py +++ b/ricsdl-package/ricsdl/syncstorage.py @@ -143,6 +143,7 @@ class SyncStorage(SyncStorageAbc): @func_arg_checker(SdlTypeError, 1, ns=str, data_map=dict) def set(self, ns: str, data_map: Dict[str, bytes]) -> None: + self._validate_key_value_dict(data_map) self.__dbbackend.set(ns, data_map) @func_arg_checker(SdlTypeError, 1, ns=str, key=str, old_data=bytes, new_data=bytes) @@ -216,3 +217,11 @@ class SyncStorage(SyncStorageAbc): def get_configuration(self) -> _Configuration: """Return configuration what was valid when the SDL instance was initiated.""" return self.__configuration + + @classmethod + def _validate_key_value_dict(cls, kv): + for k, v in kv.items(): + if not isinstance(k, str): + raise SdlTypeError(r"Wrong dict key type: {}={}. Must be: str".format(k, type(k))) + if not isinstance(v, bytes): + raise SdlTypeError(r"Wrong dict value type: {}={}. Must be: bytes".format(v, type(v)))