1
0
mirror of https://github.com/kevin1024/vcrpy.git synced 2025-12-10 09:35:34 +00:00
Commit Graph

122 Commits

Author SHA1 Message Date
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
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
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
Karim Hamidou
472bc3aea1 Add a rewind method to reset a cassette. 2018-12-20 12:44:07 +01:00
Hugo
d0aa6bcc8d Rewrite unnecessary list/tuple literals as set literals 2018-01-15 09:54:11 +02:00
Julien Funk
6887e2cff9 remove unused imports 2017-01-15 15:04:20 -08:00
Ivan Malison
06b00837fc Fix patch of FliesystemPersister.load_cassette 2017-01-13 15:29:45 -08:00
Julien Funk
a033bc729c refactored, 1 failing test 2017-01-13 16:09:42 -05:00
Charly
e5d6327de9 added a fix to httplib2 2017-01-11 17:54:15 -10:00
Kevin McCarthy
8274b660c6 fix flake8 failure 2016-10-02 12:08:02 -10:00
Gregory Roussac
a8f1a65d62 test serializers.compat.convert_to_bytes() 2016-10-02 12:07:37 -10:00
Aliaksandr Buhayeu
9daf301deb Fix for Serialization errors with JSON adapter
This patch aims to fix the issue#222,
where json data in request can not be serialized
because of TypeError in py3
2016-05-01 14:22:17 -10:00
Jayson Reis
632af2e41a Fix/ignore some flake errors 2016-01-20 12:28:46 +01:00
Ivan Malison
43b3411e6c Fix travis check for flakes 2016-01-11 17:00:02 -08:00
Ivan Malison
99d4150df8 allow filtering by response 2016-01-11 16:07:44 -08:00
Ivan 'Goat' Malison
3459d95d4f Merge pull request #234 from tobiowo/decode-compressed-response
Decode compressed response option
2015-12-31 10:18:34 -08:00
Olutobi Owoputi
5d866dd77c support python 3.4 2015-12-02 14:43:06 -08:00
Olutobi Owoputi
2d08358b5c tests / docs for decode_compressed_response 2015-12-02 12:26:23 -08:00
John Vandenberg
dc9cd4229b Fix pyflakes and pep8 errors
Use extra asserts to use previously unused variables in tests,
such as `cass` and `response`.

Fix only pyflakes errors in docs/conf.py
2015-11-26 08:25:06 +11:00
Aron Griffis
77de8dc47e Update VCR params to use new filters. 2015-11-07 17:05:25 -05:00
Aron Griffis
cb40a45eba Add replace_post_data_parameters() 2015-11-07 17:05:25 -05:00
Aron Griffis
678586904b Add replace_query_parameters() 2015-11-07 17:05:25 -05:00
Aron Griffis
ddbf0464f4 Add replace_headers() 2015-11-07 17:05:25 -05:00
Bocai Cen
7990c549d1 fix decoration when in _handle_function does not return the wrapped function return value 2015-10-01 23:17:15 -04:00
Tye Wang
79ff59feae Attributes set on VCRConnection now also get set on the real_connection 2015-09-03 14:35:28 -04:00
Ivan 'Goat' Malison
34252bc234 Merge pull request #192 from agriffis/insensitive-headers
Make request.headers always a CaseInsensitiveDict.
2015-08-28 14:47:45 -07:00
Aron Griffis
3f006cc261 Merge pull request #201 from agriffis/path-transformer-default
Default path_transformer=None. Fixes #199
2015-08-28 07:55:13 -04:00
Aron Griffis
0eda8ba482 Default path_transformer=None. Fixes #199 2015-08-28 07:25:03 -04:00
Ivan Malison
c8180326ad Automatically decorate dynamically added methods with auto_decorate 2015-08-28 02:17:01 -07:00
Ivan Malison
6fd04f3675 Add test_case method to VCR
this method provides a class that can be inherited from to decorate all
test methods on the desired class with use_cassette using the relevant vcr
2015-08-28 01:44:39 -07:00
Aron Griffis
7312229aef Add HeadersDict, and mark add_header deprecated.
HeadersDict is a subclass of CaseInsensitiveDict with two new features:

  1. Preserve the case of the header key from the first time it was set.
     This means that later munging won't modify the key case. (You can
     force picking up the new case with `del` followed by setting.)

  2. If the value is a list or tuple, unpack it and store the first
     element. This is the same as how `Request.add_header()` used to work.

For backward compatibility this commit preserves `Request.add_header()` but
marks it deprecated.
2015-08-25 06:30:50 -04:00
Aron Griffis
3e5553c56a Don't drop passed-in before_record_response
This is an actual bugfix. If before_record_response is passed into VCR as
an iterable then it won't be included in filter_functions. This commit
repairs the logic to separate the tests (just as it's already done for
before_record_request).

Also use .extend() rather than looping on .append()
2015-08-23 16:00:52 -04:00
Ivan Malison
ae5580c8f9 style changes in test_vcr.py 2015-08-22 18:59:59 -07:00
Ivan Malison
f342f92f03 additional_matchers test 2015-08-22 18:58:12 -07:00
Ivan Malison
89cdda86d1 fix generator test. 2015-07-30 14:22:16 -07:00
Ivan Malison
a234ad6b12 Fix all the tests in python 3 2015-07-30 03:39:04 -07:00
Ivan Malison
21c176ee1e Make cassette active for duration of coroutine/generator
Closes #177.
2015-07-30 01:47:29 -07:00
Greg Ward
fe7d193d1a Add several more test cases for issue #163. 2015-07-16 14:49:48 -04:00
Greg Ward
09b7ccf561 Ensure that request bodies are always bytes, not text (fixes #163).
It shouldn't matter whether the request body comes from a file or a
string, or whether it is passed to the Request constructor or assigned
later. It should always be stored internally as bytes.
2015-07-16 14:36:26 -04:00
Ivan Malison
33a4fb98c6 Update unit tests for body matcher. Simplified logic. 2015-07-15 00:01:31 -07:00
Diaoul
c0286dfd97 Add body matcher unit tests 2015-07-11 23:22:42 +02:00
Thomas Grainger
41949f7dc6 use conditional requirements for backport libraries Fixes #147 2015-07-02 09:34:27 +01:00
Chase Sterling
5fc33c7e70 Add tests for explicitly specifying a path when library dir is defined 2015-05-15 19:06:05 -04:00
marco.santamaria
59aa351ca8 Added support for json post data in filter_post_data_parameters. 2015-05-14 14:13:14 +02:00