summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/testing/requirements.py
Commit message (Collapse)AuthorAgeFilesLines
* - make these failure cases more specific to catch Oracle.Mike Bayer2015-08-151-2/+17
| | | | Would be nice to fix Oracle here
* - The behavior of the :func:`.union` construct and related constructsMike Bayer2015-08-121-0/+11
| | | | | | | | | such as :meth:`.Query.union` now handle the case where the embedded SELECT statements need to be parenthesized due to the fact that they include LIMIT, OFFSET and/or ORDER BY. These queries **do not work on SQLite**, and will fail on that backend as they did before, but should now work on all other backends. fixes #2528
* - pg8000 wants to raise a ProgrammingError for a PK violationMike Bayer2015-05-151-0/+8
|
* - copyright 2015Mike Bayer2015-03-101-1/+1
|
* - enhance only_on() to work with compound specsMike Bayer2014-12-061-0/+5
| | | | - fix "temporary_tables" requirement
* - Added :meth:`.Inspector.get_temp_table_names` andMike Bayer2014-09-171-0/+14
| | | | | | | | | | | | :meth:`.Inspector.get_temp_view_names`; currently, only the SQLite dialect supports these methods. The return of temporary table and view names has been **removed** from SQLite's version of :meth:`.Inspector.get_table_names` and :meth:`.Inspector.get_view_names`; other database backends cannot support this information (such as MySQL), and the scope of operation is different in that the tables can be local to a session and typically aren't supported in remote schemas. fixes #3204
* - add support for tags, including include/exclude support.Mike Bayer2014-07-271-0/+33
| | | | simplify tox again now that we can exclude tests more easily
* - rework the exclusions system to have much better support for compoundMike Bayer2014-07-261-1/+1
| | | | rules, better message formatting
* - more pg8000 tests passingMike Bayer2014-07-251-0/+8
|
* - apply pep8 formatting to sqlalchemy/sql, sqlalchemy/util, sqlalchemy/dialects,Brian Jarrett2014-07-201-37/+40
| | | | sqlalchemy/orm, sqlalchemy/event, sqlalchemy/testing
* - break up the <authors> copyright comment as part of a passMike Bayer2014-07-091-1/+2
| | | | to get all flake8 passing
* - more tests, including backend testsMike Bayer2014-05-161-0/+6
| | | | - implement for SQL server, use window functions when simple limit/offset not available
* Fix many typos throughout the codebasepr/85Alex Gaynor2014-04-261-1/+1
| | | | Found using: https://github.com/intgr/topy
* - Fixed ORM bug where changing the primary key of an object, then markingMike Bayer2014-03-281-0/+6
| | | | | | | | | | | | | it for DELETE would fail to target the correct row for DELETE. Then to compound matters, basic "number of rows matched" checks were not being performed. Both issues are fixed, however note that the "rows matched" check requires so-called "sane multi-row count" functionality; the DBAPI's executemany() method must count up the rows matched by individual statements and SQLAlchemy's dialect must mark this feature as supported, currently applies to some mysql dialects, psycopg2, sqlite only. fixes #3006 - Enabled "sane multi-row count" checking for the psycopg2 DBAPI, as this seems to be supported as of psycopg2 2.0.9.
* - Tweaked the settings for mysql-connector-python; in Py2K, theMike Bayer2014-03-271-0/+7
| | | | | | | | | | | "supports unicode statements" flag is now False, so that SQLAlchemy will encode the *SQL string* (note: *not* the parameters) to bytes before sending to the database. This seems to allow all unicode-related tests to pass for mysql-connector, including those that use non-ascii table/column names, as well as some tests for the TEXT type using unicode under cursor.executemany(). - other mysql-connector fixes; latest version seems to do better on function call counts
* - move some requirements up to the testing module to better support runningMike Bayer2014-03-131-0/+54
| | | | SQLA internal tests outside; plus things like savepoints, twophase
* - add more support for suite tests, moving some tests from test_query out to ↵Mike Bayer2014-03-131-0/+34
| | | | | | suite and adding some more requirements
* - Support has been added for pytest to run tests. This runnerMike Bayer2014-03-031-17/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | is currently being supported in addition to nose, and will likely be preferred to nose going forward. The nose plugin system used by SQLAlchemy has been split out so that it works under pytest as well. There are no plans to drop support for nose at the moment and we hope that the test suite itself can continue to remain as agnostic of testing platform as possible. See the file README.unittests.rst for updated information on running tests with pytest. The test plugin system has also been enhanced to support running tests against mutiple database URLs at once, by specifying the ``--db`` and/or ``--dburi`` flags multiple times. This does not run the entire test suite for each database, but instead allows test cases that are specific to certain backends make use of that backend as the test is run. When using pytest as the test runner, the system will also run specific test suites multiple times, once for each database, particularly those tests within the "dialect suite". The plan is that the enhanced system will also be used by Alembic, and allow Alembic to run migration operation tests against multiple backends in one run, including third-party backends not included within Alembic itself. Third party dialects and extensions are also encouraged to standardize on SQLAlchemy's test suite as a basis; see the file README.dialects.rst for background on building out from SQLAlchemy's test platform.
* - dont create a self-ref FK if test suite marked as not supporting self refMike Bayer2014-02-281-0/+12
| | | | | - break out reflection of views to support view column reflection separately from view definition
* add a skip for oracle on thisMike Bayer2014-02-011-0/+24
|
* - happy new yearMike Bayer2014-01-051-1/+1
|
* - apply a similar fix for floats to mssql+pyodbc as we did to firebirdMike Bayer2013-12-281-0/+10
| | | | | - wrangle through osx+pyodbc+freetds to get at least test_suite to pass again with mssql+pyodbc. invovled adding some silly requirements
* - repair some suite tests for firebirdMike Bayer2013-12-271-0/+14
|
* - The precision used when coercing a returned floating point value toMike Bayer2013-11-221-0/+8
| | | | | | | | | | Python ``Decimal`` via string is now configurable. The flag ``decimal_return_scale`` is now supported by all :class:`.Numeric` and :class:`.Float` types, which will ensure this many digits are taken from the native floating point value when it is converted to string. If not present, the type will make use of the value of ``.scale``, if the type supports this setting and it is non-None. Otherwise the original default length of 10 is used. [ticket:2867]
* - add copyright to source files missing itMike Bayer2013-10-261-0/+6
|
* - The typing system now handles the task of rendering "literal bind" values,Mike Bayer2013-10-201-0/+9
| | | | | | | | | | | | | | | e.g. values that are normally bound parameters but due to context must be rendered as strings, typically within DDL constructs such as CHECK constraints and indexes (note that "literal bind" values become used by DDL as of :ticket:`2742`). A new method :meth:`.TypeEngine.literal_processor` serves as the base, and :meth:`.TypeDecorator.process_literal_param` is added to allow wrapping of a native literal rendering method. [ticket:2838] - enhance _get_colparams so that we can send flags like literal_binds into INSERT statements - add support in PG for inspecting standard_conforming_strings - add a new series of roundtrip tests based on INSERT of literal plus SELECT for basic literal rendering in dialect suite
* - Added new method to the :func:`.insert` constructMike Bayer2013-07-051-0/+6
| | | | | | | | | | :meth:`.Insert.from_select`. Given a list of columns and a selectable, renders ``INSERT INTO (table) (columns) SELECT ..``. While this feature is highlighted as part of 0.9 it is also backported to 0.8.3. [ticket:722] - The :func:`.update`, :func:`.insert`, and :func:`.delete` constructs will now interpret ORM entities as FROM clauses to be operated upon, in the same way that select() already does. Also in 0.8.3.
* add a float exclusion to help oursql build 100%Mike Bayer2013-07-021-0/+9
|
* - get_unique_constraints() pull requestMike Bayer2013-06-091-0/+5
| | | | | | - version (0.9 for now) - changelog - move the test into the test suite so that all dialects can take advantage of it
* - fix exclusion hereMike Bayer2013-02-061-1/+2
| | | | - mysql doesn't reset table counter here so test differently
* port numeric tests to dialect suiteMike Bayer2013-02-061-0/+38
|
* - adding in requirementsMike Bayer2013-02-061-0/+42
| | | | - get test_naturalpks to be more generalized
* - add support for pulling in an external requirements fileMike Bayer2013-02-061-3/+52
| | | | - start filling in default versions of remaining requirements that are still only in test/
* - add an explicit test for sequences "optional"Mike Bayer2013-02-061-1/+11
|
* - add an "empty_inserts" requirement target plus a suite testMike Bayer2013-02-061-0/+10
| | | | - add suite tests for basic explicit Sequence support, result-row column access (tests that name_normalize is set correctly among many other things)
* internally at least refer to multirow as "multivalues", to distinguish betweenMike Bayer2012-12-081-2/+2
| | | | | an INSERT that's used in executemany() as opposed to one which has a VALUES clause with multiple entries.
* - multivalued inserts, [ticket:2623]Mike Bayer2012-12-081-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - update "not supported" messages for empty inserts, mutlivalue inserts - rework the ValuesBase approach for multiple value sets so that stmt.parameters does store a list for multiple values; the _has_multiple_parameters flag now indicates which of the two modes the statement is within. it now raises exceptions if a subsequent call to values() attempts to call a ValuesBase with one mode in the style of the other mode; that is, you can't switch a single- or multi- valued ValuesBase to the other mode, and also if a multiple value is passed simultaneously with a kwargs set. Added tests for these error conditions - Calling values() multiple times in multivalue mode now extends the parameter list to include the new parameter sets. - add error/test if multiple *args were passed to ValuesBase.values() - rework the compiler approach for multivalue inserts, back to where _get_colparams() returns the same list of (column, value) as before, thereby maintaining the identical number of append() and other calls when multivalue is not enabled. In the case of multivalue, it makes a last-minute switch to return a list of lists instead of the single list. As it constructs the additional lists, the inline defaults and other calculated default parameters of the first parameter set are copied into the newly generated lists so that these features continue to function for a multivalue insert. Multivalue inserts now add no additional function calls to the compilation for regular insert constructs. - parameter lists for multivalue inserts now includes an integer index for all parameter sets. - add detailed documentation for ValuesBase.values(), including careful wording to describe the difference between multiple values and an executemany() call. - add a test for multivalue insert + returning - it works ! - remove the very old/never used "postgresql_returning"/"firebird_returning" flags.
* just a pep8 pass of lib/sqlalchemy/testing/Diana Clarke2012-11-191-3/+4
|
* - support "fails_if" requirements as __requires__; so far this just skips, ↵Mike Bayer2012-11-121-0/+50
| | | | | | | | | | doesn't actually run the test - add requirements for date/datetime/time capabilities - remove test/sql/test_types->DateTest and create new tests in suite/test_types - move the StringTest with the "no length create" test to the suite, though this is a weird test
* - rework the sphinx customizations into distinct modulesMike Bayer2012-10-191-2/+9
| | | | | | | - build a new Sphinx extension that allows dialect info to be entered as directives which is then rendered consistently throughout all dialect/dbapi sections - break out the "empty_strings" requirement for oracle test
* - break out unicode tests to a varchar + a text test, add a requiresMike Bayer2012-10-151-0/+7
|
* - add some UPDATE..FROM tests and also some new reqsMike Bayer2012-10-121-0/+21
|
* - create new sqlalchemy.testing.suite.test_types, starting with Unicode ↵Mike Bayer2012-10-101-0/+15
| | | | | | | round trip tests. - clean out existing test_types:UnicodeTest to be strictly individual unit tests against Unicode(), String(), etc. with no database access.
* - [feature] Added "collation" parameter to allMike Bayer2012-10-101-0/+6
| | | | | | | | | | | String types. When present, renders as COLLATE <collation>. This to support the COLLATE keyword now supported by several databases including MySQL, SQLite, and Postgresql. [ticket:2276] - [change] The Text() type renders the length given to it, if a length was specified.
* - add back __engine_options__Mike Bayer2012-10-041-0/+20
| | | | | - break test_insert tests into explicitly get_lastrowid() vs. implicit_returning tests, fix up requirements to split them out
* - connect immediately on _create_testing_engine to initialize dialect ↵Mike Bayer2012-10-041-1/+0
| | | | capabilities
* - don't call get_lastrowid() on explicit returningMike Bayer2012-10-041-0/+7
| | | | | | - don't hardwire "subqueries" requirement in the base, mysql < 4.1 isn't working anyway - don't need explicit FB/PG exclusions in test_returning - hit db.connect() for the returning requirement
* - test updatesMike Bayer2012-10-041-0/+12
|
* - requirementsMike Bayer2012-10-031-1/+17
|
* devMike Bayer2012-09-291-1/+33
|