1
0
mirror of https://github.com/kevin1024/vcrpy.git synced 2025-12-09 01:03:24 +00:00
Commit Graph

912 Commits

Author SHA1 Message Date
Arthur Hamon
2d96d35621 delete test_boto3_without_vcr test as it does not test vcr module 2019-07-13 14:13:43 +02:00
Arthur Hamon
6ca7cf3cc6 refactor boto3 integration test using fixtures instead of global variables 2019-07-13 14:13:43 +02:00
Arthur Hamon
5e76e4733d fix real connection on boto3 stub, adding not set parameters manually
Set `assert_hostname` and `cert_reqs` real connection attributes with default values.
2019-07-13 14:13:35 +02:00
Arthur Hamon
14d1454bbf test with latest urllib3 2019-07-13 14:11:59 +02:00
Jan Gazda
4daafcc687 Rename testing user 2019-07-13 12:51:50 +02:00
Jan Gazda
347026f42c Fix #382 - boto3 compatibility
* Add support for PyYaml5.1
* Unpin requests in Tox
* Unpin urllib3 in Tox
* Unpin Flask in Tox
* Add env vars to Tox for boto3 tests
2019-07-13 12:51:50 +02:00
Arthur Hamon
8297d65038 Merge pull request #455 from browniebroke/patch-1
Fix Python version for extra requirement YARL
2019-07-11 13:08:54 +02:00
Bruno Alla
2fa2ca2072 Revert "Remove yarl from extra dependencies: should be there if needed via aiohttp"
This reverts commit 26a4b8df
2019-07-08 14:39:21 +01:00
Bruno Alla
26a4b8df55 Remove yarl from extra dependencies: should be there if needed via aiohttp 2019-07-08 14:12:05 +01:00
Bruno Alla
41e174ccb6 Fix Python version for extra requirement YARL
This was excluded when Python 3.4 support was dropped in #435
2019-07-08 13:29:04 +01:00
Stefan T
a17624a464 Record json kwarg in aiohttp request (#412)
* Record `json` kwarg in aiohttp request

Aiohttp supports `data` and `json` parameters to make a request.
Aiohttp enforces that only one is used make a request.

* Log when aiohttp stub makes request to live server

resolves: #406

* Record aiohttp `auth` request kwarg

Aiohttp request supports basic auth via the `auth` method parameter.
It is set as a request header by aiohttp ClientRequest.
2019-07-05 10:57:39 +10:00
Luiz Menezes
bbab27ed1b Use primitive types when recording cassettes using aiohttp stub (#454) 2019-07-05 10:52:08 +10:00
Arthur Hamon
b92be4e9e5 Merge pull request #386 from valgur/unicode-match-on-body
Fix matching on 'body' failing when Unicode symbols are present
2019-07-02 12:33:21 +02:00
Martin Valgur
c6e7cb12c6 Merge branch 'master' into unicode-match-on-body 2019-07-01 22:09:57 +03:00
Arthur Hamon
d07915ccf6 Merge pull request #408 from StasEvseev/feature/mock_client_json_empty_body
FIX behaviour MockClientResponse.json() if body is empty
2019-07-01 20:38:34 +02:00
Stanislav Evseev
7c14d81ab1 CHANGE: return None from json if body is empty 2019-07-01 14:25:38 +02:00
Arthur Hamon
d682e7b19a Fix all warnings (#449)
* fix typo in pytest.mark.xskip

Change xskip by skipif marker as xskip is an unknown pytest marker.

* fix FileModeWarning

This fix the following warning:
FileModeWarning: Requests has determined the content-length for this request using the binary size of the file: however, the file has been opened in text mode (i.e. without the 'b' flag in the mode). This may lead to an incorrect content-length. In Requests 3.0, support will be removed for files in text mode.

* fix waring "calling yaml.load() without Loader=... is deprecated"
This fix the following warning:
YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.

* fix collections.abc deprecation warning in python 3.7.

* update Flask dependency in order to get rid of the Request.is_xhr warning

This fix the following warning:
DeprecationWarning: 'Request.is_xhr' is deprecated as of version 0.13 and will be removed in version 1.0. The 'X-Requested-With' header is not standard and is unreliable. You may be able to use 'accept_mimetypes' instead.
2019-07-01 17:45:01 +10:00
Arthur Hamon
2b9498e009 Merge pull request #437 from steinnes/minimal-aiohttp-streamreader-support
Minimal aiohttp streamreader support
2019-07-01 07:16:54 +02:00
Arthur Hamon
eb99a3e36f Merge pull request #442 from addgene/master
fixes #440 VCR responses don't work with Biopython on Python3
2019-06-30 22:54:21 +02:00
Rishab Malik
6c877a1749 added skip decorator for python2 2019-06-28 13:03:55 -04:00
Arthur Hamon
6be6f0236b Merge pull request #415 from jeking3/issue-414
KeyError when replaying proxy tunnel captured sessions (broken in #389, v2.0.0)
2019-06-28 17:20:14 +02:00
Rishab Malik
95c7898b65 [DEV-5365][DEV-5367] VCR responses don't work with Biopython on Python 3 (#1)
* added IOBase methods and fp pointer

* regression test
2019-06-28 09:37:53 -04:00
James E. King III
d4b706334c properly handle tunnel connect uri generation broken in #389 2019-06-28 13:37:14 +00:00
Steinn Eldjárn Sigurðarson
e8a9a65bef Make test use stream output to test MockStream interface 2019-06-28 13:35:05 +00:00
Steinn Eldjárn Sigurðarson
67b03b45c3 Add output option to use response.content stream 2019-06-28 13:34:48 +00:00
Steinn Eldjárn Sigurðarson
6c41b8b723 Use built-in helpers to avoid use of async keywords which cause syntax errors on 2.x 2019-06-28 13:30:14 +00:00
Steinn Eldjárn Sigurðarson
cc55ef5b35 Add test for MockStream on aiohttp 2019-06-28 12:55:54 +00:00
Steinn Eldjárn Sigurðarson
1b6f304421 Add .content to MockClientResponse so code which uses aiohttp request content streams directly can be tested 2019-06-28 12:55:54 +00:00
Arthur Hamon
9039eab916 Merge pull request #418 from PiDelport/patch-1
Doc typo: yml -> yaml
2019-06-28 13:55:10 +02:00
Josh Peak
92e03603ea Merge pull request #446 from neozenith/master
CannotOverwritteCassetteException: Add properties cassette and failed_request
2019-06-28 13:54:43 +10:00
Josh Peak
f8e8b85790 Address testing with tox on windows documentation 2019-06-28 13:29:55 +10:00
Josh Peak
09ed0e911e Add cassette and failed request as properties of thrown CannotOverwriteCassetteException 2019-06-28 11:29:12 +10:00
Josh Peak
0830f6052b Merge pull request #439 from arthurHamon2/master
Add verbosity/explanations on CannotOverwriteExistingCassetteException
2019-06-28 10:45:10 +10:00
Arthur Hamon
829e9b2f1c Merge pull request #444 from hugovk/patch-1
Remove broken Waffle badge
2019-06-27 22:30:10 +02:00
Arthur Hamon
b203fd4113 add reference to pytest-vcr plugin in the documentation 2019-06-27 22:22:10 +02:00
Arthur Hamon
f414e04f49 update the documentation of custom matchers
Add documentation on creating a matcher with an `assert` statement that provides assertion messages in case of failures.
2019-06-27 22:22:10 +02:00
Arthur Hamon
28d9899b9b refactor the 'CannotOverwriteExistingCassetteException' exception, building a more detailed message
The 'CannotOverwriteExistingCassetteException' exception now takes two kwargs, cassette and failed requests, in order to get the request(s) in the cassettes with the less differences and put those details in the exception message.
2019-06-27 22:22:10 +02:00
Arthur Hamon
396c4354e8 add cassette's method to find the most similar request(s) of a request
This method get the requests in the cassettes with the most matchers that succeeds.
2019-06-27 22:22:10 +02:00
Arthur Hamon
0a01f0fb51 change all the matchers with an assert statement and refactor the requests_match function
In order to use the new assert mechanism that returns explicit assertion failure message, all the default matchers does not return a boolean, but only do an assert statement with a basic assertion message (value_1 != value_2).
The requests_match function has been refactored to use the 'get_matchers_results' function in order to have explicit failures that are logged if any.
Many unit tests have been changed as the matchers does not return a boolean value anymore.
Note: Only the matchers "body" and "raw_body" does not have an assertion message, the body values might be big and not useful to be display to spot the differences.
2019-06-27 22:22:10 +02:00
Arthur Hamon
46f5b8a187 add function to get the comparaison result of two request with a list of matchers
The function returns two list:
- the first one is the list of matchers names that have succeeded.
- the second is a list of tuples with the failed matchers names and the related assertion message like this ("matcher_name", "assertion_message").
If the second list is empty, it means that all the matchers have passed.
2019-06-27 22:22:10 +02:00
Arthur Hamon
940dec1dd6 add private function to evaluate a matcher
A matcher can now return other results than a boolean :
- An AssertionError exception meaning that the matcher failed, with the exception we get the assertion failure message.
- None, in case we do an assert in the matcher, meaning that the assertion has passed, the matcher is considered as a success then.
- Boolean that indicates if a matcher failed or not. If there is no match, a boolean does not give any clue what it is the differences compared to the assertion.
2019-06-27 22:22:10 +02:00
Arthur Hamon
de244a968f add function to format the assertion message
This function is used to prettify the assertion message when a matcher failed and return an assertion error.
2019-06-27 22:22:10 +02:00
Arthur Hamon
728dc71a35 Merge pull request #441 from arthurHamon2/update-related-to-new-dependencies-versions
Update tests related to new dependencies versions
2019-06-27 22:03:30 +02:00
Arthur Hamon
bdb74b9841 change requests27 in travis-ci to requests 2019-06-27 21:33:39 +02:00
Arthur Hamon
34f0417dc9 add troubleshooting in contributing section
When I ran the test suite on macOSX, I had some issues regarding SSL configuration, I have documented the error I encounter and the solution to deal with it.
2019-06-27 21:33:39 +02:00
Hugo
86586e8cd9 Remove broken Waffle badge
Waffle shut down on May 16th, 2019 "due to market direction and the acquisition by Broadcom".

https://help.waffle.io/articles/2801857-waffle-shutdown-tl-dr
2019-06-17 11:48:12 +03:00
Arthur Hamon
7724b364aa urllib3 has a new default behavior with PoolManager object creation
By default, from version urllib3=>1.25, urllib3 requires and validates certificates by default when using HTTPS (https://github.com/urllib3/urllib3/blob/master/CHANGES.rst#125-2019-04-22).
Set explicitly that we deactivate certificates validation with cert_reqs=`CERT_NONE`.
2019-06-13 16:04:26 +02:00
Arthur Hamon
c4803dbc4d httplib2 has issues validating certificate with python 2.7, disabling it 2019-06-13 16:04:26 +02:00
Arthur Hamon
a53121b645 do not create tox environment with python2 and aiohttp
aiohttp dependency only works with python 3.5+
2019-06-13 16:04:26 +02:00
Arthur Hamon
78a0a52bd9 fix issue with tests using localhost
The error we have : SSLError: hostname '127.0.0.1' doesn't match either of 'localhost', '127.0.0.1'
This is fixed by adding the `ipaddress` dependency in the tox ini.
2019-06-13 16:04:26 +02:00