@flystorage/chaos
TypeScript icon, indicating that this package has built-in type declarations

0.1.2 • Public • Published

Flystorage adapter for chaos engineering

This package contains an adapter decorator that causes instrumented failures.

Installation

Install all the required packages

npm install --save @flystorage/file-storage @flystorage/chaos

Setup

import {FileStorage} from '@flystorage/file-storage';
import {ChaosStorageAdapterDecorator, TriggeredErrors} from '@flystorage/chaos';

const strategy = new TriggeredErrors();
const adapter = new ChaosStorageAdapterDecorator(
    createActualAdapter(),
    strategy,
);
const storage = new FileStorage(adapter);

⚠️ Always use the FileStorage, it is essential for security and a good developer experience. Do not use the adapter directly.

Usage

import {TriggeredErrors} from '@flystorage/chaos';

const strategy = new TriggeredErrors();

// error on all write calls
strategy.on('write', () => new Error());

// error on first 2 stat calls
strategy.on('stat', () => new Error(), {times: 2});

// error after first 2 deleteFile calls
strategy.on('deleteFile', () => new Error(), {after: 2});

// error on 2nd and 3rd call to any method
strategy.on('*', () => new Error(), {after: 1, times: 2});

/@flystorage/chaos/

    Package Sidebar

    Install

    npm i @flystorage/chaos

    Weekly Downloads

    60

    Version

    0.1.2

    License

    MIT

    Unpacked Size

    13.8 kB

    Total Files

    7

    Last publish

    Collaborators

    • frankdejonge