Added bnf when adding a new concept + Started logging filtering

This commit is contained in:
2019-12-13 20:26:11 +01:00
parent 75c8793d53
commit c668cc46d2
29 changed files with 1487 additions and 190 deletions
+42 -1
View File
@@ -311,6 +311,18 @@ def test_i_cannot_add_several_obj_no_key_if_allow_multiple_is_false(root):
"mem://"
])
def test_i_can_add_a_dict(root):
"""
Adding a dictionary.
Note that there is no key when adding a dictionary
If you add {'my_key': 'my_value'}
'my_key is not considered as the key of the entry'
Because if you add {'my_key': 'my_value', 'my_key2': 'my_value2'}
There are now multiple keys.
So for dictionary entries, the key is not managed
"""
sdp = SheerkaDataProvider(root)
obj = {"my_key": "my_value"}
@@ -735,6 +747,7 @@ def test_i_can_set_using_reference(root):
# sanity check, make sure that I can load back
loaded = sdp.get(entry, key)
assert loaded == ObjWithKey(2, "foo")
assert getattr(loaded, Serializer.ORIGIN) == "95b5cbab545dded0b90b57a3d15a157b9a559fb586ee2f8d6ccbc6d2491f1268"
@pytest.mark.parametrize("root", [
@@ -754,7 +767,35 @@ def test_i_can_add_reference_of_an_object_with_a_key(root):
assert key == obj.key
assert entry == "entry"
assert state.data == {'entry': {'my_key': f"{SheerkaDataProvider.REF_PREFIX}{digest}"}}
assert sdp.load_obj(digest) == obj
loaded = sdp.load_obj(digest)
assert loaded == obj
assert getattr(loaded, Serializer.ORIGIN) == digest
@pytest.mark.parametrize("root", [
".sheerka",
"mem://"
])
def test_i_can_add_reference_a_dictionary(root):
sdp = SheerkaDataProvider(root)
obj = {"my_key": "value1"}
obj_serializer = ObjectSerializer(core.utils.get_full_qualified_name(obj))
sdp.serializer.register(obj_serializer)
entry, key = sdp.add(evt_digest, "entry", obj, use_ref=True)
state = sdp.load_state(sdp.get_snapshot())
digest = state.data["entry"][len(SheerkaDataProvider.REF_PREFIX):]
assert key is None
assert entry == "entry"
assert state.data == {'entry': f"{SheerkaDataProvider.REF_PREFIX}{digest}"}
loaded = sdp.load_obj(digest)
assert loaded["my_key"] == obj["my_key"]
assert loaded[Serializer.ORIGIN] == digest
assert len(loaded) == 2
@pytest.mark.parametrize("root", [