[ckan-changes] [ckan/ckan] 4de1ad: [#4747] Pin Werkzeug

Adrià Mercader noreply at github.com
Mon Apr 29 11:05:59 UTC 2019


  Branch: refs/heads/4747-fix-paste-req
  Home:   https://github.com/ckan/ckan
  Commit: 4de1ad8cdcd303e437d14008005d83df680609fd
      https://github.com/ckan/ckan/commit/4de1ad8cdcd303e437d14008005d83df680609fd
  Author: amercader <amercadero at gmail.com>
  Date:   2019-04-29 (Mon, 29 Apr 2019)

  Changed paths:
    M requirements.in
    M requirements.txt

  Log Message:
  -----------
  [#4747] Pin Werkzeug

After upgrading Werkzeug to 0.15.2 we got the following failures:

        AssertionError: Environmental variable PATH_INFO is not a
        string: <type 'unicode'> (value: u'/ckan-admin/reset_config')

This is webtest complaining that the test request environ used in some
functional tests has a unicode value for environ['PATH_INFO']. Modern
versions of WebTest ensure that the url passed is a string, but sadly
the version we are stuck with only does so for GET requests (We are
stuck with this version of WebTest because newer versions have a higher
WebOb requirement which conflicts with our Pylons requirement).

We could ensure on our side that the urls provided to webtest are
strings but that would involve either

1. Change all app.post() calls in tests to app.post(str(url))
2. Change url_for itself to always return a sting, which obviously is
not a great solution.

Having Werkzeug pinned is not ideal though so we either find a
workaround or speed Pylons removal (allowing us to upgrade
webob/webtest)




More information about the ckan-changes mailing list