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