Cameleon v0.1.1リリース
HTTPのスタブを作るためのフレームワークCameleonのv0.1.1をリリースしました。
Github : Cameleonv0.1.1ではポストされたJSONをバリデーションする機能を追加しました。Cameleonはgemでインストールできます。
$ gem install cameleon
使い方の詳細は前の記事を参照してください。
JSONバリデーション
v0.1.1のJSONバリデーション機能では、POSTまたはGETのHTTPリクエストボディのJSONについて、データ構造の検証を行うことができます。バリデーションのエンジンにはjson-schema gemを利用し、JSON Schema Draft 3のスキーマ定義を利用します。このバリデーション処理をするには、まず設定ファイル(cameleon.yml)に以下の内容を記載します。
validation: type: json
その上で、レスポンスフォルダにrequest.schema.jsonというスキーマファイルをおいておくと、リクエストボディにそのスキーマに適合するJSONデータが含まれない場合にはステータス500のエラーが帰るようになります。
例えば次のようなJSONを期待するインターフェイスの場合
{"a": 1}
次のようなスキーマを定義します。
{
  "type" : "object",
  "properties" : {
    "a" : {
      "type" : "integer",
      "required" : true
    }
  }
}