diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-06-11 14:31:57 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-06-11 14:31:57 -0400 |
| commit | dbaf82d258cc12d92ef28de4677d147fdb7808fd (patch) | |
| tree | e4239cbf2d6c9265ab28a2db1fb5844b114e3e49 /test/base/test_except.py | |
| parent | ed4a4896aea7dd77dd5d8a9861302811ac421e47 (diff) | |
| download | sqlalchemy-dbaf82d258cc12d92ef28de4677d147fdb7808fd.tar.gz | |
Add version token to error URL
the sqlalche.me redirector now supports the numerical version
code in the URL, e.g. /13/, /14/, /20/, etc., so that we can
redirect to the error codes for the appropriate version
of SQLAlchemy in use without going through the catch-all "latest"
link. If a particular version of the docs is no longer on the
site, the redirect will revert to falling through the "latest"
link (which ultimately lands on the current release version,
/13/ at the time of this writing).
Change-Id: I3bb463fd6fb6c8767c95a57f3699aba715a9a72d
Diffstat (limited to 'test/base/test_except.py')
| -rw-r--r-- | test/base/test_except.py | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/test/base/test_except.py b/test/base/test_except.py index be8c85a64..7ef077659 100644 --- a/test/base/test_except.py +++ b/test/base/test_except.py @@ -47,6 +47,17 @@ class SpecificIntegrityError(WrongNameError): class WrapTest(fixtures.TestBase): + def test_version_token(self): + assert sa_exceptions._version_token in ( + "13", + "14", + "15", + "16", + "20", + "21", + "22", + ) + def _translating_dialect_fixture(self): d = default.DefaultDialect() d.dbapi_exception_translation_map = { @@ -72,7 +83,8 @@ class WrapTest(fixtures.TestBase): str(exc), "(test.base.test_except.OperationalError) \n" "[SQL: this is a message]\n" - "(Background on this error at: http://sqlalche.me/e/e3q8)", + "(Background on this error at: http://sqlalche.me/e/%s/e3q8)" + % sa_exceptions._version_token, ) def test_tostring_with_newlines(self): @@ -89,7 +101,8 @@ class WrapTest(fixtures.TestBase): "(test.base.test_except.OperationalError) \n" "[SQL: this is a message\nthis is the next line\n" "the last line]\n" - "(Background on this error at: http://sqlalche.me/e/e3q8)", + "(Background on this error at: http://sqlalche.me/e/%s/e3q8)" + % sa_exceptions._version_token, ) def test_statement_error_no_code(self): @@ -122,7 +135,8 @@ class WrapTest(fixtures.TestBase): "(sqlalchemy.exc.InvalidRequestError) hello\n" "[SQL: select * from table]\n" "[parameters: [{'x': 1}]]\n" - "(Background on this error at: http://sqlalche.me/e/abcd)", + "(Background on this error at: http://sqlalche.me/e/%s/abcd)" + % sa_exceptions._version_token, ) eq_(err.args, ("(sqlalchemy.exc.InvalidRequestError) hello",)) @@ -133,7 +147,8 @@ class WrapTest(fixtures.TestBase): eq_( str(orig), "(2006, 'Test raise operational error')\n" - "(Background on this error at: http://sqlalche.me/e/dbapi)", + "(Background on this error at: http://sqlalche.me/e/%s/dbapi)" + % sa_exceptions._version_token, ) def test_wrap_unicode_arg(self): @@ -144,7 +159,7 @@ class WrapTest(fixtures.TestBase): compat.text_type(orig), compat.u( "méil\n(Background on this error at: " - "http://sqlalche.me/e/dbapi)" + "http://sqlalche.me/e/%s/dbapi)" % sa_exceptions._version_token ), ) eq_(orig.args, (u("méil"),)) @@ -217,7 +232,8 @@ class WrapTest(fixtures.TestBase): "[SQL: this is a message]\n" "[parameters: [{1: 1}, {1: 1}, {1: 1}, {1: 1}, {1: 1}," " {1: 1}, {1: 1}, {1: 1}, {1: 1}, {1: 1}]]\n" - "(Background on this error at: http://sqlalche.me/e/e3q8)", + "(Background on this error at: http://sqlalche.me/e/%s/e3q8)" + % sa_exceptions._version_token, ) eq_( exc.args, @@ -252,7 +268,8 @@ class WrapTest(fixtures.TestBase): "{1: 1}, {1: 1}, {1: 1}, {1: 1}, {1: 1}, " "{1: 1}, {1: 1} ... displaying 10 of 11 total " "bound parameter sets ... {1: 1}, {1: 1}]]\n" - "(Background on this error at: http://sqlalche.me/e/e3q8)", + "(Background on this error at: http://sqlalche.me/e/%s/e3q8)" + % sa_exceptions._version_token, ) try: raise sa_exceptions.DBAPIError.instance( @@ -269,7 +286,8 @@ class WrapTest(fixtures.TestBase): "[SQL: this is a message]\n" "[parameters: [(1,), " "(1,), (1,), (1,), (1,), (1,), (1,), (1,), (1,), (1,)]]\n" - "(Background on this error at: http://sqlalche.me/e/e3q8)", + "(Background on this error at: http://sqlalche.me/e/%s/e3q8)" + % sa_exceptions._version_token, ) try: raise sa_exceptions.DBAPIError.instance( @@ -300,7 +318,8 @@ class WrapTest(fixtures.TestBase): "(1,), (1,), (1,), (1,), (1,), (1,), (1,) " "... displaying 10 of 11 total bound " "parameter sets ... (1,), (1,)]]\n" - "(Background on this error at: http://sqlalche.me/e/e3q8)", + "(Background on this error at: http://sqlalche.me/e/%s/e3q8)" + % sa_exceptions._version_token, ) def test_db_error_busted_dbapi(self): |
