Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
  • 250 commits
  • 136 files changed
  • 4 contributors
Jan 16, 2011
Myron Marston Improve full build output. 5cdbba3
Jan 21, 2011
Myron Marston Ensure headers get serialized as raw strings.
Closes #39.
Myron Marston 1.5.1 release. be6672d
Myron Marston Fix spec doc strings. fd41836
Myron Marston Clean up VCR.version. c9d9bca
Myron Marston Refactoring: extract private method. 44acf01
Jan 31, 2011
Myron Marston Update benchmarks. 356eca4
Myron Marston Updated typhoeus to latest 0.2.1 release.
The latest includes a new ignore_hosts option.
Myron Marston Extract some logic into new method: VCR::Config.uri_should_be_ignored? ee52fa8
Myron Marston Remove #ignore_localhost? from the http stubbing adapters. 7b6c9f3
Myron Marston Add new VCR::Config.ignore_hosts option. bf907f7
Myron Marston Add deprecations.
The following are deprecated:

- VCR::Config.ignore_localhost?
- VCR::HttpStubbingAdapters::{FakeWeb,WebMock,Typhoeus,Faraday}.ignore_localhost?
- VCR::HttpStubbingAdapters::FakeWeb::LOCALHOST_REGEX
Myron Marston Refactoring: extract regex construction into module. bd4f25b
Myron Marston Add cuke for new ignore_hosts configuration option.
Closes #30.
Myron Marston Clean up set construction. e94e616
Myron Marston Add cuke demonstrating Net/HTTP usage over HTTPS. 3a5100d
Feb 03, 2011
Myron Marston Split structs.rb (and structs_spec.rb) into separate files for each c…
…lass and module.
Myron Marston Fix require (no more vcr/structs file). b5c66b2
Myron Marston 1.6.0 release. de8c689
Feb 07, 2011
Myron Marston Ignore Gemfile.lock. 5f3c8a3
Myron Marston Lock aruba version. f602a2a
Feb 08, 2011
Myron Marston Use latest version of ruby-debug on 1.9.2. 6b6d19c
Myron Marston Update RSpec. fccbf7e
Myron Marston Fix VCR::Request#method so that it delegates to Object#method when gi…
…ven arguments.
Myron Marston Use Psych if it is available.
Syck (the default YAML engine) modifies strings when they are
round-tripped through it: "1/n /n2" becomes "1/n/n2".  Psych doesn't.

This doesn't usually matter, but can occasionally cause problems when
using an HTTP client that raises errors when the content_length header
does not match the actual content length (as does Mechanize).

To use psych, you may need to reinstall ruby 1.9.2 with psych support.
On OSX with homebrew and rvm, this will do the trick:

brew install libyaml
rvm install ruby-1.9.2 --with-libyaml-dir=/usr/local

For more info, see the following:

Myron Marston Document known issue with syck. fbc1fac
Myron Marston Favor polymorphism over ternary operator. 3639d0b
Feb 09, 2011
Myron Marston Fix VCR::HttpStubbingAdapters::FakeWeb.stub_requests so that it handl…
…es empty headers.
Myron Marston Add new :update_content_length_header cassette option. 1e2e011
Myron Marston Update changelog. d66f924
Myron Marston Add new :once record mode.
Closes #44.
Myron Marston Re-organize description of record modes. f840dc3
Myron Marston Make the new `:once` record mode the default. 2f62c03
Myron Marston Update changelog. 8ca9b67
Myron Marston Update gem description. 78a8028
Feb 11, 2011
Myron Marston Use a more straightforward way to delegate to Object#method. 55fab3b
Myron Marston Move hooks.rb into util directory. 3b0e037
Myron Marston Move cucumber and rspec support into new test_frameworks directory. d9b2f33
Myron Marston Extract deprecations into separate files for each class. 426ac36
Myron Marston Use an explicit lambda in some specs so that we properly test variabl…
…e args.

