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
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
Ivan Malison
2323b9da5f
Automatically generate cassette names from function names. Add
...
`path_transformer` and `func_path_generator`. Closes #151 .
2015-05-10 03:22:43 -07:00
Ivan Malison
0bbbc694b0
Make CassetteContextDecorator decorator produce reentrant functions.
...
Closes #150 .
2015-05-09 23:14:00 -07:00
Ivan Malison
881138cb8d
inject_cassette fallout.
2015-04-01 17:46:35 -07:00
Ivan Malison
639dba6f7a
Write test for #145 that checks behavior of with_current_defaults.
2015-04-01 17:30:05 -07:00
Ivan Malison
b9bdc6401d
inject_cassette kwarg.
2015-04-01 17:30:05 -07:00
Edward Stone
0def349420
Add ability to filter post data parameters
2015-03-31 13:12:13 -07:00
Abhinav Gupta
2473bdb77a
Fix default port for HTTPS.
2015-02-23 23:37:04 -08:00
Ivan Malison
c0a22df7ed
Add ability to add custom patches to vcr and cassettes.
2015-01-08 10:54:27 -08:00
Rodrigo Taboada
c955a5ea88
String in request body should be bytes.
2014-10-24 18:30:32 -02:00
Rodrigo Taboada
5423d99f5a
Tests for VCRHTTPResponse headers field.
2014-10-24 17:40:51 -02:00
Ivan Malison
916e7839e5
Actually use pytest.raises in test.
2014-10-07 13:45:09 -07:00
Ivan Malison
99692a92d2
Handle unicode error in json serialize properly.
2014-10-07 13:21:47 -07:00
Ivan Malison
0871c3b87c
Remove instance variables for filter_headers, filter_query_params, ignore_localhost and ignore_hosts. These still exist on the VCR object, but they are automatically translated into a filter function when passed to the cassette.
2014-09-22 17:57:22 -07:00
Ivan Malison
b046ee4bb1
Fix use_cassette decorator in python 2 by using wrapt.decorator. Add wrapt as dependency.
2014-09-22 16:40:09 -07:00
Ivan Malison
958aac3af3
Use mock for patching http connection objects.
2014-09-18 05:32:55 -07:00
Ivan Malison
9a564586a4
Failing tests for nested context decoration.
2014-09-18 03:46:39 -07:00
Ivan Malison
643a4c91ee
Change use_cassette to pass a function to CassetteContextDecorator so that changes to the default settings on the vcr properly propogate.
2014-09-18 02:52:44 -07:00
Ivan Malison
472cc3bffe
use_cassette -> CassetteContextDecorator
2014-09-17 23:22:43 -07:00
Ivan Malison
a08c90c5d6
Revert "Add global toggle to use_cassette."
...
This reverts commit 366e2b75bb .
Conflicts:
tests/unit/test_cassettes.py
2014-09-17 21:42:25 -07:00
Ivan Malison
9a4f5f23a4
Add before_record_response to Cassette and VCR.
2014-09-17 04:10:05 -07:00
Ivan Malison
366e2b75bb
Add global toggle to use_cassette.
2014-09-17 01:28:54 -07:00
Ivan Malison
cb05f4163c
Add use_cassette class so functinos that are decorated with use_cassette can be called multiple times.
2014-09-16 23:45:05 -07:00
Kevin McCarthy
3b05d499c3
Merge pull request #78 from mshytikov/feature/cassette-all-played
...
Feature/Cassette#all_played
2014-05-10 11:58:28 -10:00
Kevin McCarthy
83ff73792e
forgot to check in tests
2014-05-10 11:52:36 -10:00
Kevin McCarthy
66c6909021
not really very happy about this
2014-05-10 11:52:35 -10:00
Max Shytikov
bd2121d34e
pep8
2014-05-06 00:46:32 +02:00
Max Shytikov
f9f2b98427
Added tests for Cassette#all_played
2014-05-06 00:46:03 +02:00
Kevin McCarthy
5e295e0603
Serialize dict of lists, use dicts internally
...
There is a weird quirk in HTTP. You can send the same header twice.
For this reason, headers are represented by a dict, with lists as the
values. However, it appears that HTTPlib is completely incapable of
sending the same header twice. This puts me in a weird position: I want
to be able to accurately represent HTTP headers in cassettes, but I
don't want the extra step of always having to do [0] in the general
case, i.e. request.headers['key'][0]
In addition, some servers sometimes send the same header more than once,
and httplib *can* deal with this situation.
Futhermore, I wanted to keep the request and response cassette format as
similar as possible.
For this reason, in cassettes I keep a dict with lists as keys, but once
deserialized into VCR, I keep them as plain, naked dicts.
2014-05-03 17:39:12 -10:00
Max Shytikov
78f6ce46b5
Added test casses and refactored test for Request#port
2014-05-04 02:20:46 +02:00
Max Shytikov
1190a0e62e
Removed default '80' port of uri in tests
2014-05-04 02:11:49 +02:00
Max Shytikov
61e3bdc402
Added tetst for uri and port of Request
2014-05-03 22:31:30 +02:00
Max Shytikov
1ff5d08c8b
Fixed typo
2014-05-02 07:32:18 +02:00
Max Shytikov
65c2797f94
Updated test for filters. Mock replaced with real Request object
2014-05-02 07:32:18 +02:00