56 lines
1.3 KiB
Ruby
56 lines
1.3 KiB
Ruby
require 'serverspec'
|
|
require 'json'
|
|
|
|
# Required by serverspec
|
|
set :backend, :exec
|
|
|
|
describe 'IPFS' do
|
|
# It is in the PATH
|
|
describe command('which ipfs') do
|
|
its(:exit_status) { should eq 0 }
|
|
end
|
|
|
|
it 'is listening on port 4001' do
|
|
expect(port(4001)).to be_listening
|
|
end
|
|
|
|
it 'is listening on port 8080 (gateway)' do
|
|
expect(port(8080)).to be_listening
|
|
end
|
|
|
|
it 'has a running service of ipfs' do
|
|
expect(service('ipfs')).to be_running
|
|
expect(service('ipfs')).to be_enabled
|
|
end
|
|
|
|
addr_filters = <<-EOF
|
|
[
|
|
"/ip4/10.0.0.0/ipcidr/8",
|
|
"/ip4/100.64.0.0/ipcidr/10",
|
|
"/ip4/169.254.0.0/ipcidr/16",
|
|
"/ip4/172.16.0.0/ipcidr/12",
|
|
"/ip4/192.0.0.0/ipcidr/24",
|
|
"/ip4/192.0.0.0/ipcidr/29",
|
|
"/ip4/192.0.0.8/ipcidr/32",
|
|
"/ip4/192.0.0.170/ipcidr/32",
|
|
"/ip4/192.0.0.171/ipcidr/32",
|
|
"/ip4/192.0.2.0/ipcidr/24",
|
|
"/ip4/192.168.0.0/ipcidr/16",
|
|
"/ip4/198.18.0.0/ipcidr/15",
|
|
"/ip4/198.51.100.0/ipcidr/24",
|
|
"/ip4/203.0.113.0/ipcidr/24",
|
|
"/ip4/240.0.0.0/ipcidr/4"
|
|
]
|
|
EOF
|
|
|
|
{
|
|
'Swarm.AddrFilters' => addr_filters.rstrip,
|
|
'Gateway.Writable' => true,
|
|
}.each do |k, v|
|
|
describe command("IPFS_PATH=/home/ipfs/.ipfs ipfs config '#{k}'") do
|
|
let(:sudo_options) { '-u ipfs -i' }
|
|
its(:stdout) { should eq "#{v}\n" }
|
|
end
|
|
end
|
|
end
|