Added bnf when adding a new concept + Started logging filtering
This commit is contained in:
@@ -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", [
|
||||
|
||||
Reference in New Issue
Block a user