本来の使い方ではないかもしれないが、current_server.ssh_execコマンドの使い勝手が良く、一通りのテストを実装することはできた。ただ、標準機能以外のテストを実施するには、実行するコマンドと確認方法を自分で考える必要がある。実際には、機能を確認するコマンドやその出力結果はディストリビューションやバージョンごとに異なることが多い。Serverspecの標準で提供されているdescribe xxxxのリソースは、その差異が吸収されているため、Serverspecで実装されている機能をInfratasterのurrent_server.ssh_execコマンドで実装することもなさそうである。
なお、urrent_server.ssh_execコマンドで実行されるコマンドは、"su -u ログインユーザー名" で実行されるため、rootにしかアクセス権がないフォルダや、環境変数などの問題で、rootユーザーで実行しないと動作しないコマンドで問題が発生する。今回のテストスクリプト中では "su root -c" を使うことで問題を回避している。
標準機能として、httpとsshが提供されている。今回は検証できなかったが、httpのテストではcapybaraリソースを利用することで、指定URL上でリンクをクリックした後の画面遷移の確認も行える。
さらにinfrataster-pluginを使用することでテストが行えるサービスの拡張が行える。2016年6月現在、以下のinfrataster-pluginが公開されている。
$ gem search infrataster-plugin *** REMOTE GEMS *** infrataster-plugin-chef (0.0.5) infrataster-plugin-dns (0.0.2) infrataster-plugin-firewall (0.1.4) infrataster-plugin-ldap (0.0.1) infrataster-plugin-memcached (0.1.3) infrataster-plugin-mysql (0.2.0) infrataster-plugin-pgsql (0.1.1) infrataster-plugin-redis (0.1.1) infrataster-plugin-ssl_certificates (0.0.3)
Copyright © ITmedia, Inc. All Rights Reserved.