Blocks can already accept a variable number of args, but lambdas raise an error.  We should use a lambda so we can test it properly.
Myron Marston Unify handling of a variable number of args for a block into a reusab…
…le module.
Myron Marston Move all shared example group definitions into a directory. a8d61d8
Feb 12, 2011
Myron Marston Words. ea6933b
Myron Marston Add note about release policy using semantic versioning. d84800a
Feb 16, 2011
Myron Marston Ensure the cassette_library_dir is isolated for all specs.
Trying to get builds to pass on exposed some ordering dependencies between specs because of this setting.
Myron Marston Use metadata instead of #disable_warnings macro method. 983c148
Myron Marston Use metadata rather than #without_webmock_callbacks macro method. f30f2dc
Feb 17, 2011
Myron Marston Use metadata rather than #without_monkey_patches macro method. c217a7d
Myron Marston Use a shared example group rather than a macro method. 17926de
Feb 19, 2011
Myron Marston Setup build for
- Lock patron to 0.4.9.  On, my build failed because the newest patron uses a version of libcurl to new for the debian installation it uses.
- Setup ci:build.
Feb 24, 2011
Myron Marston Fix shared example group so it works on rubinius.
I was getting "unexpected return (LocalJumpError)".
Feb 27, 2011
Myron Marston Add travis build icon. acb9c52
Myron Marston Add new filter_sensitive_data configuration option.
Closes #38.
Myron Marston Match on headers to demonstrate that the header gets set back to the …
…original value before playback.
Myron Marston Update changelog. 06cf3f6
Myron Marston Lock curb to 0.7.8 as the latest version (0.7.12) seems to be having …
…issues installing through bundler.
Myron Marston Add support for 1aa5b6d
Myron Marston Add require so that users who required 'vcr/rspec' before still get v…
…cr loaded.
Feb 28, 2011
Myron Marston Allow specs to run when the code is not checked out through git.
The presence of `git` commands in my gemspec prevents bundler from being usable for `gem test vcr`.  This fixes the issue.
Myron Marston Don't configure rspec to use debugger when running tests through `gem…
… test vcr`.
Myron Marston Update changelog. fd67425
Myron Marston Use separate Before/After hooks rather than a single Around hook.
Unfortunately, cucumber doesn't run background steps within the Around hook.

Closes #45.
Mar 01, 2011
Myron Marston Update Changelog. 8050f83
Myron Marston Extract deprecation code into the lib/vcr/deprecations directory. d045a93
Myron Marston Rename relish doc. 851b83b
Myron Marston Add readme, changelog and license to relish docs. 284494f
Myron Marston Adding getting started document. 6435062
Myron Marston Link to relish instead of wiki. aab8b57
Myron Marston Fix failing cuke on JRuby. ef249d1
Myron Marston We shouldn't define Ping at the top level. c178cb0
Myron Marston Add list of supported ruby interpreters to README. 9329f89
Myron Marston Use proper constant. 508efd0
Myron Marston 1.7.0 release. 1467ebb
Mar 02, 2011
Myron Marston Fix readme links. bd013c9
Myron Marston Fixes for relish. 5bd3bff
Myron Marston Use "And" instead of second "Given". b19a93f
Myron Marston Fleshed out cassette format outline. fb6dbaa
Mar 05, 2011
Myron Marston Fix faraday middleware to handle nil response headers. 0131853
Myron Marston Fixed net/http adapter.
URI#request_uri should be used rather than URI#path, since #request_uri includes query params but #path does not.
Myron Marston Fix faraday adapter so that it properly normalizes query parameters. 0d4d9f5
Myron Marston Fix broken cukes.
We can't have different adapters return different values for #normalize_uri because it breaks when you stub with multiple libraries.
Mar 19, 2011
Myron Marston 1.7.1 release. 0022cf7
Mar 24, 2011
Myron Marston Add rvm rubies to travis build. e875ddc
Mar 25, 2011
Myron Marston Don't build so many rubies. Travis seems to have gotten confused. f189e62
Mar 26, 2011
Myron Marston Ensure that header values are the same when recording and replaying.
- Typhoeus would have a single header value like 'text/html' when recording, but it was in an array on playback ['text/html'].
- Faraday headers are returned with lower case keys, and I was not handling this properly at all.

There are a few adapter/http library combinations that do not work properly when there are multiple values for one header:
- Faraday/Patron
- WebMock/HTTP Client
- WebMock/EM HTTP Request
- WebMock/Curb

I think this is due to a bug in those libraries.  I could change the way I pass headers to Faraday and WebMock, but that would break the other libs used with Faraday and WebMock (i.e. Faraday/Net::HTTP or WebMock/Net::HTTP) so I think it's best for now to just leave these pending.

Closes #50.
Myron Marston Update to em-http-request 0.3.0.
This fixes some specs that were previously pending due to a bug in em-http-request.
Myron Marston 1.7.2 release. 717d7c8
Mar 31, 2011
Myron Marston Update to Faraday 0.6. fb156a7
Myron Marston 1.8.0 release. 487332d
Apr 01, 2011
Myron Marston Fix spec to use https like the doc string says. 239f744
Apr 04, 2011
Myron Marston Fix synopsis example. has changed :(.
Apr 06, 2011
Myron Marston I've been told travis supports all these rubies let's try bu…
…ilding against them all.
Apr 08, 2011
Myron Marston Add some test cases for https requests. fb9d0f7
Myron Marston Use local tmp folder rather than Dir.mktmpdir for spec isolation.
On travis, the jruby build is failing every spec with an error like "Permission denied - /tmp/d20110408-13741-ptyay/."  This should fix it.
Myron Marston Fix spec so it passes on JRuby on travis.
On travis, JRuby is having permission denied errors for Dir.mktmpdir.
Myron Marston Fix spec so we don't create a 'spec..' dir on accident. 28d8916
Myron Marston Don't run em-http-request tests on travis on 1.8.6.
On travis, we're getting a weird error like:

ruby: symbol lookup error: /home/travis/.rvm/gems/ruby-1.8.6-p420/gems/em-http-request-0.3.0/lib/ undefined symbol: rb_hash_lookup
Myron Marston Lock linecache19 to a version that can install on 1.9.1 and 1.9.2. ded5cf1
Apr 09, 2011
Myron Marston Ignore leading and trailing whitespace for YAML fragment matching step. e2adda0
Apr 12, 2011
Myron Marston Install excon. 4cff3f5
Myron Marston Add beginnings of Excon adapter. 1b135e5
Myron Marston Check Excon version. b3e0b9c
Myron Marston Implement excon http adapter module. 38346fd
Myron Marston Implement Excon adapter. 92786a7
Myron Marston Add excon to cukes. 46341a1
Myron Marston Add excon info to readme. 0eef043
Myron Marston Update to Excon 0.6.1. 7bc841a
Myron Marston Fix spec so it doesn't create a cassette_lib directory in the project…
… root.
Myron Marston Fix cassette/format.feature cuke for excon.
Excon doesn't expose http_version or status.message so these are set to nil.
Myron Marston The excon adapter doesn't yet support regex URIs. 3b040aa
Myron Marston Remove travis status icon.
The build has been very unstable on travis recently (even though it passes fine locally) so there's no point in advertising the "unstable" travis status.
Apr 14, 2011
Myron Marston Upgrade excon to 0.6.2. 4c10172
Myron Marston Remove jruby stuff from full build--I can't get jruby to work with th…
…e full build :(.
Myron Marston 1.9.0 release. ab598a7
Myron Marston Lock addressable to 2.2.4--2.2.5 has some regression errors.
See sporkmonger/addressable#33 for more info.
Apr 18, 2011
Myron Marston Build just 1.8.7 for now. 8f3f960
Apr 20, 2011
Myron Marston Fix header normalization to properly handle nested arrays and non-str…
…ing values.

Closes #40.
Apr 21, 2011
Myron Marston Fix synopsis description. 89b3403
Apr 24, 2011
Myron Marston Curb uses the Curl namespace.
(thanks @phiggins!)
Apr 25, 2011
Myron Marston Add cassette naming cuke that documents the fact that VCR sanitizes c…
…assette names.
Myron Marston Lock relish to 0.2.2 since 0.2.3 has a jruby-openssl dependency.
This dependency causes issues since bundler puts it on the load path.

Closes #57.
Myron Marston Remove spec focusing I accidentally left before. bdd8e95
May 05, 2011
Myron Marston Use new github markdown syntax features. aa61962
Myron Marston Relax relish version constraint now that jruby-openssl isn't a depend…
Myron Marston Fix capitalization of cassette name.
This cuke should hopefully pass travis now.
Myron Marston Now that the 1.8.7 travis build is passing, let's try against other M…
…RI rubies.
Myron Marston Don't enable debugging on 1.9.1.
For some reason I'm getting an error on travis for `config.debug = true` even though it works fine locally.
May 06, 2011
Myron Marston Remove obselete reference to ba1ce1f
May 10, 2011
Justin Smestad Allow cassette insertions to be ignored while VCR is turned off. 1f3c02c
Myron Marston Cleanup new :disable_cassette_errors option.
- Rename it to :ignore_cassettes--I think this is more intention-revealing.
- Ensure `insert_cassette` does not actually insert a cassette when VCR is turned off with :ignore_cassettes => true.
- No need for `use_cassette` to handle this since `insert_cassette` handles it properly now.
- Add additional specs.
- Fix cassette insertion error message so it mentions the new
  :ignore_cassettes option.
Myron Marston Add scenarios to document new :ignore_cassettes option.
Closes #56.
Myron Marston Update changelog. 7613284
Myron Marston Raise an argument error when `VCR.turn_off!` is passed invalid options. 660267f
May 11, 2011
Myron Marston For the cucumber cuke, pull the server code into a separate file to h…
…opefully make it clearer that vcr_cucumber_helpers is not a file for end users to require.

See for more details.
Myron Marston Update contributors. b466443
Myron Marston Fix rack middleware so that it is threadsafe.
VCR as a whole is not designed to be threadsafe (running your tests in multiple threads is asking for trouble), but the rack middleware needs to be, since some rack servers (like WEBrick) are multithreaded.

Closes #58.
Myron Marston Use a mutex rather than Thread.exclusive.
I'm getting errors from the rack middleware cuke on 1.8 w/ the Thread.exclusive.
May 12, 2011
Myron Marston Only build 1.9.2 so I can focus on the one failing ruby. fd9fa29
Myron Marston Focus on just one failed cucumber scenario with logging output so I c…
…an see what's going on on travis.
May 14, 2011
Myron Marston Update rspec to latest. f52b13a
Myron Marston Make webrick logging visible on CI but not locally. 7be1de9
Myron Marston Use ci tag rather than wip for travis. b26c536
Myron Marston Ensure rack response body responds to each. 4453e92
Myron Marston Don't try to boot the sinatra server multiple times. 3449849
May 15, 2011
Myron Marston For some reason, this pending spec passes on travis CI even though it…
… fails locally.
Myron Marston Run all cukes on CI.
One of the ones that was failing on 1.9.2 passes in isolation, so I want to run them all to see if there's an issue with running all of them.
May 16, 2011
Myron Marston Run against all rubies on travis.
For some reason, I got a weird error on travis when running against 1.9.2 for HTTPClient, where the response was already the body string rather than an object that responds to #content.  This fixes that as well.
May 17, 2011
Myron Marston Update addressable. ef232ea
May 18, 2011
Myron Marston Update to latest webmock. a32bc78
Myron Marston 1.10.0 release. 5fcfa61
May 29, 2011
Myron Marston fix typo d37b7f8
Jun 03, 2011
Myron Marston Allow relish docs to be re-pushed when I run "rake relish". 4db3d6e
Jun 13, 2011
Myron Marston Update Faraday to latest. 0308929
Myron Marston Github has changed their url for raw gists. 53023c2
Jun 20, 2011
Bradley option to turn off cassettes is :ignore_cassettes. error message help…
… said it was :ignore_cassette, singular. This makes it nicer when you run into this problem :)
Myron Marston Just run against 1.8.7 and 1.9.2 for now as I seem to regularly get b…
…acked up on travis.
Myron Marston Merge pull request #72 from bradleyisotope/patch-1
option to turn off cassettes is :ignore_cassettes.  error message help sa
Myron Marston Update changelog. b604625
Jul 04, 2011
Myron Marston Fix excon adapter to handle query specified as a hash.
Closes #73.
Jul 14, 2011
Myron Marston Upgrade excon to latest. 113487e
Wesley Beary [excon] stubbed_response should return hash instead of struct 2b7ed5f
Myron Marston Update changelog. 2659fd5
Jul 15, 2011
Myron Marston Add spec for excon's streaming API. 00f50c2
Myron Marston Fix excon adapter so that it records a response even when excon raise…
…s an error due to an unexpected response.

Closes #77.
Myron Marston Update excon version requirement to 0.6.5. 042a1b5
Jul 16, 2011
Myron Marston 1.10.1 release. 7573d96
Myron Marston 1.10.2 release.
Botched 1.10.1 by building gem on 1.9.2 with psych :(.
Jul 21, 2011
Myron Marston Add recent contributors to readme. d78791e
Myron Marston Handle case where body is nil.
Closes #79.
Myron Marston 1.10.3 release. d62fe13
Aug 15, 2011
Myron Marston Use latest webmock (1.7.0). 407b74e
Myron Marston WebMock::Net::HTTPResponse has been renamed to Net::WebMockHTTPResponse. 1eafe63
Myron Marston Refactor monkey patch management so that they are turned off by defau…
…lt and only enabled for individual specs.
Myron Marston Fix typhoeus adapter to work with latest WebMock.
WebMock now directly supports Typhoeus; we need to disable it so there aren't conflicts.
Myron Marston Bump up the webmock minimum version. df067af
Myron Marston Remove scenario that doesn't provide much value.
Also, it was failing with the latest webmock since webmock loads typhoeus now.
Myron Marston Remove cukes from travis build.
They are very slow and may have been the source of previous travis issues.
Myron Marston Disable a spec from running on CI--it gets a stack level too deep err…
…or. I don't get it locally though--must be some weird psych issue.
Aug 17, 2011
Myron Marston Build against some other MRI rubies. 8320c22
Myron Marston Don't install a bunch of extra unnecessary gems on travis. d21b758
Myron Marston Remove extra server logging from travis CI output. 5ff5728
Myron Marston Disable RSpec debug flag for CI. 5bb86dd
Myron Marston Update travis build matrix.
- The version of cucumber I'm locked to doesn't install on 1.9.3.
- Let's try building against rbx and jruby, too.
Myron Marston Typhoeus is not available on JRuby. 0cf5a1e
Myron Marston Rubinius is getting crazy crashes on travis, so skip it for now. 698ad7d
Myron Marston Rename method so it matches what it actually does. 2349cbc
Myron Marston Extract common adapter logic. 9eacb74
Myron Marston WebMock 1.7.4 is out. abb8be9
Myron Marston Lock linecache to the latest version that works on 1.8.6 (since we st…
…ill support 1.8.6).
Aug 18, 2011
Myron Marston 1.11.0 release. 966d8ba
Myron Marston Prevent releases on 1.9 as that leads to weird psych/syck errors in t…
…he gemspec.
Myron Marston 1.11.1 release. 5393e26
Aug 19, 2011
Myron Marston Skip httpclient cucumber scenarios on JRuby.
They are causing the cukes to freeze and provide little benefit on JRuby..
Aug 20, 2011
Myron Marston Use bundler_args rather than a conditional to exclude "extras" group …
…gems from installing on travis-ci.
Myron Marston Run the cukes on 1.9.2 on travis. f6c2ffc
Myron Marston The cukes ran fine on travis for 1.9.2! Let's build them on 1.8.7 as …
Aug 21, 2011
Myron Marston Fix localhost server to work with rubinius.
For some reason, the object_id of the rack app is different in different threads on rubinius, but not on other rubies.
Myron Marston Try building rubinius on travis now that I got it working locally. ecc9d40
Myron Marston Update to latest cucumber and aruba. 659ab15
Myron Marston Remove unneeded aruba patches. b552b07
Myron Marston Use latest aruba steps. 465d77c
Myron Marston Increase aruba timeout from default of 3 seconds to 10.
cucumber.feature takes longer than 3 seconds.
Myron Marston Fix changelog wording. 662ed74
Myron Marston Use fuubar formatter to get better test output. 6c7188d
Myron Marston It's httpclient, not http_client. 81d2246
Myron Marston The cukes take longer on JRuby, so make the timeout longer. 0713279
Myron Marston Excon is having issues on JRuby cukes, so disable it for now. b8f44f4
Myron Marston Update travis rubies.
- rbx is getting crazy fatal crash errors, so remove it.
- Let's try 1.9.3 now that we're on a version of cucumber that can be installed on 1.9.3.
Aug 24, 2011
Myron Marston Upgrade rake dependency. This should hopefully allow VCR to build on …
…1.9.3 on travis.
Myron Marston Use progress formatter for cucumber on travis. 0ac66bf
Myron Marston ruby-debug doesn't appear to be installable on 1.9.3 yet. 9797f93
Myron Marston BasicObject's instance methods include #__id__ on 1.9.3. 63ee509
Aug 25, 2011
Myron Marston Fix cukes failing on 1.9.3.
On 1.9.3, we were getting an error: "file not found: --with-server (ArgumentError)".  Apparently the test/unit option parser has changed and doesn't support an arbitrary option like "-- --with-server".
Myron Marston Build the 1.9.3 cukes on travis now that they pass. 939ba82
Myron Marston My last commit broke the test/unit and shoulda cukes on 1.8 :(.
This should (hopefully) work on 1.8 and 1.9.
Myron Marston Exclude cucumber from installing on 1.8.6 as it causes a buffer overf…
…low on travis during installation.
Myron Marston Enable ruby warnings when the specs are run with WARNINGS=true. 1dcba45
Myron Marston Use "should eq(...)" instead of "should ==" to avoid ruby warning. 8fc0f6e
Myron Marston Fix warning: "`*' interpreted as argument prefix". af5086e
Myron Marston Fix warning: "loading in progress, circular require considered harmful". bae5941
Myron Marston Fix "instance variable not initialized" warnings. 0fe1d97
Myron Marston Fix warning: "`&' interpreted as argument prefix". a450306
Myron Marston Fix uninitialized variable warning. 3ebaa96
Myron Marston Fix mis-matched indentation warning. 735500c
Myron Marston Fix method redefinition warning. db9212e
Aug 26, 2011
Myron Marston I have no idea why, but `should eq(regex)` is causing a seg fault on …
…1.8.6 but this way doesn't.
Myron Marston Fix uninitialized ivar warning. 7e2ef02
Myron Marston Setup warnings as part of the build.
- Always run specs with warnigs enabled.
- Fail the build if there are warnings from VCR's code.
- Capture the warnings and print it on exit so the output is cleaner.
Myron Marston Silence method redefinition warnings. 7eedbc8
Myron Marston Fix uninitialized ivar warnings. edc2b5f
Myron Marston Enable warnings on travis, too. d8a5b21
Aug 27, 2011
Myron Marston Close our temporary file. 29e99aa
Aug 28, 2011
Myron Marston Update patron and curb dependencies. 1a5a770
Myron Marston Fix uninitialized ivar warning. ef6007c
Myron Marston Fix "unused variable" warnings on 1.9.3. bc012fd
Myron Marston Filter out warnings that JRuby wrongly reports as coming from VCR tha…
…t are actually coming from excon.
Myron Marston 1.11.2 release. 76c8d2b
Aug 31, 2011
Myron Marston Ensure that VCR::HTTPInteraction does not serialize `@ignored` since …
…it's transient state.
Myron Marston Convert pseudo-regexps to real regexps. 8545f21
Myron Marston 1.11.3 release. 0544db9
Sep 03, 2011
Myron Marston Fix capture warnings hook.
It was preventing RSpec from failing the build when a spec failed by overriding the at_exit hook.
Myron Marston Build with --trace so we get a full backtrace. a2c36c3
Sep 04, 2011
Myron Marston Rubygems must be required before rspec on 1.8. 68e89ca
Sep 07, 2011
Myron Marston Latest relish and cucumber. 751bf4f
Myron Marston Tag multi-line strings with "ruby" so we get syntax highlighting on r…
Myron Marston Add note about :once as default record mode. 522ef5e
Myron Marston Use syntax-highlighted markdown code syntax. 43fea87
Myron Marston Use default record mode of :once rather than specifying it in a bunch…
… of places where it's not an important detail.
Sep 22, 2011
Myron Marston Only build master and 1-x-stable branches. c528202
Myron Marston Remove 1.8.6 build since travis no longer supports it. 05f70d1