Exemple #1
0
async def test_base_object(mock_txn):
    testing = {
        "__parent__": "_BaseObject__parent",
        "__of__": "_BaseObject__of",
        "__name__": "_BaseObject__name",
        "__gannotations__": "_BaseObject__annotations",
        "__immutable_cache__": "_BaseObject__immutable_cache",
        "__new_marker__": "_BaseObject__new_marker",
        "__uuid__": "_BaseObject__uuid",
        "__serial__": "_BaseObject__serial",
    }
    for name, attr in testing.items():
        item = Item()
        setattr(item, name, "foobar")
        assert name not in item.__dict__
        assert attr not in item.__dict__
        pickled = pickle.dumps(item, protocol=pickle.HIGHEST_PROTOCOL)
        new_item = pickle.loads(pickled)
        assert getattr(new_item, name) != "foobar"
        assert name not in item.__dict__
        assert attr not in item.__dict__

    item = Item()
    setattr(item, "__txn__", mock_txn)
    assert "__txn__" not in item.__dict__
    assert "_BaseObject__txn" not in item.__dict__
    pickled = pickle.dumps(item, protocol=pickle.HIGHEST_PROTOCOL)
    new_item = pickle.loads(pickled)
    assert getattr(new_item, "__txn__") != mock_txn
    assert "__txn__" not in item.__dict__
    assert "_BaseObject__txn" not in item.__dict__
Exemple #2
0
async def test_use_behavior_annotation(dummy_txn_root):
    async with dummy_txn_root as root:
        ob1 = Item()
        await root.async_set('ob1', ob1)
        dublin = IDublinCore(ob1)
        await dublin.load()
        dublin.publisher = 'foobar'
        assert dublin.publisher == 'foobar'
def test_base_object():
    testing = {
        '__parent__': '_BaseObject__parent',
        '__of__': '_BaseObject__of',
        '__name__': '_BaseObject__name',
        '__gannotations__': '_BaseObject__annotations',
        '__immutable_cache__': '_BaseObject__immutable_cache',
        '__new_marker__': '_BaseObject__new_marker',
        '_p_jar': '_BaseObject__jar',
        '_p_oid': '_BaseObject__oid',
        '_p_serial': '_BaseObject__serial'
    }
    for name, attr in testing.items():
        item = Item()
        setattr(item, name, 'foobar')
        assert name not in item.__dict__
        assert attr not in item.__dict__
        pickled = pickle.dumps(item, protocol=pickle.HIGHEST_PROTOCOL)
        new_item = pickle.loads(pickled)
        assert getattr(new_item, name) != 'foobar'
        assert name not in item.__dict__
        assert attr not in item.__dict__
Exemple #4
0
def test_DeserializeFromJson(dummy_request):  # noqa: N802
    obj = Item()
    adapter = get_multi_adapter((obj, dummy_request), interface=IResourceDeserializeFromJson)
    assert isinstance(adapter, deserialize_content.DeserializeFromJson)
Exemple #5
0
async def test_SerializeToJson(dummy_request):  # noqa: N802
    obj = Item()
    adapter = get_multi_adapter((obj, dummy_request), interface=IResourceSerializeToJson)
    assert isinstance(adapter, SerializeToJson)
Exemple #6
0
def test_DefaultResourceFieldDeserializer(dummy_request):
    obj = Item()
    adapter = getMultiAdapter((schema.Text(), obj, dummy_request),
                              interface=IResourceFieldDeserializer)
    assert isinstance(
        adapter, deserialize_content_fields.DefaultResourceFieldDeserializer)