Serverspecでmysql-serverの設定をテストする方法

こんにちは!beardです!

RDSを使わないでEC2にMySQLをインストールして使うこともあるかと思います。
今回は、そんな場合にServerspecでmysql-serverのテストをできるようにしてみます。

Serverspecのインストールと基本的な操作については、過去の記事『Amazon OSS編~Serverspecパート①~』をご覧ください。

1. まずAmazonLinuxのEC2にmysqlをインストールして設定します。

2. serverspecでこれらの設定を確認します。

ディレクトリ構成とRakefileとspec_helper.rbは「Serverspecでサーバ情報をファイルに保存してテストする方法」の記事と同じです。

mysql.ymlの内容

mysql_spec.rbの内容

3. このようにファイルを変更した後、「rake spec」コマンドでテストを開始します。

4. 解説
今回の特徴としては/etc/my.cnfのテストです。
ここでは[mysqld]からファイルの最後までの間にcharacter-set-server = utf8の記述があることを評価しています。
また、ファイルの権限もテストしておきます。

いかがでしたか?
なんらかの理由でRDSを使わない場合はこういった方法も必要です。

次回もお楽しみに!!