I can define and eval BNF definitions
This commit is contained in:
@@ -754,7 +754,7 @@ def test_i_can_set_using_reference(root):
|
||||
".sheerka",
|
||||
"mem://"
|
||||
])
|
||||
def test_i_can_add_reference_of_an_object_with_a_key(root):
|
||||
def test_i_can_add_an_object_with_a_key_as_a_reference(root):
|
||||
sdp = SheerkaDataProvider(root)
|
||||
obj = ObjDumpJson("my_key", "value1")
|
||||
obj_serializer = ObjectSerializer(core.utils.get_full_qualified_name(obj))
|
||||
@@ -777,7 +777,7 @@ def test_i_can_add_reference_of_an_object_with_a_key(root):
|
||||
".sheerka",
|
||||
"mem://"
|
||||
])
|
||||
def test_i_can_add_reference_a_dictionary(root):
|
||||
def test_i_can_add_a_dictionary_as_a_reference(root):
|
||||
sdp = SheerkaDataProvider(root)
|
||||
obj = {"my_key": "value1"}
|
||||
|
||||
@@ -1403,7 +1403,7 @@ def test_i_can_get_an_entry_by_key(root):
|
||||
".sheerka",
|
||||
"mem://"
|
||||
])
|
||||
def test_i_can_get_object_save_by_reference(root):
|
||||
def test_i_can_get_object_saved_by_reference(root):
|
||||
sdp = SheerkaDataProvider(root)
|
||||
obj = ObjDumpJson("my_key", "value1")
|
||||
sdp.serializer.register(ObjectSerializer(core.utils.get_full_qualified_name(obj)))
|
||||
@@ -1687,3 +1687,73 @@ def test_i_can_add_obj_with_same_key_and_get_them_back(root):
|
||||
assert len(loaded) == 2
|
||||
assert loaded[0] == obj1
|
||||
assert loaded[1] == obj2
|
||||
|
||||
|
||||
@pytest.mark.parametrize("root", [
|
||||
".sheerka",
|
||||
"mem://"
|
||||
])
|
||||
def test_i_get_safe_dictionary_without_origin(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)
|
||||
from_db = sdp.get_safe(entry, key)
|
||||
|
||||
assert len(from_db) == 2
|
||||
assert from_db["my_key"] == obj["my_key"]
|
||||
assert Serializer.ORIGIN in from_db
|
||||
|
||||
from_db_no_origin = sdp.get_safe(entry, key, load_origin=False)
|
||||
assert len(from_db_no_origin) == 1
|
||||
assert from_db_no_origin["my_key"] == obj["my_key"]
|
||||
assert Serializer.ORIGIN not in from_db_no_origin
|
||||
|
||||
|
||||
@pytest.mark.parametrize("root", [
|
||||
".sheerka",
|
||||
"mem://"
|
||||
])
|
||||
def test_i_get_dictionary_without_origin(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)
|
||||
from_db = sdp.get(entry, key)
|
||||
|
||||
assert len(from_db) == 2
|
||||
assert from_db["my_key"] == obj["my_key"]
|
||||
assert Serializer.ORIGIN in from_db
|
||||
|
||||
from_db_no_origin = sdp.get(entry, key, load_origin=False)
|
||||
assert len(from_db_no_origin) == 1
|
||||
assert from_db_no_origin["my_key"] == obj["my_key"]
|
||||
assert Serializer.ORIGIN not in from_db_no_origin
|
||||
|
||||
|
||||
@pytest.mark.parametrize("root", [
|
||||
".sheerka",
|
||||
"mem://"
|
||||
])
|
||||
def test_i_get_safe_object_without_origin(root):
|
||||
sdp = SheerkaDataProvider(root)
|
||||
obj = ObjDumpJson("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)
|
||||
from_db = sdp.get_safe(entry, key)
|
||||
|
||||
assert from_db == obj
|
||||
assert hasattr(from_db, Serializer.ORIGIN)
|
||||
|
||||
from_db_no_origin = sdp.get_safe(entry, key, load_origin=False)
|
||||
assert from_db_no_origin == obj
|
||||
assert not hasattr(from_db_no_origin, Serializer.ORIGIN)
|
||||
|
||||
Reference in New Issue
Block a user