Slide 6
Slide 6 text
FactoryGirl.define do
trait :internal_network_host do
netmask '255.255.255.0'
gateway '10.10.10.254'
mac_address
{ Faker::Internet.mac_address('00') }
end
factory :git_server, class: Netns do
internal_network_host
name 'git_server'
ip_address '10.10.10.1'
virtual_port_number 3
physical_port_number 3
end
factory :git_client, class: Netns do
internal_network_host
name 'git_client'
ip_address '10.10.10.3'
virtual_port_number 2
physical_port_number 2
end
end
Given(/^ヨーヨーダイン社 の Git リポジトリサーバ$/) do
@git_server = Netns.new(attributes_for(:git_server))
Thread.start { @git_server.exec "bash -c 'echo OK | nc -l 11000'" }
sleep 3
end
Given(/^Git クライアントとなる開発者 PC$/) do
@git_client = Netns.new(attributes_for(:git_client))
end
When(/^開発者 PC から社内 Git リポジトリへアクセス$/) do
cd('.') do
@git_client.exec "nc -v #{@git_server.ip_address} 11000 > log/nc_git.log"
end
end
Then(/^社内 Git リポジトリにアクセス成功$/) do
step %(the file "log/nc_git.log" should contain "OK")
end