v0.27.1になりました
Evolution of awspec (Gource Visualization)
リソースタイプを増やした
現在23個になっています。もう少し増やしたい。けどユースケースを考えながら追加するので、なかなか増えない。。。
AWS Advent Calendar 2015に参加した
awspec generate
という便利コマンドの実践的紹介です。
Fukuoka.rbの成果をリリースした
成果です #はてなブログ
Fukuoka.rbでエクストリームフィッシュボールをして、エクストリームな体験をした #fukuokarb - Copy/Cut/Paste/Hatena
https://t.co/v7f0pLFya4 pic.twitter.com/qbzoP9yK1p
— k1LoW (@k1LoW) 2015, 12月 11
具体的な成果
実際に何を追加したかというと、aws-sdk-rubyの Aws::Resources::Resource
を継承している Aws::EC2::Instance
などを its() {}
などで呼び出せるようにしました。
これが追加されたことで、aws-sdk-ruby を知っていれば、awspecでマッチャーが作られていないような細かい箇所についてのテストが書けるようになります。
例えばこんな感じで、
describe s3_bucket('my-bucket') do its('acl.owner.display_name') { should eq 'my-bucket-owner' } end describe vpc('my-vpc') do its('instances.count') { should eq 3 } end
ただ、そのままだと
describe vpc('my-vpc') do its('instances.batch_terminate!') { should eq '' } end
とかで、「テスティングフレームワークなのに、なぜか対象リソースを潰してしまう」という狂気が実行できてしまうので、
Awspec::ResourceReader
でAws::Resources::Resource
なオブジェクトをラップして雑なブラックリストで判定しています。(まだ抜けはありそう)
最初はホワイトリストを検討したのですが、あまりに列挙すべきメソッドが多く、また規則性がなかったので、 @udzura さんと話して、「(まあ)ブラックリストで」という感じで実装しています。
このアドバンスドな機能は、こちら の "Advanced use" の項目があるリソースタイプで利用可能です。
ロゴを作った
社内デザインコンペしたり、99designsに頼んだりしたいけど、社内にデザイナはいないし、そんなお金はないので自分でロゴを描いている。。。
— k1LoW (@k1LoW) 2015, 12月 9
自分で描いたらこんな感じになりました。
今後
実務でもどんどん投入されているので、地道に開発継続していきます。