only 2 failing tests, the tests that remain failures are mysql related.

This commit is contained in:
percious17 2008-12-02 15:11:26 +00:00
parent 9f0bd657f4
commit 42ca7ee5a0
3 changed files with 20 additions and 17 deletions

View File

@ -284,7 +284,7 @@ class TestColumnChange(fixture.DB):
self.meta = MetaData(self.engine) self.meta = MetaData(self.engine)
self.table = Table(self.table_name,self.meta, self.table = Table(self.table_name,self.meta,
Column('id',Integer,primary_key=True), Column('id',Integer,primary_key=True),
Column('data',String(40),server_default=PassiveDefault("tluafed"),nullable=True), Column('data',String(40),server_default=DefaultClause("tluafed"),nullable=True),
) )
if self.table.exists(): if self.table.exists():
self.table.drop() self.table.drop()
@ -308,7 +308,7 @@ class TestColumnChange(fixture.DB):
@fixture.usedb(supported='sqlite') @fixture.usedb(supported='sqlite')
def test_sqlite_not_supported(self): def test_sqlite_not_supported(self):
self.assertRaises(changeset.exceptions.NotSupportedError, self.assertRaises(changeset.exceptions.NotSupportedError,
self.table.c.data.alter,server_default=PassiveDefault('tluafed')) self.table.c.data.alter,server_default=DefaultClause('tluafed'))
self.assertRaises(changeset.exceptions.NotSupportedError, self.assertRaises(changeset.exceptions.NotSupportedError,
self.table.c.data.alter,nullable=True) self.table.c.data.alter,nullable=True)
self.assertRaises(changeset.exceptions.NotSupportedError, self.assertRaises(changeset.exceptions.NotSupportedError,
@ -398,10 +398,10 @@ class TestColumnChange(fixture.DB):
self.refresh_table(self.table.name) self.refresh_table(self.table.name)
self.assert_(isinstance(self.table.c.id.type,String)) self.assert_(isinstance(self.table.c.id.type,String))
@fixture.usedb(not_supported='sqlite') @fixture.usedb(not_supported=('sqlite', 'mysql'))
def test_default(self): def test_default(self):
"""Can change a column's server_default value (PassiveDefaults only) """Can change a column's server_default value (DefaultClauses only)
Only PassiveDefaults are changed here: others are managed by the Only DefaultClauses are changed here: others are managed by the
application / by SA application / by SA
""" """
#self.engine.echo=True #self.engine.echo=True
@ -409,7 +409,7 @@ class TestColumnChange(fixture.DB):
# Just the new default # Just the new default
default = 'my_default' default = 'my_default'
self.table.c.data.alter(server_default=PassiveDefault(default)) self.table.c.data.alter(server_default=DefaultClause(default))
self.refresh_table(self.table.name) self.refresh_table(self.table.name)
#self.assertEquals(self.table.c.data.server_default.arg,default) #self.assertEquals(self.table.c.data.server_default.arg,default)
# TextClause returned by autoload # TextClause returned by autoload
@ -417,7 +417,7 @@ class TestColumnChange(fixture.DB):
# Column object # Column object
default = 'your_default' default = 'your_default'
self.table.c.data.alter(Column('data',String(40),server_default=PassiveDefault(default))) self.table.c.data.alter(Column('data',String(40),server_default=DefaultClause(default)))
self.refresh_table(self.table.name) self.refresh_table(self.table.name)
self.assert_(default in str(self.table.c.data.server_default.arg)) self.assert_(default in str(self.table.c.data.server_default.arg))

View File

@ -1,6 +1,6 @@
from base import Base from base import Base
from pathed import Pathed from pathed import Pathed
from sqlalchemy import create_engine,Table from sqlalchemy import create_engine, Table, MetaData
from sqlalchemy.orm import create_session from sqlalchemy.orm import create_session
from pkg_resources import resource_stream from pkg_resources import resource_stream
import os import os
@ -99,10 +99,9 @@ class DB(Base):
self._disconnect() self._disconnect()
def _connect(self,url): def _connect(self,url):
print 'connecting to', url
print self
self.url = url self.url = url
self.engine = self.engines[url] self.engine = self.engines[url]
self.meta = MetaData(bind=self.engine)
if self.level < self.CONNECT: if self.level < self.CONNECT:
return return
#self.conn = self.engine.connect() #self.conn = self.engine.connect()
@ -110,6 +109,7 @@ class DB(Base):
if self.level < self.TXN: if self.level < self.TXN:
return return
self.txn = self.session.begin() self.txn = self.session.begin()
#self.txn.add(self.engine) #self.txn.add(self.engine)
def _disconnect(self): def _disconnect(self):

View File

@ -82,7 +82,7 @@ class Shell(fixture.Shell):
self.assertSuccess(fd) self.assertSuccess(fd)
return ret return ret
class _TestShellCommands(Shell): class TestShellCommands(Shell):
"""Tests migrate.py commands""" """Tests migrate.py commands"""
def test_run(self): def test_run(self):
@ -147,7 +147,7 @@ class _TestShellCommands(Shell):
self.assertSuccess(self.cmd('manage',script,'--repository=/path/to/repository')) self.assertSuccess(self.cmd('manage',script,'--repository=/path/to/repository'))
self.assert_(os.path.exists(script)) self.assert_(os.path.exists(script))
class _TestShellRepository(Shell): class TestShellRepository(Shell):
"""Shell commands on an existing repository/python script""" """Shell commands on an existing repository/python script"""
def setUp(self): def setUp(self):
"""Create repository, python change script""" """Create repository, python change script"""
@ -198,7 +198,7 @@ class TestShellDatabase(Shell,fixture.DB):
level=fixture.DB.CONNECT level=fixture.DB.CONNECT
@fixture.usedb() @fixture.usedb()
def _test_version_control(self): def test_version_control(self):
"""Ensure we can set version control on a database""" """Ensure we can set version control on a database"""
path_repos=repos=self.tmp_repos() path_repos=repos=self.tmp_repos()
self.assertSuccess(self.cmd('create',path_repos,'repository_name')) self.assertSuccess(self.cmd('create',path_repos,'repository_name'))
@ -210,7 +210,7 @@ class TestShellDatabase(Shell,fixture.DB):
self.assertFailure(self.cmd('drop_version_control',self.url,path_repos)) self.assertFailure(self.cmd('drop_version_control',self.url,path_repos))
@fixture.usedb() @fixture.usedb()
def _test_version_control_specified(self): def test_version_control_specified(self):
"""Ensure we can set version control to a particular version""" """Ensure we can set version control to a particular version"""
path_repos=self.tmp_repos() path_repos=self.tmp_repos()
self.assertSuccess(self.cmd('create',path_repos,'repository_name')) self.assertSuccess(self.cmd('create',path_repos,'repository_name'))
@ -317,7 +317,10 @@ class TestShellDatabase(Shell,fixture.DB):
downgrade_script = """ downgrade_script = """
drop table t_table; drop table t_table;
""" """
self.meta.drop_all()
self._run_test_sqlfile(upgrade_script,downgrade_script) self._run_test_sqlfile(upgrade_script,downgrade_script)
@fixture.usedb(supported='postgres') @fixture.usedb(supported='postgres')
def test_sqlfile_comment(self): def test_sqlfile_comment(self):
upgrade_script = """ upgrade_script = """