Tags

By year

  1. 2014 (28)

Infrataster 補講

Infrataster Serverspec Ruby

Posted on May 9


はじめに

Infratastermysql_query リソースを試してみた。



参考

mysql_query リソースはプラグインとして提供されている。尚、引き続き、以下を参考にさせて頂く。



memo

以下、メモ。


環境

  • CentOS release 6.5 on AWS EC2
  • ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-linux]
  • mysql-server-5.1.73-3.el6_5.x86_64

インストール

以下のように Gemfile を用意。

source 'https://rubygems.org'

gem 'infrataster'
gem 'infrataster-plugin-mysql'

bundle install して終わり。


spec_helper

spec_helper.rb は以下の通りに用意。

infrataster-plugin-mysqlrequire する必要があるようだ。

require 'infrataster/rspec'
require 'infrataster-plugin-mysql'

Infrataster::Server.define(
  :db,
  'localhost',
  mysql: {user: 'root', password: 'your_password'},
)

RSpec.configure do |config|
  config.treat_symbols_as_metadata_keys_with_true_values = true
  config.run_all_when_everything_filtered = true
  config.filter_run :focus

  config.order = 'random'
end

ポイントは mysql: {user: 'root', password: 'your_password'}, かな。


sample をそのまま

spec ファイルはサンプルをそのまま利用させて頂く。

describe server(:db) do
  describe mysql_query('SHOW STATUS') do
    it 'returns positive uptime' do
      row = results.find {|r| r['Variable_name'] == 'Uptime' }
      expect(row['Value'].to_i).to be > 0
    end
  end
end

spec ファイルを作成後、以下のようにテストを実行する。

bundle exec rspec

以下のように結果が表示された。



引き続き…

クエリを変えたりして試していく。




2014 かっぱのほげふが