Author: phd
Date: 2007-01-09 09:28:16 -0700 (Tue, 09 Jan 2007)
New Revision: 2180
Modified:
SQLObject/trunk/sqlobject/versioning/test/test_version.py
Log:
For backends that support referential integrity (Postgres, e.g.)
we have to clear the versioning table before clearing the main table.
Modified: SQLObject/trunk/sqlobject/versioning/test/test_version.py
===================================================================
--- SQLObject/trunk/sqlobject/versioning/test/test_version.py 2007-01-09 16:14:09 UTC (rev 2179)
+++ SQLObject/trunk/sqlobject/versioning/test/test_version.py 2007-01-09 16:28:16 UTC (rev 2180)
@@ -1,6 +1,10 @@
from py.test import raises
from sqlobject import *
-from sqlobject.events import sorted
+try:
+ sorted
+except NameError:
+ # For Python 2.2 and 2.3:
+ from sqlobject.events import sorted
from sqlobject.inheritance import InheritableSQLObject
from sqlobject.versioning import Versioning
from sqlobject.tests.dbtest import *
@@ -8,14 +12,6 @@
from datetime import datetime
-def setup():
- for cls in [MyClass, Base, Child, Government, Monarchy, VChild, HasForeign]:
- setupClass(cls)
- if hasattr(cls, 'versions'):
- setupClass(cls.versions.versionClass)
- for version in cls.versions.versionClass.select():
- version.destroySelf()
-
class MyClass(SQLObject):
name = StringCol()
versions = Versioning()
@@ -43,6 +39,17 @@
foreign = ForeignKey("Base")
versions = Versioning()
+def setup():
+ for cls in [MyClass, Base, Child, Government, Monarchy, VChild, HasForeign]:
+ if hasattr(cls, 'versions') and hasattr(cls, "_connection") and \
+ cls._connection.tableExists(cls.sqlmeta.table):
+ setupClass(cls.versions.versionClass)
+ setupClass(cls)
+ if hasattr(cls, 'versions'):
+ setupClass(cls.versions.versionClass)
+ for version in cls.versions.versionClass.select():
+ version.destroySelf()
+
def test_versioning():
#the simple case
|