トップ «前の日記(2009-03-21) 最新 次の日記(2009-03-24)» 編集

Ussy Diary


2009-03-22

[Cubby]テストケースで TokenValidator を利用した検証をクリアする

遊びで Cubby を使ったアプリケーションを作っています。

そのアプリケーションの中で CSRF および二重サブミットを防止するためのひとつの解決策として TokenValidator を利用しています。この Validator は Action クラスのテストでも当然検証され、テストに通過しません。これは通過するためのやっつけコードです。

protected void setupToken() {
    String token = "fake token";
    getRequest().addParameter(TokenHelper.DEFAULT_TOKEN_NAME, token);

    Map<String, String> tokenMap = new HashMap<String, String>();
    tokenMap.put(token, null);

    getRequest().getSession().setAttribute(ATTR_TOKEN, tokenMap);
}

setUpXXX か processAction を実行する前に呼び出せば validator は通ります。