Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
  • 1,145 commits
  • 194 files changed
  • 8 contributors
This comparison is big! We're only showing the most recent 250 commits
Nov 21, 2011
Myron Marston Ignore the symlinked file. 7b05e11
Myron Marston Add contributing guide to relish .nav. 9ad57be
Myron Marston Fix contributing link from readme now that it's under source control. 4a53a6d
Myron Marston Add Flaviu to list of contributors. 8c6cd60
Nov 22, 2011
Myron Marston Add around_http_request hook.
For issue #91.
Myron Marston Fix readme synopsis to use VCR 2.0 APIs. 430ccd1
Nov 24, 2011
Myron Marston Extract separate cuke files for each hook type. 5d4078e
Myron Marston Add rake task to re-run the last cuke. 8cefe96
Myron Marston Fix around_http_request to support multiple requests.
Fibers can only be used once so we have to create a new one for each request.
Nov 26, 2011
Paco Guzmán FIX synopsis using configure instead configuration d6576e3
Myron Marston Give Paco credit for his contribution. 4b274c3
Nov 27, 2011
Myron Marston Add cukes documenting new http request hooks.
Closes #91.
Myron Marston Use latest excon.
Closes #106.
Myron Marston Add link to source of query method. 0912189
Myron Marston Normalize request method to a lower case symbol.
Fog uses excon by passing `:method => "POST"`.

Closes #105.
Myron Marston Normalize URI without standard port.
This is how people tend to write URIs anyway.
Myron Marston Revert "Use latest excon."
This reverts commit 6e13de0.

