vcr

A HTTP capture and replay implementation for crystal
0.1.0 released
spoved/vcr.cr
58 7 3
spoved

vcr

VCR for Crystal!

Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.

Installation

Add this to your application's shard.yml:

dependencies:
  vcr:
    github: spoved/vcr.cr

Usage

require "vcr"
require "http/client"

load_cassette("cassette-one") do
  response = HTTP::Client.get("https://jsonplaceholder.typicode.com/todos/1")
end

You can also record multiple requests within a single block:

load_cassette("cassette-two") do
  r1 = HTTP::Client.get("https://jsonplaceholder.typicode.com/todos/1")
  r2 = HTTP::Client.get("https://jsonplaceholder.typicode.com/todos/2")
end

To easily reset the cassette and record, simply add the :record argument:

load_cassette("cassette-two", :record) do
  r1 = HTTP::Client.get("https://jsonplaceholder.typicode.com/todos/1")
  r2 = HTTP::Client.get("https://jsonplaceholder.typicode.com/todos/2")
end

Customize the location of where the cassettes are stored. The default is spec/fixtures/vcr.

VCR.configure do
  settings.cassette_library_dir = "/some/path/cassettes"
end

Contributing

  1. Fork it (https://github.com/spoved/vcr.cr/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

vcr:
  github: spoved/vcr.cr
  version: ~> 0.1.0
License MIT
Crystal 0.25.1

Authors

Dependencies 1

  • habitat master
    {'branch' => 'master', 'github' => 'luckyframework/habitat'}

Development Dependencies 0

Dependents 4

Last synced .
search fire star recently