UNPKG

@flystorage/chaos

Version:

A storage adapter decorator with the ability to stage errors.

53 lines (34 loc) 1.32 kB
<img src="https://raw.githubusercontent.com/duna-oss/flystorage/main/flystorage.svg" width="50px" height="50px" /> # Flystorage adapter for chaos engineering This package contains an adapter decorator that causes instrumented failures. ## Installation Install all the required packages ```bash npm install --save @flystorage/file-storage @flystorage/chaos ``` ## Setup ```typescript 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 ```typescript 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}); ```