2016/05/11

QA用にサーバを不安定にする Plack::Middleware 書いた

スマホクライアントのテストにおいて、サーバサイドでエラーが起きたときの挙動を確認する場合、サーバサイドでエラーを生み出すのに逐一設定をいじるのが面倒くさい。そこで、よしなに振る舞ってくれる Plack::Middleware::Devel::ForceResponse を書いた。QA 段階でこいつを投入してモンキーテストしてもらえば良い。

Plack::Middleware::Devel::ForceResponse

こんな感じで

builder {
    enable 'Devel::ForceResponse',
        rate => 50,
        response => [400, 500, 503]
    ;
    sub { [ 200, ['Content-Type' => 'text/plain'], ['OK'] ] };
};

50% の割合で HTTP status 400 or 500 or 503 のどれかを返す。

ちなみに、rate を 100以上に設定すると常に response のどれかを返す。

壊れかけのサーバが欲しいときに、どうぞ。

サイト内検索