Skip to content

Commit

Permalink
serverspec2.0 added and consul_ui test fixed
Browse files Browse the repository at this point in the history
Current server spec installation will use 2.0 - which means i have to
change spec_helper and matchers.

Also consul uses the ui with an extra relative folder consul_ui - that
had to be fixed for server spec to pass
  • Loading branch information
goncalopereira committed Oct 15, 2014
1 parent 4afbc3e commit 122e6e5
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 35 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,8 @@ bin/*
.kitchen.local.yml

coverage/

vendor/ruby/2.0.0/build_info/addressable-2.3.6.info

vendor/*

18 changes: 9 additions & 9 deletions test/integration/default/serverspec/localhost/consul_spec.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
require 'spec_helper'

describe command('which consul') do
it { should return_exit_status 0 }
its(:exit_status) { should eq 0 }
its(:stdout) { should match '/usr/local/bin/consul' }
end

Expand All @@ -25,22 +25,22 @@
end

describe command 'consul members -detailed' do
it { should return_exit_status 0 }
it { should return_stdout %r{\balive\b} }
it { should return_stdout %r{\brole=consul\b} }
it { should return_stdout %r{\bbootstrap=1\b} }
its(:exit_status) { should eq 0 }
its(:stdout) { should match %r{\balive\b} }
its(:stdout) { should match %r{\brole=consul\b} }
its(:stdout) { should match %r{\bbootstrap=1\b}}
end

describe 'config file attributes' do
context command 'consul members -detailed' do
it { should return_stdout %r{\bdc=FortMeade\b} }
its(:stdout) { should match %r{\bdc=FortMeade\b}}
end
end

eth0_ip = command("/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'").stdout.strip
describe command("grep #{eth0_ip} /etc/consul.d/default.json") do
it { should return_exit_status 0 }
its(:exit_status) { should eq 0 }
# bind_addr should only be in the config if node[:consul][:bind_addr] is set
it { should return_stdout %r{"bind_addr":\s"#{eth0_ip}"}}
it { should return_stdout %r{"advertise_addr":\s"#{eth0_ip}"}}
its(:stdout) { should match %r{"bind_addr":\s"#{eth0_ip}"} }
its(:stdout) { should match %r{"advertise_addr":\s"#{eth0_ip}"} }
end
9 changes: 2 additions & 7 deletions test/integration/default/serverspec/spec_helper.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
require 'serverspec'

include SpecInfra::Helper::Exec
include SpecInfra::Helper::DetectOS

RSpec.configure do |c|
c.path = '/usr/local/bin:/sbin:/bin:/usr/bin'
end
set :backend, :exec
set :path, '/usr/local/bin:/bin:/sbin:/usb/sbin:$PATH'
8 changes: 4 additions & 4 deletions test/integration/ui/serverspec/localhost/consul_spec.rb
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
require 'spec_helper'

describe file('/var/lib/consul/ui/index.html') do
describe file('/var/lib/consul/ui/consul_ui/index.html') do
it { should be_file }
end

eth0_ip = command("/sbin/ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'").stdout.strip
describe command("wget -q -O- http://#{eth0_ip}:8500/ui/index.html") do
it { should return_exit_status 0 }
its(:stdout) { should == File.read('/var/lib/consul/ui/index.html') }
describe command("wget -q -O- http://#{eth0_ip}:8500/ui/consul_ui/index.html") do
its(:exit_status) { should eq 0 }
its(:stdout) { should eq File.read('/var/lib/consul/ui/consul_ui/index.html') }
end
17 changes: 2 additions & 15 deletions test/integration/ui/serverspec/spec_helper.rb
Original file line number Diff line number Diff line change
@@ -1,16 +1,3 @@
begin
require 'rspec/its'
rescue LoadError
require 'rubygems/dependency_installer'
Gem::DependencyInstaller.new.install('rspec-its')
require 'rspec/its'
end

require 'serverspec'

include SpecInfra::Helper::Exec
include SpecInfra::Helper::DetectOS

RSpec.configure do |c|
c.path = '/usr/local/bin:/sbin:/bin:/usr/bin'
end
set :backend, :exec
set :path, '/usr/local/bin:/bin:/sbin:/usb/sbin:$PATH'

0 comments on commit 122e6e5

Please sign in to comment.