summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/testing
Commit message (Collapse)AuthorAgeFilesLines
* - ensure engine is restored even if we had a failure in cleanupMike Bayer2016-03-151-3/+5
| | | | | | for stray connection (cherry picked from commit edbb32649960db29761e765fc74c025e9999c7dd)
* - not sure why MySQL DROP DBs fail but we can't just ignore the errorMike Bayer2016-03-031-12/+3
| | | | | | like this (cherry picked from commit 0e7904e730c3d2b0d3a394ad60010158ee29050c)
* - don't drop the ts1/ts2 databases without seeing the primary DB,Mike Bayer2016-02-091-6/+21
| | | | | | | because we never log in on the ts1/ts2. races against other runs and erases their DBs (cherry picked from commit 3f1f1895ac99963da1a989c69c2dce59ae916ffc)
* - repair generic _post_configure_engine() from previous changesetMike Bayer2016-02-091-1/+1
|
* - backport changes to SQLite attached DB tests so thatMike Bayer2016-02-091-2/+28
| | | | we dont get file conflicts, cherry-pick from 5bb2536cc57c55c7d8c5901b5b622d18a9a6c646
* - backport new profile system from 1.1 so we can run new-styleMike Bayer2016-02-091-0/+5
| | | | test envs on jenkins
* - Testing reveals that we have *no* weak references to any cx_Oracle ↵Mike Bayer2016-02-091-3/+32
| | | | | | | | | | connections at all, yet cx_Oracle still has open sessions that cannot be killed until process dies. Oracle wins! Add a completely separate DB reaper script that runs after py.test is done. (cherry picked from commit 11a8440bc43aa9f7eb6f2cb7b7f43e0cf6680f41)
* - restore GLOBAL keyword hereMike Bayer2016-02-091-1/+1
|
* - use config-based test schemaMike Bayer2016-02-081-5/+5
| | | | (cherry picked from commit 00a05e357b5bcc37c66256bc08c1198541475739)
* - more oracle fixesMike Bayer2016-02-081-4/+9
| | | | (cherry picked from commit 93c5328e66d8491e73027f6e789df2255c4fa767)
* - add multi-database provisioning for oracleMike Bayer2016-02-081-0/+29
| | | | (cherry picked from commit c01d11907cbc98ddefe323c6115bc954b908f101)
* - put a retry in for PG database provisioning as it locksMike Bayer2016-01-291-2/+14
| | | | | | on database use (cherry picked from commit c8b3d4ed3f2638599fc73486cf0f724fa033a638)
* - happy new yearMike Bayer2016-01-2918-18/+18
| | | | (cherry picked from commit 859379e2fcc4506d036700ba1eca4c0ae526a8ee)
* - use a StaticPool for componentreflectiontest to ensureMike Bayer2016-01-281-7/+16
| | | | | | | temp tables are reflectable on the same session they were created (cherry picked from commit 14b1e6fe8e18d139846c1aba6761d4eea3dc25c3)
* - use schema argument correctly when we are dropping for a schemaMike Bayer2016-01-281-1/+1
| | | | (cherry picked from commit 13dfc532ac02657d75da40cc52d97b3b50a6bcfe)
* - use uuid fragments for provision names to enable multiple test suitesMike Bayer2016-01-231-2/+2
| | | | | | per server (cherry picked from commit 65010e97bca995657c2843f6aa8ad48bab370182)
* - Fixed bug in :meth:`.Update.return_defaults` which would cause allMike Bayer2015-12-141-3/+14
| | | | | | | | | | | | | | | | insert-default holding columns not otherwise included in the SET clause (such as primary key cols) to get rendered into the RETURNING even though this is an UPDATE. - Major fixes to the :paramref:`.Mapper.eager_defaults` flag, this flag would not be honored correctly in the case that multiple UPDATE statements were to be emitted, either as part of a flush or a bulk update operation. Additionally, RETURNING would be emitted unnecessarily within update statements. fixes #3609 (cherry picked from commit 0e4c4d7efc08d04c3c0ae960428b08ada37e4a91)
* - Fixed bug where use of the :meth:`.Query.select_from` method wouldMike Bayer2015-12-121-2/+2
| | | | | | | | cause a subsequent call to the :meth:`.Query.with_parent` method to fail. fixes #3606 - add mark-as-fail test for #3607 (cherry picked from commit 7d96ad4d535dc02a8ab1384df1db94dea2a045b5)
* Update usages of getargspec to compat version.Jacob MacDonald2015-11-301-1/+2
| | | | | | | The places inspect.getargspec was being used were causing problems for newer Python versions. (cherry picked from commit e8a5ed9c1cbc5e9f0aebffad5ea78abb16167778)
* - support declarativemappedtest with per-test setupMike Bayer2015-11-251-0/+10
| | | | (cherry picked from commit 2a2be6a2ce66ed1040c0345a20f959cbea218859)
* - A rare case which occurs when a :meth:`.Session.rollback` fails in theMike Bayer2015-11-191-1/+1
| | | | | | | | | | | | | | scope of a :meth:`.Session.flush` operation that's raising an exception, as has been observed in some MySQL SAVEPOINT cases, prevents the original database exception from being observed when it was emitted during flush, but only on Py2K because Py2K does not support exception chaining; on Py3K the originating exception is chained. As a workaround, a warning is emitted in this specific case showing at least the string message of the original database error before we proceed to raise the rollback-originating exception. fixes #2696 (cherry picked from commit a6fe4dc0c8ebc346a90dd849a86dac9345d74515)
* - Fixed bug in SQLite dialect where reflection of UNIQUE constraintsMike Bayer2015-07-211-0/+8
| | | | | | that included non-alphabetic characters in the names, like dots or spaces, would not be reflected with their name. fixes #3495
* - Fixed regression where :meth:`.ResultProxy.keys` would returnMike Bayer2015-07-192-1/+12
| | | | | | | | un-adjusted internal symbol names for "anonymous" labels, which are the "foo_1" types of labels we see generated for SQL functions without labels and similar. This was a side effect of the performance enhancements implemented as part of references #918. fixes #3483
* - db_opts doesn't need to be a global since we no longer have any globalMike Bayer2015-07-172-6/+4
| | | | | option for it. keep it local to production of config so values don't leak in a multi --db situation.
* - repair that we use db_opts when the url here is different,Mike Bayer2015-06-191-3/+8
| | | | as we are using db_opts for the first time with legacy_schema_args
* - fixes to the warnings filtersMike Bayer2015-06-191-3/+1
|
* - Add a new le_() assertion for less than or equalsMike Bayer2015-06-143-8/+14
| | | | | - fix TablesTest to use the bind that we've returned from setup_bind() to emit DELETE statements
* - Added a new dialect flag to the MSSQL dialectMike Bayer2015-05-241-0/+11
| | | | | | | | | | | | | | | | | | | | | | | ``legacy_schema_aliasing`` which when set to False will disable a very old and obsolete behavior, that of the compiler's attempt to turn all schema-qualified table names into alias names, to work around old and no longer locatable issues where SQL server could not parse a multi-part identifier name in all circumstances. The behavior prevented more sophisticated statements from working correctly, including those which use hints, as well as CRUD statements that embed correlated SELECT statements. Rather than continue to repair the feature to work with more complex statements, it's better to just disable it as it should no longer be needed for any modern SQL server version. The flag defaults to True for the 1.0.x series, leaving current behavior unchanged for this version series. In the 1.1 series, it will default to False. For the 1.0 series, when not set to either value explicitly, a warning is emitted when a schema-qualified table is first used in a statement, which suggests that the flag be set to False for all modern SQL Server versions. fixes #3424 fixes #3430
* - pg8000 wants to raise a ProgrammingError for a PK violationMike Bayer2015-05-152-0/+10
|
* - Added support for the case of the misbehaving DBAPI that hasMike Bayer2015-05-152-0/+40
| | | | | | | | | | | pep-249 exception names linked to exception classes of an entirely different name, preventing SQLAlchemy's own exception wrapping from wrapping the error appropriately. The SQLAlchemy dialect in use needs to implement a new accessor :attr:`.DefaultDialect.dbapi_exception_translation_map` to support this feature; this is implemented now for the py-postgresql dialect. fixes #3421
* Mark tests that they require OFFSET support in databasepr/171Peter Hoffmann2015-05-051-1/+4
| | | | | The sqlalchemy_exasol dialect needs to support Exasol 4.x which does not support the OFFSET feature. Mark test with testing.requires.offset so that they can be skipped of in the exasol specific test suite.
* - move away from explicit raises of SkipTest, instead call aMike Bayer2015-05-016-17/+36
| | | | | | | function patched onto config. nose/pytest backends now fill in their exception class here only when loaded - use more public seeming api to get at py.test Skipped exception
* - Fixed an import that prevented "pypy setup.py test" from workingMike Bayer2015-05-011-0/+1
| | | | | correctly. fixes #3406
* - replace old crufty ddl event test fixture with mockMike Bayer2015-04-271-2/+2
|
* - Fixed regression regarding the declarative ``__declare_first__``Mike Bayer2015-04-242-1/+13
| | | | | | and ``__declare_last__`` accessors where these would no longer be called on the superclass of the declarative base. fixes #3383
* - repair a regression caused by #3282, where we no longer wereMike Bayer2015-04-223-4/+18
| | | | | | | | | | applying any topological sort to tables on SQLite. See the changelog for details, but we now continue to sort tables for SQLite on DROP, prohibit the sort from considering alter, and only warn if we encounter an unresolvable cycle, in which case, then we forego the ordering. use_alter as always is used to break such a cycle. fixes #3378
* - Fixed a long-standing bug where the :class:`.Enum` type as usedMike Bayer2015-04-041-1/+1
| | | | | | | | | | with the psycopg2 dialect in conjunction with non-ascii values and ``native_enum=False`` would fail to decode return results properly. This stemmed from when the PG :class:`.postgresql.ENUM` type used to be a standalone type without a "non native" option. fixes #3354 - corrected the assertsql comparison rule to expect a non-ascii SQL string
* - fix this for pg8000 of all backends...Mike Bayer2015-03-241-1/+1
|
* - Turned off the "simple order by" flag on the MSSQL dialect; thisMike Bayer2015-03-241-0/+9
| | | | | | | | | | | is the flag that per :ticket:`2992` causes an order by or group by an expression that's also in the columns clause to be copied by label, even if referenced as the expression object. The behavior for MSSQL is now the old behavior that copies the whole expression in by default, as MSSQL can be picky on these particularly in GROUP BY expressions. fixes #3338 - Add a test that includes a composed label in a GROUP BY
* - The "auto close" for :class:`.ResultProxy` is now a "soft" close.Mike Bayer2015-03-171-3/+6
| | | | | | | | | | | That is, after exhausing all rows using the fetch methods, the DBAPI cursor is released as before and the object may be safely discarded, but the fetch methods may continue to be called for which they will return an end-of-result object (None for fetchone, empty list for fetchmany and fetchall). Only if :meth:`.ResultProxy.close` is called explicitly will these methods raise the "result is closed" error. fixes #3330 fixes #3329
* - copyright 2015Mike Bayer2015-03-1018-18/+18
|
* - expect_warnings was not expecting and neither was assert_warningsMike Bayer2015-02-192-29/+51
| | | | asserting.
* - additional test adjustments for pypy / psycopg2cffi. ThisMike Bayer2015-01-261-0/+4
| | | | | | | | | | consists mainly of adjusting fixtures to ensure connections are closed explicitly. psycopg2cffi also handles unicode bind parameter names differently than psycopg2, and seems to possibly have a little less control over floating point values at least in one test which is marked as a "fail", though will see if it runs differently on linux than osx.. - changelog for psycopg2cffi, fixes #3052
* - rework assertsql system, fixes #3293Mike Bayer2015-01-183-294/+242
|
* - add an exclusion here that helps with the case of 3rd partyMike Bayer2015-01-171-1/+2
| | | | test suite redefining an existing test in test_suite
* - The multi-values version of :meth:`.Insert.values` has beenMike Bayer2015-01-131-0/+3
| | | | | | | | | | | | repaired to work more usefully with tables that have Python- side default values and/or functions, as well as server-side defaults. The feature will now work with a dialect that uses "positional" parameters; a Python callable will also be invoked individually for each row just as is the case with an "executemany" style invocation; a server- side default column will no longer implicitly receive the value explicitly specified for the first row, instead refusing to invoke without an explicit value. fixes #3288
* - more callcountsMike Bayer2015-01-051-2/+4
| | | | - add the platform key to the error output
* - test failures:Mike Bayer2015-01-021-1/+0
| | | | | - test_schema_2 is only on PG and doesn't need a drop all, omit this for now - py3k has exception.args[0], not message
* - repair drop_all_tablesMike Bayer2015-01-021-1/+1
|
* - restate sort_tables in terms of a more fine grainedMike Bayer2015-01-013-12/+60
| | | | | | | | | | | | | sort_tables_and_constraints function. - The DDL generation system of :meth:`.MetaData.create_all` and :meth:`.Metadata.drop_all` has been enhanced to in most cases automatically handle the case of mutually dependent foreign key constraints; the need for the :paramref:`.ForeignKeyConstraint.use_alter` flag is greatly reduced. The system also works for constraints which aren't given a name up front; only in the case of DROP is a name required for at least one of the constraints involved in the cycle. fixes #3282