It worked for me locally but it broke the Travis build :(.
Myron Marston Fix "interning empty string" error on ruby 1.8. 23aedda
Nov 28, 2011
Myron Marston Add define_cassette_placeholder as an alias for filter_sensitive_data.
Closes #102.
Myron Marston Fix version checker logic.
If the min_patch is 0.6.5 and the max_minor is 0.7 and the library version is 0.7.3, the old code would wrongly categorize it as :too_low.
Nov 29, 2011
Myron Marston Remove unneeded method.
It was needed for the WebMock hook before I refactored it to take advantage of the global stub hook in WebMock 1.7.8.
Myron Marston Extract spec helper methods into a module. 0352721
Myron Marston Ensure faraday is exclusively used for parallel requests.
Closes #103.
Nov 30, 2011
Myron Marston Use latest excon now that it works on travis CI.
See geemus/excon#82 for information on what the problem was.

Closes #106.
Myron Marston Simplify ENV vars for cukes. 1b36333
Myron Marston Put rspec-1 on the path rather than doing funky load path business. 7fd6546
Myron Marston Ignore rspec-1 scenario on JRuby.
The load path change I made in the last commit broke the JRuby build: Cannot run program "spec" (in directory "/home/vagrant/builds/myronmarston/vcr/tmp/aruba"): error=2, No such file or directory (NativeException)

I don't care enough to get this to pass.
Dec 01, 2011
Carlos Kirkconnell Make cassette migrator set recorded_with to current VCR version.
Closes #110.
Myron Marston Add Carlos Kirkconnell to contributors list. b667575
Myron Marston Rename rspec feature to rspec_macro. b25e349
Myron Marston Remove excess space. a4bcfd0
Myron Marston Update relish nav to include recent feature files. 3811e13
Myron Marston Integrate VCR with RSpec metadata.
Thanks to Ryan Bates for the great idea!

Closes #95.
Dec 02, 2011
Myron Marston Update Changelog. 958c36e
Myron Marston Remove unnecessary platform block from Gemfile.
Now that we don't keep the Gemfile.lock under source control we can just rely on the conditionals in the gemspec.  Before I had this when Gemfile.lock was in source control so that it wouldn't change unnecessarily on different ruby interpreters.
Dec 04, 2011
Myron Marston Fix spec to match method name. fa0c9e5
Myron Marston Fix typo. c74dde6
Dec 05, 2011
Myron Marston Allow FakeWeb/WebMock/Typhoeus stubbing APIs to be used when VCR is t…
…urned off.

Closes #112.
Dec 08, 2011
Myron Marston Release 2.0.0.rc1. c06d3f0
Dec 14, 2011
Myron Marston Don't modify the cassette options hash the first time it is used.
Closes #116.
Myron Marston Return the response when the request proceeds. 1deb2fb
Myron Marston Add missing spec for bug fixed by 32c36e2. c600695
Ben Oakes Add YARD development dependency and usage notes 54b5829
Ben Oakes Add basic YARD configuration and sample doc c180cb7
Dec 15, 2011
Myron Marston Add Benjamin Oakes to contributors list. 2f3b73c
Myron Marston Setup yard opts. 6f0d2e6
Myron Marston Change our Typhoeus::Hydra monkey patch to be more compatible with yard.
It got confused by the fact that we were opening the Typhoeus::Hydra singleton class before declaring the class (since we get it by requiring it); spelling it out this way avoids this warning:

[warn]: Load Order / Name Resolution Problem on Typhoeus::Hydra:
[warn]: -
[warn]: Something is trying to call child on object Typhoeus::Hydra before it has been recognized.
[warn]: This error usually means that you need to modify the order in which you parse files
[warn]: so that Typhoeus::Hydra is parsed before methods or other objects attempt to access it.
[warn]: -
[warn]: YARD will recover from this error and continue to parse but you *may* have problems
[warn]: with your generated documentation. You should probably fix this.
[warn]: -
[error]: Unhandled exception in YARD::Handlers::Ruby::AliasHandler:
[error]:   in `lib/vcr/library_hooks/typhoeus.rb`:94:

	94: alias allow_net_connect_without_vcr? allow_net_connect?
Myron Marston Move comment so its not picked up by yard as the VCR overview. 42fc56a
Myron Marston Started documenting some stuff. 1e48780
Myron Marston Document the errors. 3fbd408
Dec 16, 2011
Myron Marston More config documentation. fa707c2
Myron Marston Link to other methods from the docs. 6f905c9
Myron Marston Document VCR::Cassette.
...and make some methods private.
Michael Lavrisha Update formatting in 9ca2032
Myron Marston Make some more stuff private. aace834
Dec 17, 2011
Myron Marston Merge pull request #117 from vrish88/master
Just an update to the
Myron Marston Update contributors list. 7e790d6
Myron Marston Remove comments I didn't mean to add. 10f72dc
Myron Marston Document request matcher registry. 7dddfab
Dec 18, 2011
Myron Marston Remove request delegation.
There's no reason we need this and having a smaller API to support is nice.
Myron Marston Document the structs. a664865
Myron Marston Document VCR.request_matchers. e9c9be1
Dec 19, 2011
Myron Marston Document classes under the Cassette namespace. 3f90013
Myron Marston Make the extensions and library hooks private. f3f74d5
Myron Marston Document middleware. c237676
Myron Marston Document RSpec and Cucumber integration. 431896d
Myron Marston Additional docs. 85e9000
Dec 20, 2011
Myron Marston Update README. 7078765
Dec 21, 2011
Myron Marston Fix specs that were failing on rspec 2.8.0.rc2.
This also simplifies the specs; there was a shared example group that was no longer needed.
Myron Marston Fix my last commit so it actually works :).
I need to properly scope ::RSpec to the top level so it doesn't pick up VCR::RSpec. Also, I should use that within the example group.
Dec 22, 2011
Myron Marston Attempt to get github flavored markup to work.
(It's not working, unfortunately, but I'm pushing what I've done according to the instructions at lsegal/yard#404).
Myron Marston Updates to GFM attempt based on @lsegal's suggestions. e347e6a
Myron Marston Mark some additional nested classes/modules as @private.
yard stats --list-undoc listed these for me.  I'm surprised I have to mark these inner classes/modules as private since the outer classes/modules are already private...
Dec 24, 2011
Myron Marston README updates. 54c5608
Dec 28, 2011
Myron Marston Add missing require for migrator. eed292f
Myron Marston Resolve cassette_library_dir to an absolute path.
Closes #118.
Myron Marston File.absolute_path isn't available on 1.8.
For #118.
Jan 03, 2012
Myron Marston Ensure rspec metadata cuke is syntax highlighted on relish. 11c8fb9
Jan 22, 2012
Myron Marston Update excon dependency. 1537d91
Myron Marston Ensure excon retries the right number of times.
Previously, when we were recording a cassette, the excon request being tested had a retry count, and for each of those, our hook would make a real request that was also retried that many times.
Myron Marston Ensure excon status errors are handled properly.
When you make an excon request with the :expects option, it will raise a subclass of Excon::Errors::HTTPStatusError if the response is not the expected status code.  We were manually re-raising this error before, but the excon code up the call stack* rescues all errors and raises an Excon::Errors::SocketError.  This caused the error class to be different then what it would have been otherwise.  Instead, we want to return the raw response (i.e. no expects error), and we let excon transform this in to a status error.

Jan 23, 2012
Myron Marston Delete some more excon options. e37dfa1
Myron Marston Fix specs failing on 1.8.7 on travis. 70b3127
Myron Marston Update rspec to 2.8 final. bfb3a4d
Jan 25, 2012
Myron Marston Add comments for the last 2 undocumented methods.
Yard doesn't actually show these comments (see lsegal/yard#428), but I want to ensure I keep up documentation coverage, and getting to 100% and making it part of the build is a nice step towards that.
Myron Marston Add yard coverage as part of travis build. 1837757
Myron Marston Remove override that's not needed. 8510d8f
Myron Marston Rename method.
This aligns it with the exception name.
Myron Marston Ensure yard installs on travis.
On travis, bundler runs "--without extras".
Jan 26, 2012
Myron Marston Ensure the request body gets recorded with FakeWeb/Net::HTTP.
For some reason, Net::HTTP provides `request_body` (passed as an extra argument) and `request.body` on the request argument...and sometimes the request body is on one or the other.

Closes #127.
Myron Marston Fix travis build on 1.8.7.
We can't count on hash ordering on 1.8.
Myron Marston Update changelog. e0d3a4f
Jan 27, 2012
Myron Marston Less meta in the gemspec. 51f6146
Myron Marston Update cucumber and aruba. e7dc0a9
Myron Marston Remove env vars that aruba now sets for JRuby. b37e593
Myron Marston Install simplecov. 133bf59
Myron Marston Remove version checking shared specs.
These don't provide much benefit, and the fact that they were reloading files messes with simple cov.
Myron Marston Refactor specs to not use code reloading.
Code reloading messes up simplecov.
Myron Marston Add another simple cov filter. ae6f413
Myron Marston Move simplecov config into spec_helper. c4f44f8
Myron Marston Remove rcov. 55accc4
Myron Marston Fail the build if test coverage is too low. bd3dc79
Jan 28, 2012
Myron Marston Install simplecov on all platforms.
It won't work on all platforms but I believe it's designed to no-op on platforms it doesn't work on.
Myron Marston Fix check_code_coverage task. 9ce3d16
Myron Marston Update copyright years. 59dd56c
Myron Marston Remove unnecessary require. 5dc886b
Myron Marston Brought back #has_interaction_matching?
This is going to be needed for the typed request hooks, to allow a WebMock/Typhoeus after request hook to figure out if the request was stubbed without consuming an interaction.
Myron Marston Use a development version of webmock, and update Curb.
The latest WebMock no longer works with older curb releases.
Jan 30, 2012
Myron Marston Set the type of request for the before/after request hooks.
For #124.
Myron Marston Use delegation so the assigned type doesn't bleed to other contexts. e130752
Myron Marston Refactor fiber aware to use delegation rather than an extension module. 8f84e26
Myron Marston Add query interface to VCR::Request::Typed. 2233ea8
Myron Marston Refactor hooks for greater flexibility. c9944d3
Jan 31, 2012
Myron Marston Ensure cukes run with bundler-managed gems on the load path. 1756b3d
Myron Marston Add cukes and docs about before/after hook filtering. 27b4bc3
Myron Marston Rubygems has to be required before rspec/expectations on 1.8. 4c9db34
Myron Marston Fix spec that was failing on 1.8. cbd3c14
Myron Marston Fix ruby warning. 6080d72
Myron Marston Fix build.
On REE I get a warning: "Object#type is deprecated; use Object#class", which fails the build since I've got the capture warnings thing going.
Myron Marston Support multiple tags. 3e903f2
Myron Marston Simplify how the update_content_length_header option works. 1a9370a
Myron Marston Extract HTTPInteraction hook aware logic. fbf2506
Myron Marston Update some documentation. d4ee444
Myron Marston Fix failing test. 1ce6aaf
Myron Marston Copy cassette option docs with a "see" directive. 7cd7121
Myron Marston Fix method implementation to match signature. 99296a3
Myron Marston More doc fixes. 32d09cf
Myron Marston Make parameter optional. ea9656e
Feb 01, 2012
Myron Marston Don't query the http interaction list so many times. a6c3a0c
Myron Marston Fix ivar not initialized warning. 589bee4
Feb 02, 2012
Myron Marston Fix typo. df30aa7
Myron Marston Add missing specs for new hooks method. a5eba88
Myron Marston Documentation fixes. e354003
Myron Marston First pass at debug logging.
For #132.
Myron Marston Skip cuke on 1.8 to fix build.
We can't count on consistent hash ordering on 1.8.
Feb 04, 2012
Myron Marston Update WebMock to version that supports Excon. 61f4ff0
Myron Marston Disable WebMock's excon adapter in our excon hook. 5e9ae62
Myron Marston Simplify the way we ensure the typhoeus/webmock hooks don't interfere…
… with each other.
Myron Marston Got tests to pass for WebMock's new Excon adapter. f6a6798
Myron Marston Update sinatra and rack dependency.
We need to disable rack-protection so that there aren't extra headers such as X-Frame-Options.
Myron Marston em-http-request apparently allows nil request headers. f9dfc44
Myron Marston Add VCR.js to readme. 92d3aaf
Myron Marston Fix localhost server to properly shutdown.
The INT signal handler in rack 1.1 has moved to the rack binary, so we need to add it ourselves now.
Myron Marston Get yard coverage back to 100% so the build passes. b826b93
Myron Marston Update Changelog. 2062381
Feb 08, 2012
Myron Marston Flesh out
Closes #131.
Feb 10, 2012
Myron Marston Allow filters to be used with `around_http_request` hook. 6819297
Myron Marston Simplify example. 4eca724
Myron Marston Deep structural stubs are a problem. a973773
Feb 12, 2012
Myron Marston Fix typo. e0c462d
Myron Marston Add additional files to yard listing. 940d764
Myron Marston Add rake task to boot the test app. 283a1bf
Feb 14, 2012
Myron Marston Use markdown format for yard comments. 7824d07
Feb 15, 2012
Myron Marston Add link to TapeDeck.js to README. 78db8f1
Feb 18, 2012
Myron Marston Be a bit more liberal about how we parse headers for curb and em-http. 844cb74
Myron Marston Force the usage of syck in some cukes to get the travis build green.
The just released 1.9.3-p125 includes an updated psych that apparently behaves differently from the one in 1.9.3-p0 and 1.9.2.  It serializes any string that is tagged with the ASCII-8BIT encoding as a binary string (using base64 encoding) even if the string is ASCII-7BIT compatible.
Feb 19, 2012
Myron Marston No more pending specs!
The latest WebMock includes a fix that makes HTTP Client pass this spec.
Myron Marston Got travis yml file to pass travis lint. 88b4d9d
Feb 20, 2012
Myron Marston Update webmock dependency now that 1.8.0 is out. 580f827
Feb 21, 2012
Myron Marston Add preserve_exact_string_bytes config option.
For #74.
Myron Marston Migrate call the cucumber cassettes to updated format.
The cassette format now includes the encoding of the request and response body.
Myron Marston Make the lack of forced encoding explicit. 9fe1ba2
Myron Marston Add additional info about encoding issues. bcacd1f
Myron Marston Pass the entire HTTP message to the preserve hook.
This provides additional flexibility; the user may want to check the encoding specified in an HTTP header.

Also, I'm passing the current cassette as an optional yielded param as well.
Myron Marston Allow multiple preserve_exact_body_bytes hooks.
This will pave the way to make it easy to support a cassette option for this feature.
Myron Marston Ensure VCR.current_cassette is accurate during VCR::Cassette#eject.
This is needed for the preserve_exact_body_bytes hook.
Myron Marston Add new :preserve_exact_body_bytes cassette config option. befc480
Myron Marston Make VCR::Normalizers::Body::ClassMethods private. cb5bf03
Myron Marston Update relish nav. 9c3daab
Myron Marston Remove :focus. 9c7622a
Myron Marston Append info about the preserve bytes option to serialization encoding…
… errors.
Myron Marston Try to re-encode bodies as their original encoding, printing a warnin…
…g when that fails.
Myron Marston Use the base class of all encoding errors. 550a58e
Myron Marston Fix build on 1.8. a4e2353
Myron Marston Setup limited red. 6459cad
Myron Marston The specs require simplecov, so let's make it a proper dev dependency. 59d3b99
Myron Marston Skip yajl test on jruby since it requires native dependencies. a45d1ee
Myron Marston It's simplecov, not simple_cov. 6d435d1
Myron Marston Try building against some other rubies.
[ci skip]
Myron Marston Words. 994a236
Feb 22, 2012
Myron Marston Don't load limited red in the CI environment. It needs the API key to…
… work.
Myron Marston Use latest Excon. 9380ddb
Feb 23, 2012
Myron Marston Release 2.0.0.rc2. 618a581
Myron Marston yajl-ruby can't install on jruby 19 mode. ae138db
Feb 25, 2012
Myron Marston Rearrange code a bit so the main APIs are first. c857d4d
Myron Marston Add logging of filter_sensitive_data hooks.
This should help with troubleshooting #137.
Myron Marston Add logging about the re_record_interval behavior.
Closes #123.
Myron Marston Add quality spec that enforces whitespace policy. d34b6f7
Myron Marston Remove unnecessary code causing a warning on 1.9.3.
/home/vagrant/builds/myronmarston/vcr/spec/quality_spec.rb:6: warning: setting Encoding.default_external
Myron Marston Update em-http-request dependency. b4fcf22
Myron Marston Fix scenario to use new em-http-request 1.0 APIs. c130bc5
Myron Marston rbx-18mode is passing on travis; add ruby-head. 1c11b66
Myron Marston Update changelog. 5bf57c1
Feb 26, 2012
Myron Marston Don't worry about stripping standard port from URIs on playback.
The standard port only needs to be stripped during recording; for playback, it will have already been stripped.  This allows people to use the `filter_sensitive_data` option in a way that changes the URI; before this change, doing so resulted in `URI::InvalidURIError`.

Closes #137.
Myron Marston Add rbx-18mode back to the list of allowed failures.
Removing it was premature, apparently.  I got a bunch of random cuke failures on travis all of a sudden.
Myron Marston Update changelog.
[ci skip]
Feb 29, 2012
Myron Marston Explicitly require faraday middleware from library hook.
This ensures that the version checking happens. Previously, if you did `hook_into :faraday` but were on an older version that doesn't support the middleware `lock!` API, the middleware would never be loaded and the version checking would never take place.
Mar 01, 2012
Myron Marston Explicitly support newly released Excon 0.10. 2aeea4a
Mar 02, 2012
Myron Marston Update changelog. 8d356b1
Myron Marston Run tests against Faraday 0.8.0.rc2. 72332bf
Myron Marston Update README.
[ci skip]
Myron Marston Add note to upgrade document about change in the :uri matcher.
[ci skip]
Myron Marston A couple more documentation tweaks.
[ci skip]
Myron Marston Release 2.0.0! 396dd4c
Mar 03, 2012
Myron Marston Clarify a few things in the Upgrade doc. 1e1b5b0
Mar 04, 2012
Myron Marston Update limited red to version that doesn't abort if the .limited_red …
…file isn't present.
Mar 08, 2012
Myron Marston Add link to REST-assured and re-organize library links. ca6abe8
Mar 09, 2012
support for naming cassettes automatically according to the current s…
…cenario's name using the :use_scenario_name option when creating Cucumber tags
Myron Marston Give credit where credit's due. 0d01bfd
Myron Marston Fix ruby warnings ("useless use of == in void context").
This should hopefully make the build green again.
Myron Marston Some file systems (like linux) aren't case sensitive.
OS X is though, so this passed for me but failed on travis.
Mar 10, 2012
Myron Marston Fix another place where case-sensitivity matters on Linux. 748d6c2
Mar 13, 2012
Mislav Marohnić allow bundler 1.1 9e49c5b
Mislav Marohnić add cassette option to decode compressed response before recording
When the option is used, "gzip" and "deflate" respones are decompressed
using Zlib before recording, making the serialized data readable and


  VCR.use_cassette(:example, :decode_compressed_response => true) do
    # ...
Myron Marston Got decompress.feature to pass on 1.9.2.
- An extra line break is needed; otherwise, the appended content gets smashed against the "end" from the existing content, with no line break.
- Normalize quotes to singles ('). On 1.9.2p290 I was getting a failure because psych was serializing content length as `"43"` rather than `'43'`.
Myron Marston Use a vcr error for unknown content encoding. c1a4f55
Myron Marston Document new :decode_compressed_response option. a08448c
Myron Marston Update Changelog. a96f0aa
Myron Marston Add missing require.
Other things in VCR load this but when I ran this spec file on its own it failed because it wasn't loaded.
Myron Marston Lock em-http-request to version that works with WebMock 1.8.2.
em-http-request 1.0.2, just released today, breaks WebMock's em-http-request adapter.  There's a pull request to get it fixed in WebMock[1], but for now it's simplest to lock to 1.0.1.

[1] bblimke/webmock#168
Myron Marston limited_red can't install on 1.8.7 due to being build with psych. edf58a2
Myron Marston Upgrade to rspec 2.9.0rc2. 8ef5b0e
Myron Marston Get structs_spec.rb to pass on 1.8.7. 114e6bc
Myron Marston Set file type of a few cuke sections for syntax highlighting on relish. 986557c
Myron Marston Use syck since psych on 1.9.3p125 emits ASCII-8BIT strings as binary.
That was causing these scenarios to fail on travis on 1.9.3.
Myron Marston Revert "Upgrade to rspec 2.9.0rc2."
This reverts commit 8ef5b0e.

VCR's specs aren't passing on 2.9.0.rc2 :(.
Mar 14, 2012
Myron Marston Handle limited red not being installed. e0034eb
Myron Marston Re-upgrade to rspec 2.9.0.rc2.
On 2.9, metadata filter lambdas are only invoked if the named key is present in the metadata hash, so the old way we made :skip_vcr_reset work is no longer supported.
Myron Marston Upgrade to limited red 0.3.9, which fixes the 1.8.7 issues. 07ad209
Mar 15, 2012
Myron Marston Test against new webmock, excon and em-http-request releases. 4a3ed8b
Mar 18, 2012
Myron Marston Don't try to encode to a nil encoding.
This should allow cassettes recorded on 1.8 to work on 1.9.

Closes #149.
Myron Marston Update Changelog.
[ci skip]
Myron Marston Ignore rubinius artifacts. 9765851
Myron Marston Work around rubinius bug. f26ac93
Mar 22, 2012
Myron Marston We need the rubinius fix here in the cukes, too. 022a010
Myron Marston Just force encode to ASCII-8BIT.
Encoding to ASCII-8BIT is nonsensical since it just means "binary".
Myron Marston RSpec 2.9.0 is out. 4872438
Myron Marston Only uses simplecov on MRI 1.9.
Rubinius in 1.9 mode has problems with it:

Myron Marston Excon 0.13 is out and VCR works fine with it. cbacaaa
Mar 23, 2012
Myron Marston Travis tweaks.
- rbx 18 mode is passing consistently now.
- Don't bother with ruby head; I'm not paying attention to it and it just wastes travis resources

[ci skip]
Mar 28, 2012
Myron Marston Fix faraday middleware so that it plays back parallel requests properly. 2098a95
Mar 29, 2012
Myron Marston Remove unneeded .document file. 9c0caee
Apr 01, 2012
Ezekiel Templin Remove explicit definition of parallel_manager 835be52
Myron Marston Add @ezkl to list of contributors in the readme. 0714dbd
Apr 02, 2012
Myron Marston Raise a helpful message if #use_cassette is called with no block.
Previously, doing so would raise a confusing error:

  NoMethodError: undefined method `arity' for nil:NilClass
Apr 06, 2012
Myron Marston Remove unused method. 5677f88
Apr 18, 2012
Myron Marston Add link to codeclimate. b5f78ea
Myron Marston Update Changelog to reflect 2.0.1 release. 1977f87
Myron Marston Fix readme.
[ci skip]
Myron Marston 2.1.0 release.
[ci skip]