From: Mike Bayer Date: Sun, 19 Feb 2006 00:18:00 +0000 (+0000) Subject: converted to a unittest X-Git-Tag: rel_0_1_1~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=18d23f22dc2d3c96c2398d686729e16c326f0fd5;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git converted to a unittest --- diff --git a/test/onetoone.py b/test/onetoone.py index 9078d78a39..77c38ff2a5 100644 --- a/test/onetoone.py +++ b/test/onetoone.py @@ -1,27 +1,5 @@ -# TODO - turn this into a unit test ! - from sqlalchemy import * - -engine = create_engine('sqlite', {'filename':':memory:'}, echo=True) - - -jack = Table('jack', engine, - Column('id', Integer, primary_key=True), - #Column('room_id', Integer, ForeignKey("room.id")), - Column('number', String(50)), - Column('status', String(20)), - Column('subroom', String(5)), -) - - -port = Table('port', engine, - Column('id', Integer, primary_key=True), - #Column('device_id', Integer, ForeignKey("device.id")), - Column('name', String(30)), - Column('description', String(100)), - Column('jack_id', Integer, ForeignKey("jack.id")), -) - +import testbase class Jack(object): def __repr__(self): @@ -42,36 +20,64 @@ class Port(object): self.id=None self.name=name self.description = description -try : - jack.create() - port.create() -except : - pass - -assign_mapper(Port, port) -assign_mapper(Jack, jack, order_by=[jack.c.number],properties = { - 'port': relation(Port.mapper, backref='jack', uselist=False, lazy=True), -}) - -j=Jack(number='101') -p=Port(name='fa0/1') -j.port=p -objectstore.commit() -jid = j.id -pid = p.id - -j=Jack.get(jid) -p=Port.get(pid) -print p.jack -print j.port -p.jack=None -assert j.port is None #works - -objectstore.clear() - -j=Jack.get(jid) -p=Port.get(pid) -j.port=None -assert p.jack is None #fails -objectstore.commit() #remove the above assertion and this fails too +class O2OTest(testbase.AssertMixin): + def setUpAll(self): + global jack, port + jack = Table('jack', testbase.db, + Column('id', Integer, primary_key=True), + #Column('room_id', Integer, ForeignKey("room.id")), + Column('number', String(50)), + Column('status', String(20)), + Column('subroom', String(5)), + ) + + + port = Table('port', testbase.db, + Column('id', Integer, primary_key=True), + #Column('device_id', Integer, ForeignKey("device.id")), + Column('name', String(30)), + Column('description', String(100)), + Column('jack_id', Integer, ForeignKey("jack.id")), + ) + jack.create() + port.create() + def setUp(self): + objectstore.clear() + def tearDown(self): + clear_mappers() + def tearDownAll(self): + port.drop() + jack.drop() + + def test1(self): + assign_mapper(Port, port) + assign_mapper(Jack, jack, order_by=[jack.c.number],properties = { + 'port': relation(Port.mapper, backref='jack', uselist=False, lazy=True), + }) + + j=Jack(number='101') + p=Port(name='fa0/1') + j.port=p + objectstore.commit() + jid = j.id + pid = p.id + + j=Jack.get(jid) + p=Port.get(pid) + print p.jack + print j.port + p.jack=None + assert j.port is None #works + + objectstore.clear() + + j=Jack.get(jid) + p=Port.get(pid) + + j.port=None + self.assert_(p.jack is None) + objectstore.commit() + +if __name__ == "__main__": + testbase.main()