Skip to content

Test test_signature_methods fails when optional dependency not installed #164

@koobs

Description

@koobs

The following test fails when the optional (rsa) dependency pycrypto is not installed.

It should skip instead, or be added to tests_require. Both would be best.

======================================================================
ERROR: test_signature_methods (tests.test_oauth1_session.OAuth1SessionTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/mock.py", line 1201, in patched
    return func(*args, **keywargs)
  File "/mnt/home/user/repos/freebsd/ports/www/py-requests-oauthlib/work/requests-oauthlib-0.4.2/tests/test_oauth1_session.py", line 102, in test_signature_methods
    auth.post('https://i.b')
  File "/mnt/home/user/repos/freebsd/ports/www/py-requests-oauthlib/work/requests-oauthlib-0.4.2/requests-2.5.0-py2.7.egg/requests/sessions.py", line 504, in post
    return self.request('POST', url, data=data, json=json, **kwargs)
  File "/mnt/home/user/repos/freebsd/ports/www/py-requests-oauthlib/work/requests-oauthlib-0.4.2/requests-2.5.0-py2.7.egg/requests/sessions.py", line 447, in request
    prep = self.prepare_request(req)
  File "/mnt/home/user/repos/freebsd/ports/www/py-requests-oauthlib/work/requests-oauthlib-0.4.2/requests-2.5.0-py2.7.egg/requests/sessions.py", line 378, in prepare_request
    hooks=merge_hooks(request.hooks, self.hooks),
  File "/mnt/home/user/repos/freebsd/ports/www/py-requests-oauthlib/work/requests-oauthlib-0.4.2/requests-2.5.0-py2.7.egg/requests/models.py", line 308, in prepare
    self.prepare_auth(auth, url)
  File "/mnt/home/user/repos/freebsd/ports/www/py-requests-oauthlib/work/requests-oauthlib-0.4.2/requests-2.5.0-py2.7.egg/requests/models.py", line 492, in prepare_auth
    r = auth(self)
  File "/mnt/home/user/repos/freebsd/ports/www/py-requests-oauthlib/work/requests-oauthlib-0.4.2/requests_oauthlib/oauth1_auth.py", line 87, in __call__
    unicode(r.url), unicode(r.method), None, r.headers)
  File "build/bdist.freebsd-9.3-STABLE-amd64/egg/oauthlib/oauth1/rfc5849/__init__.py", line 304, in sign
    ('oauth_signature', self.get_oauth_signature(request)))
  File "build/bdist.freebsd-9.3-STABLE-amd64/egg/oauthlib/oauth1/rfc5849/__init__.py", line 153, in get_oauth_signature
    sig = self.SIGNATURE_METHODS[self.signature_method](base_string, self)
  File "build/bdist.freebsd-9.3-STABLE-amd64/egg/oauthlib/oauth1/rfc5849/signature.py", line 499, in sign_rsa_sha1_with_client
    return sign_rsa_sha1(base_string, client.rsa_key)
  File "build/bdist.freebsd-9.3-STABLE-amd64/egg/oauthlib/oauth1/rfc5849/signature.py", line 487, in sign_rsa_sha1
    from Crypto.PublicKey import RSA
ImportError: No module named Crypto.PublicKey

----------------------------------------------------------------------
Ran 30 tests in 2.580s

FAILED (errors=1)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions