]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
converted to a unittest
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 19 Feb 2006 00:18:00 +0000 (00:18 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 19 Feb 2006 00:18:00 +0000 (00:18 +0000)
test/onetoone.py

index 9078d78a39d0a41ae3a867ccbe4d703af81d2b08..77c38ff2a5584be5eddf02c6eed4c7c71f242575 100644 (file)
@@ -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()