カラクリスタ

「輝かしい青春」なんて失かった人のブログ

言及 (2014-05-08)

Integration Testing · intridea/omniauth Wiki

概要: OmniAuth で Authentication のテストに関する有益情報です


僕は最近、プログラミングができるぐらい体調が良いときは、Ruby と OmniAuth を使ってプログラミングしていたりするんですが、そのときに、

OmniAuth のテストってどうすれば良いんだべ?

って成ってたんですが、その解決策が上記リンク先の OmniAuth の公式 Wiki に掲載されていたので、ちょっくら紹介してみます。


まあテストコードについては、上記リンク先の Wiki

Integration Testing · intridea/omniauth Wiki

を見れば一発なので、細かい所は省略しますが、やってるコトとしては、

  1. OmniAuth.config.test_mode = trueを設定して OmniAuth をテストモードにする
  2. OmniAuth.config.add_mock(:twitter, {:uid => '12345'}) という感じで Mock user を追加する
  3. あとは Rack::Test 等を使い、Rack Application のテストコードを普通に書く

という感じっぽいです。

で、これは Rack::Test はどうも Redirect を自動で行わない(たぶんリダイレクト先が正しいかテストできるようにするためっぽい)ため、 Rack::Test にリダイレクトさせたい場合は、

  • follow_redirect!

を呼んでやる必要が有ったりします。んで僕は最初それを知らなくてハマりました。ちょっとだけなんだけど。

それで、あとの Rack Application のテスト方法なんかについては、まあ普通に Rack::Test 辺りの使い方を探ればいいんじゃね? とか思います。


というコトで本日の有益情報は以上です。

で、ちなみになんかすごく久しぶりに真面目にプログラミングネタ書いた気がしております。最近体調悪くてプログラミングどころじゃなかったからね。今日も体調はあんまりよろしくないんだけれども。

あと、最近ピアノの練習をし始めました。ブランクはおよそ 14 年。小学校卒業した以来です。まあなんでピアノの練習してるかっていうと、アレだ、DTM のリアルタイムレコーディングで、音合わせでき NEEEEEEE!!!というのが主な理由。今はハノンの一番最初のヤツを 60BPM で練習しております。スゲー下手になってるけど。

まあそんな感じで。

以上、OmniAuth に関する有益情報と近状報告でした。まる。

FIXME