ember-service-worker-request-chaos
v0.1.4
Published
A service worker that wrecks chaos on your API requests.
Downloads
3
Maintainers
Readme
ember-service-worker-request-chaos
Often our applications talk to external APIs. Sometimes our apps talk to external APIs that ~~suck~~ are unreliable. Often, we don't test the failure cases well enough (or at all).
- What does it look like when a request to X service flakes out?
- Where could we add recovery options?
We can answer these questions with Service Workers and not have to spend time
setting up a proxy on our local machines to MITM all of our traffic. This addon
adds a service worker via ember-service-worker
to intercept specified requests
and will randomly return error responses in the 5xx
range.
Find out how well your application tolerates failure!
Runtime dependencies
Installation
ember install ember-service-worker
- (If you're not already using it)ember install ember-service-worker-request-chaos
Define some patterns to intercept in your
ember-cli-build.js
/* eslint-env node */ 'use strict'; const EmberAddon = require('ember-cli/lib/broccoli/ember-addon'); module.exports = function(defaults) { let app = new EmberApp(defaults, { 'esw-request-chaos': { // RegExp patterns specifying which URLs to wreck chaos. patterns: [ 'https://scaling.is.difficult/api/(.+)', ] } }); // [...] };
Installation for development
git clone <repository-url>
this repositorycd ember-service-worker-request-chaos
yarn install
Running Tests
yarn test
(Runsember try:each
to test your addon against multiple Ember versions)ember test
ember test --server
TODO
- [ ] Configure to only include in development environment