0.1.4 • Published 8 years ago
ember-service-worker-request-chaos v0.1.4
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-chaosDefine 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-chaosyarn install
Running Tests
yarn test(Runsember try:eachto test your addon against multiple Ember versions)ember testember test --server
TODO
- Configure to only include in development environment