summaryrefslogtreecommitdiff
path: root/test/dialect/postgres.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/dialect/postgres.py')
-rw-r--r--test/dialect/postgres.py77
1 files changed, 39 insertions, 38 deletions
diff --git a/test/dialect/postgres.py b/test/dialect/postgres.py
index a3d1f665b..760affe8f 100644
--- a/test/dialect/postgres.py
+++ b/test/dialect/postgres.py
@@ -1,4 +1,4 @@
-import testbase
+import testenv; testenv.configure_for_tests()
import datetime
from sqlalchemy import *
from sqlalchemy import exceptions
@@ -7,6 +7,7 @@ from sqlalchemy.engine.strategies import MockEngineStrategy
from testlib import *
from sqlalchemy.sql import table, column
+
class SequenceTest(SQLCompileTest):
def test_basic(self):
seq = Sequence("my_seq_no_schema")
@@ -61,7 +62,7 @@ class ReturningTest(AssertMixin):
@testing.exclude('postgres', '<', (8, 2))
def test_update_returning(self):
- meta = MetaData(testbase.db)
+ meta = MetaData(testing.db)
table = Table('tables', meta,
Column('id', Integer, primary_key=True),
Column('persons', Integer),
@@ -81,7 +82,7 @@ class ReturningTest(AssertMixin):
@testing.exclude('postgres', '<', (8, 2))
def test_insert_returning(self):
- meta = MetaData(testbase.db)
+ meta = MetaData(testing.db)
table = Table('tables', meta,
Column('id', Integer, primary_key=True),
Column('persons', Integer),
@@ -102,7 +103,7 @@ class ReturningTest(AssertMixin):
result3 = table.insert(postgres_returning=[(table.c.id*2).label('double_id')]).execute({'persons': 4, 'full': False})
self.assertEqual([dict(row) for row in result3], [{'double_id':8}])
- result4 = testbase.db.execute('insert into tables (id, persons, "full") values (5, 10, true) returning persons')
+ result4 = testing.db.execute('insert into tables (id, persons, "full") values (5, 10, true) returning persons')
self.assertEqual([dict(row) for row in result4], [{'persons': 10}])
finally:
table.drop()
@@ -113,7 +114,7 @@ class InsertTest(AssertMixin):
def setUpAll(self):
global metadata
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
def tearDown(self):
metadata.drop_all()
@@ -183,7 +184,7 @@ class InsertTest(AssertMixin):
# note that the test framework doesnt capture the "preexecute" of a seqeuence
# or default. we just see it in the bind params.
- self.assert_sql(testbase.db, go, [], with_sequences=[
+ self.assert_sql(testing.db, go, [], with_sequences=[
(
"INSERT INTO testtable (id, data) VALUES (:id, :data)",
{'id':30, 'data':'d1'}
@@ -224,7 +225,7 @@ class InsertTest(AssertMixin):
# test the same series of events using a reflected
# version of the table
- m2 = MetaData(testbase.db)
+ m2 = MetaData(testing.db)
table = Table(table.name, m2, autoload=True)
def go():
@@ -236,7 +237,7 @@ class InsertTest(AssertMixin):
table.insert(inline=True).execute({'id':33, 'data':'d7'})
table.insert(inline=True).execute({'data':'d8'})
- self.assert_sql(testbase.db, go, [], with_sequences=[
+ self.assert_sql(testing.db, go, [], with_sequences=[
(
"INSERT INTO testtable (id, data) VALUES (:id, :data)",
{'id':30, 'data':'d1'}
@@ -284,7 +285,7 @@ class InsertTest(AssertMixin):
table.insert(inline=True).execute({'id':33, 'data':'d7'})
table.insert(inline=True).execute({'data':'d8'})
- self.assert_sql(testbase.db, go, [], with_sequences=[
+ self.assert_sql(testing.db, go, [], with_sequences=[
(
"INSERT INTO testtable (id, data) VALUES (:id, :data)",
{'id':30, 'data':'d1'}
@@ -351,7 +352,7 @@ class InsertTest(AssertMixin):
# test the same series of events using a reflected
# version of the table
- m2 = MetaData(testbase.db)
+ m2 = MetaData(testing.db)
table = Table(table.name, m2, autoload=True)
table.insert().execute({'id':30, 'data':'d1'})
try:
@@ -381,7 +382,7 @@ class DomainReflectionTest(AssertMixin):
__only_on__ = 'postgres'
def setUpAll(self):
- con = testbase.db.connect()
+ con = testing.db.connect()
try:
con.execute('CREATE DOMAIN testdomain INTEGER NOT NULL DEFAULT 42')
con.execute('CREATE DOMAIN alt_schema.testdomain INTEGER DEFAULT 0')
@@ -393,7 +394,7 @@ class DomainReflectionTest(AssertMixin):
con.execute('CREATE TABLE crosschema (question integer, answer alt_schema.testdomain)')
def tearDownAll(self):
- con = testbase.db.connect()
+ con = testing.db.connect()
con.execute('DROP TABLE testtable')
con.execute('DROP TABLE alt_schema.testtable')
con.execute('DROP TABLE crosschema')
@@ -401,31 +402,31 @@ class DomainReflectionTest(AssertMixin):
con.execute('DROP DOMAIN alt_schema.testdomain')
def test_table_is_reflected(self):
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
table = Table('testtable', metadata, autoload=True)
self.assertEquals(set(table.columns.keys()), set(['question', 'answer']), "Columns of reflected table didn't equal expected columns")
self.assertEquals(table.c.answer.type.__class__, postgres.PGInteger)
def test_domain_is_reflected(self):
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
table = Table('testtable', metadata, autoload=True)
self.assertEquals(str(table.columns.answer.default.arg), '42', "Reflected default value didn't equal expected value")
self.assertFalse(table.columns.answer.nullable, "Expected reflected column to not be nullable.")
def test_table_is_reflected_alt_schema(self):
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
table = Table('testtable', metadata, autoload=True, schema='alt_schema')
self.assertEquals(set(table.columns.keys()), set(['question', 'answer', 'anything']), "Columns of reflected table didn't equal expected columns")
self.assertEquals(table.c.anything.type.__class__, postgres.PGInteger)
def test_schema_domain_is_reflected(self):
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
table = Table('testtable', metadata, autoload=True, schema='alt_schema')
self.assertEquals(str(table.columns.answer.default.arg), '0', "Reflected default value didn't equal expected value")
self.assertTrue(table.columns.answer.nullable, "Expected reflected column to be nullable.")
def test_crosschema_domain_is_reflected(self):
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
table = Table('crosschema', metadata, autoload=True)
self.assertEquals(str(table.columns.answer.default.arg), '0', "Reflected default value didn't equal expected value")
self.assertTrue(table.columns.answer.nullable, "Expected reflected column to be nullable.")
@@ -434,14 +435,14 @@ class MiscTest(AssertMixin):
__only_on__ = 'postgres'
def test_date_reflection(self):
- m1 = MetaData(testbase.db)
+ m1 = MetaData(testing.db)
t1 = Table('pgdate', m1,
Column('date1', DateTime(timezone=True)),
Column('date2', DateTime(timezone=False))
)
m1.create_all()
try:
- m2 = MetaData(testbase.db)
+ m2 = MetaData(testing.db)
t2 = Table('pgdate', m2, autoload=True)
assert t2.c.date1.type.timezone is True
assert t2.c.date2.type.timezone is False
@@ -449,7 +450,7 @@ class MiscTest(AssertMixin):
m1.drop_all()
def test_pg_weirdchar_reflection(self):
- meta1 = MetaData(testbase.db)
+ meta1 = MetaData(testing.db)
subject = Table("subject", meta1,
Column("id$", Integer, primary_key=True),
)
@@ -460,7 +461,7 @@ class MiscTest(AssertMixin):
)
meta1.create_all()
try:
- meta2 = MetaData(testbase.db)
+ meta2 = MetaData(testing.db)
subject = Table("subject", meta2, autoload=True)
referer = Table("referer", meta2, autoload=True)
print str(subject.join(referer).onclause)
@@ -469,17 +470,17 @@ class MiscTest(AssertMixin):
meta1.drop_all()
def test_checksfor_sequence(self):
- meta1 = MetaData(testbase.db)
+ meta1 = MetaData(testing.db)
t = Table('mytable', meta1,
Column('col1', Integer, Sequence('fooseq')))
try:
- testbase.db.execute("CREATE SEQUENCE fooseq")
+ testing.db.execute("CREATE SEQUENCE fooseq")
t.create(checkfirst=True)
finally:
t.drop(checkfirst=True)
def test_distinct_on(self):
- t = Table('mytable', MetaData(testbase.db),
+ t = Table('mytable', MetaData(testing.db),
Column('id', Integer, primary_key=True),
Column('a', String(8)))
self.assertEquals(
@@ -498,7 +499,7 @@ class MiscTest(AssertMixin):
def test_schema_reflection(self):
"""note: this test requires that the 'alt_schema' schema be separate and accessible by the test user"""
- meta1 = MetaData(testbase.db)
+ meta1 = MetaData(testing.db)
users = Table('users', meta1,
Column('user_id', Integer, primary_key = True),
Column('user_name', String(30), nullable = False),
@@ -513,7 +514,7 @@ class MiscTest(AssertMixin):
)
meta1.create_all()
try:
- meta2 = MetaData(testbase.db)
+ meta2 = MetaData(testing.db)
addresses = Table('email_addresses', meta2, autoload=True, schema="alt_schema")
users = Table('users', meta2, mustexist=True, schema="alt_schema")
@@ -526,7 +527,7 @@ class MiscTest(AssertMixin):
meta1.drop_all()
def test_schema_reflection_2(self):
- meta1 = MetaData(testbase.db)
+ meta1 = MetaData(testing.db)
subject = Table("subject", meta1,
Column("id", Integer, primary_key=True),
)
@@ -537,7 +538,7 @@ class MiscTest(AssertMixin):
schema="alt_schema")
meta1.create_all()
try:
- meta2 = MetaData(testbase.db)
+ meta2 = MetaData(testing.db)
subject = Table("subject", meta2, autoload=True)
referer = Table("referer", meta2, schema="alt_schema", autoload=True)
print str(subject.join(referer).onclause)
@@ -546,7 +547,7 @@ class MiscTest(AssertMixin):
meta1.drop_all()
def test_schema_reflection_3(self):
- meta1 = MetaData(testbase.db)
+ meta1 = MetaData(testing.db)
subject = Table("subject", meta1,
Column("id", Integer, primary_key=True),
schema='alt_schema_2'
@@ -559,7 +560,7 @@ class MiscTest(AssertMixin):
meta1.create_all()
try:
- meta2 = MetaData(testbase.db)
+ meta2 = MetaData(testing.db)
subject = Table("subject", meta2, autoload=True, schema="alt_schema_2")
referer = Table("referer", meta2, schema="alt_schema", autoload=True)
print str(subject.join(referer).onclause)
@@ -573,8 +574,8 @@ class MiscTest(AssertMixin):
that PassiveDefault upon insert."""
try:
- meta = MetaData(testbase.db)
- testbase.db.execute("""
+ meta = MetaData(testing.db)
+ testing.db.execute("""
CREATE TABLE speedy_users
(
speedy_user_id SERIAL PRIMARY KEY,
@@ -590,7 +591,7 @@ class MiscTest(AssertMixin):
l = t.select().execute().fetchall()
assert l == [(1, 'user', 'lala')]
finally:
- testbase.db.execute("drop table speedy_users", None)
+ testing.db.execute("drop table speedy_users", None)
def test_create_partial_index(self):
tbl = Table('testtbl', MetaData(), Column('data',Integer))
@@ -617,7 +618,7 @@ class TimezoneTest(AssertMixin):
def setUpAll(self):
global tztable, notztable, metadata
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
# current_timestamp() in postgres is assumed to return TIMESTAMP WITH TIMEZONE
tztable = Table('tztable', metadata,
@@ -636,7 +637,7 @@ class TimezoneTest(AssertMixin):
def test_with_timezone(self):
# get a date with a tzinfo
- somedate = testbase.db.connect().scalar(func.current_timestamp().select())
+ somedate = testing.db.connect().scalar(func.current_timestamp().select())
tztable.insert().execute(id=1, name='row1', date=somedate)
c = tztable.update(tztable.c.id==1).execute(name='newname')
print tztable.select(tztable.c.id==1).execute().fetchone()
@@ -653,7 +654,7 @@ class ArrayTest(AssertMixin):
def setUpAll(self):
global metadata, arrtable
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
arrtable = Table('arrtable', metadata,
Column('id', Integer, primary_key=True),
@@ -665,7 +666,7 @@ class ArrayTest(AssertMixin):
metadata.drop_all()
def test_reflect_array_column(self):
- metadata2 = MetaData(testbase.db)
+ metadata2 = MetaData(testing.db)
tbl = Table('arrtable', metadata2, autoload=True)
self.assertTrue(isinstance(tbl.c.intarr.type, postgres.PGArray))
self.assertTrue(isinstance(tbl.c.strarr.type, postgres.PGArray))
@@ -705,4 +706,4 @@ class ArrayTest(AssertMixin):
arrtable.delete().execute()
if __name__ == "__main__":
- testbase.main()
+ testenv.main()