Source code for sqlobject.tests.test_picklecol
import pytest
from sqlobject import PickleCol, SQLObject
from sqlobject.tests.dbtest import setupClass, supports
########################################
# Pickle columns
########################################
[docs]class PickleData:
    pi = 3.14156
    def __init__(self):
        self.question = \
            
'The Ulimate Question of Life, the Universe and Everything'
        self.answer = 42 
[docs]class PickleContainer(SQLObject):
    pickledata = PickleCol(default=None, length=256) 
[docs]def test_pickleCol():
    if not supports('blobData'):
        pytest.skip("blobData isn't supported")
    setupClass([PickleContainer], force=True)
    mypickledata = PickleData()
    ctnr = PickleContainer(pickledata=mypickledata)
    iid = ctnr.id
    PickleContainer._connection.cache.clear()
    ctnr2 = PickleContainer.get(iid)
    s2 = ctnr2.pickledata
    assert isinstance(s2, PickleData)
    assert isinstance(s2.pi, float)
    assert isinstance(s2.question, str)
    assert isinstance(s2.answer, int)
    assert s2.pi == mypickledata.pi
    assert s2.question == mypickledata.question
    assert s2.answer == mypickledata.answer