Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

axios-vcr

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

axios-vcr

axios-vcr is a set of middlewares for axios that allow you to record and replay requests.

  • 1.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

axios-vcr

:vhs: Record and Replay requests in JavaScript

axios-vcr is a set of axios middlewares that allow you to record and replay axios requests. Use it for reliable, fast and more deterministic tests.

Build Status

Features

  • Record http requests to JSON cassette files
  • Replay requests from cassete files
  • Multiple request/response fixtures per cassette
  • Cassette expiration logic
  • Mocha integration
  • non-global axios instances support

Installation

$ npm install --save-dev axios-vcr

Usage

Using axios-vcr is very simple. All you need to do is to provide a cassette path and wrap your axios code with axiosVCR.mountCassette and axiosVCR.ejectCassette.

const axiosVCR = require('axios-vcr');

axiosVCR.mountCassette('./test/fixtures/cats.json')

axios.get('https://reddit.com/r/cats.json').then(response => {
  // axios-vcr will store the remote response from /cats.json
  // in ./test/fixtures/cats.json
  // Subsequent requests will then load the response directly from the file system

  axiosVCR.ejectCassette('https://reddit.com/r/cats.json')
})

Usage in a test case

it('makes your requests load faster and more reliably', function(done) {
  // mount a cassette
  axiosVCR.mountCassette('./fixtures/test_case_name.json')

  myAPI.fetchSomethingFromRemote().then(function(response) {
    assert.equal(response.something, 'some value')
    done()

    // Eject the cassette when all your promises have been fulfilled
    axiosVCR.ejectCassette('./fixture/test_case_name.json')
  })
})

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/nettofarah/axios-vcr. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Code of Conduct.

To run the specs check out the repo and follow these steps:

$ npm install
$ npm test

License

The module is available as open source under the terms of the MIT License.

Keywords

FAQs

Package last updated on 17 Sep 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc