From 42ca7ee5a06562b4d2d8cd0a53b339ac10746d8f Mon Sep 17 00:00:00 2001 From: percious17 Date: Tue, 2 Dec 2008 15:11:26 +0000 Subject: [PATCH] only 2 failing tests, the tests that remain failures are mysql related. --- test/changeset/test_changeset.py | 16 ++++++++-------- test/fixture/database.py | 6 +++--- test/versioning/test_shell.py | 15 +++++++++------ 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/test/changeset/test_changeset.py b/test/changeset/test_changeset.py index f32b789..8b9724c 100644 --- a/test/changeset/test_changeset.py +++ b/test/changeset/test_changeset.py @@ -284,7 +284,7 @@ class TestColumnChange(fixture.DB): self.meta = MetaData(self.engine) self.table = Table(self.table_name,self.meta, 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(): self.table.drop() @@ -308,7 +308,7 @@ class TestColumnChange(fixture.DB): @fixture.usedb(supported='sqlite') def test_sqlite_not_supported(self): 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.table.c.data.alter,nullable=True) self.assertRaises(changeset.exceptions.NotSupportedError, @@ -398,18 +398,18 @@ class TestColumnChange(fixture.DB): self.refresh_table(self.table.name) self.assert_(isinstance(self.table.c.id.type,String)) - @fixture.usedb(not_supported='sqlite') + @fixture.usedb(not_supported=('sqlite', 'mysql')) def test_default(self): - """Can change a column's server_default value (PassiveDefaults only) - Only PassiveDefaults are changed here: others are managed by the + """Can change a column's server_default value (DefaultClauses only) + Only DefaultClauses are changed here: others are managed by the application / by SA """ #self.engine.echo=True self.assertEquals(self.table.c.data.server_default.arg,'tluafed') - # Just the new default + # Just the new 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.assertEquals(self.table.c.data.server_default.arg,default) # TextClause returned by autoload @@ -417,7 +417,7 @@ class TestColumnChange(fixture.DB): # Column object 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.assert_(default in str(self.table.c.data.server_default.arg)) diff --git a/test/fixture/database.py b/test/fixture/database.py index 840a9a5..a5bbac5 100644 --- a/test/fixture/database.py +++ b/test/fixture/database.py @@ -1,6 +1,6 @@ from base import Base from pathed import Pathed -from sqlalchemy import create_engine,Table +from sqlalchemy import create_engine, Table, MetaData from sqlalchemy.orm import create_session from pkg_resources import resource_stream import os @@ -99,10 +99,9 @@ class DB(Base): self._disconnect() def _connect(self,url): - print 'connecting to', url - print self self.url = url self.engine = self.engines[url] + self.meta = MetaData(bind=self.engine) if self.level < self.CONNECT: return #self.conn = self.engine.connect() @@ -110,6 +109,7 @@ class DB(Base): if self.level < self.TXN: return self.txn = self.session.begin() + #self.txn.add(self.engine) def _disconnect(self): diff --git a/test/versioning/test_shell.py b/test/versioning/test_shell.py index 60c3edf..2b0099e 100644 --- a/test/versioning/test_shell.py +++ b/test/versioning/test_shell.py @@ -82,7 +82,7 @@ class Shell(fixture.Shell): self.assertSuccess(fd) return ret -class _TestShellCommands(Shell): +class TestShellCommands(Shell): """Tests migrate.py commands""" def test_run(self): @@ -147,7 +147,7 @@ class _TestShellCommands(Shell): self.assertSuccess(self.cmd('manage',script,'--repository=/path/to/repository')) self.assert_(os.path.exists(script)) -class _TestShellRepository(Shell): +class TestShellRepository(Shell): """Shell commands on an existing repository/python script""" def setUp(self): """Create repository, python change script""" @@ -198,7 +198,7 @@ class TestShellDatabase(Shell,fixture.DB): level=fixture.DB.CONNECT @fixture.usedb() - def _test_version_control(self): + def test_version_control(self): """Ensure we can set version control on a database""" path_repos=repos=self.tmp_repos() 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)) @fixture.usedb() - def _test_version_control_specified(self): + def test_version_control_specified(self): """Ensure we can set version control to a particular version""" path_repos=self.tmp_repos() self.assertSuccess(self.cmd('create',path_repos,'repository_name')) @@ -294,7 +294,7 @@ class TestShellDatabase(Shell,fixture.DB): open('%s/versions/001_postgres_downgrade.sql' % repos_path, 'a').write(downgrade_script) self.assertEquals(self.cmd_db_version(self.url,repos_path),0) - self.assertRaises(Exception,self.engine.text('select * from t_table').execute) + self.assertRaises(Exception, self.engine.text('select * from t_table').execute) self.assertSuccess(self.cmd('upgrade',self.url,repos_path)) self.assertEquals(self.cmd_db_version(self.url,repos_path),1) @@ -302,7 +302,7 @@ class TestShellDatabase(Shell,fixture.DB): self.assertSuccess(self.cmd('downgrade',self.url,repos_path,0)) self.assertEquals(self.cmd_db_version(self.url,repos_path),0) - self.assertRaises(Exception,self.engine.text('select * from t_table').execute) + self.assertRaises(Exception, self.engine.text('select * from t_table').execute) # The tests below are written with some postgres syntax, but the stuff # being tested (.sql files) ought to work with any db. @@ -317,7 +317,10 @@ class TestShellDatabase(Shell,fixture.DB): downgrade_script = """ drop table t_table; """ + self.meta.drop_all() self._run_test_sqlfile(upgrade_script,downgrade_script) + + @fixture.usedb(supported='postgres') def test_sqlfile_comment(self): upgrade_script = """