22. spec/spec_helper.rb (後編)
c.ssh.close if c.ssh
base イメージに追加した公開鍵と
c.host = host
対の秘密鍵を使う
options = {
:keys => [File.expand_path('../../dockerfiles/base/keys/id_rsa',
__FILE__)],
:port => container.json['HostConfig']['PortBindings']['22/tcp'][0]
['HostPort']
HostConfig から bind されたポートを
}
取得する
c.ssh = Net::SSH.start('0.0.0.0', 'root', options)
end
接続先はローカルホストで root ユーザ
end
!
c.after(:suite) do
利用したコンテナを
## Kill and delete containers
殺して削除する
containers.each {|container| container.kill.delete }
end
23. spec/base/sshd_spec.rb
require 'spec_helper'
!
describe package('openssh-server') do
it { should be_installed }
end
!
describe file('/var/run/sshd') do
it { should be_directory }
end
!
describe file('/root/.ssh') do
it { should be_directory }
it { should be_mode 600 }
end
パッケージが正しく
インストールされているか
ディレクトリが存在するか
ディレクトリが存在するか
パーミッションが正しいか
spec の記述については serverspec 公式の
ドキュメントを確認してください