summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Saxby <sax@livinginthepast.org>2013-11-23 13:50:43 -0800
committerBryan McLellan <btm@opscode.com>2013-11-26 10:57:02 -0800
commit669cd218c1cad141f067d6b7eb632549f00972e0 (patch)
tree221cff15d7d8bc2f57bc56e0e3ded539d62aa595
parent5e6e083422661b38f001fac1ed9dffe29fb88ac7 (diff)
downloadohai-669cd218c1cad141f067d6b7eb632549f00972e0.tar.gz
OHAI-529 Remove ipaddr_extension from Gemfile
Specs for the ip_scopes plugin can be run in two ways: * Run rspec in the context of `bundle exec` * Install ipaddr_extensions, then run rspec outside of `bundle exec`
-rw-r--r--Gemfile1
-rw-r--r--spec/unit/plugins/ip_scopes_spec.rb103
2 files changed, 56 insertions, 48 deletions
diff --git a/Gemfile b/Gemfile
index ca1f7311..9b991f32 100644
--- a/Gemfile
+++ b/Gemfile
@@ -11,7 +11,6 @@ group :development do
gem "sigar", :platform => "ruby"
gem 'plist'
- gem 'ipaddr_extensions'
#gem 'pry'
#gem 'pry-debugger'
# gem 'pry-stack_explorer'
diff --git a/spec/unit/plugins/ip_scopes_spec.rb b/spec/unit/plugins/ip_scopes_spec.rb
index b409b439..49e4c6da 100644
--- a/spec/unit/plugins/ip_scopes_spec.rb
+++ b/spec/unit/plugins/ip_scopes_spec.rb
@@ -1,5 +1,10 @@
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
+begin
+ require 'ipaddr_extensions'
+rescue LoadError
+end
+
describe Ohai::System, "plugin ip_scopes" do
let(:plugin) { get_plugin('ip_scopes') }
let(:network) { Mash.new(:interfaces => interfaces) }
@@ -15,72 +20,76 @@ describe Ohai::System, "plugin ip_scopes" do
before { plugin[:network] = network }
- context 'with ipaddr_extensions gem' do
- let(:ip1) { '10.0.0.1' }
- let(:ip2) { '1.2.3.4' }
- let(:ip3) { 'fe80::8638:35ff:fe4e:dc74' }
+ if defined?(IPAddrExtensions)
+ context 'with ipaddr_extensions gem' do
+ let(:ip1) { '10.0.0.1' }
+ let(:ip2) { '1.2.3.4' }
+ let(:ip3) { 'fe80::8638:35ff:fe4e:dc74' }
- let(:addresses1) { Hash[ip1, {}] }
- let(:addresses2) { Hash[ip2, {}, ip3, {}] }
+ let(:addresses1) { Hash[ip1, {}] }
+ let(:addresses2) { Hash[ip2, {}, ip3, {}] }
- it 'adds ip_scope to each address' do
- plugin.run
- expect(plugin[:network][:interfaces][:eth0][:addresses]['10.0.0.1'][:ip_scope]).to eq('RFC1918 PRIVATE')
- expect(plugin[:network][:interfaces][:eth1][:addresses]['1.2.3.4'][:ip_scope]).to eq('GLOBAL UNICAST')
- expect(plugin[:network][:interfaces][:eth1][:addresses]['fe80::8638:35ff:fe4e:dc74'][:ip_scope]).to eq('LINK LOCAL UNICAST')
- end
+ it 'adds ip_scope to each address' do
+ plugin.run
+ expect(plugin[:network][:interfaces][:eth0][:addresses]['10.0.0.1'][:ip_scope]).to eq('RFC1918 PRIVATE')
+ expect(plugin[:network][:interfaces][:eth1][:addresses]['1.2.3.4'][:ip_scope]).to eq('GLOBAL UNICAST')
+ expect(plugin[:network][:interfaces][:eth1][:addresses]['fe80::8638:35ff:fe4e:dc74'][:ip_scope]).to eq('LINK LOCAL UNICAST')
+ end
- describe 'privateaddress' do
- before { plugin.run }
+ describe 'privateaddress' do
+ before { plugin.run }
- context 'host has multiple RFC1918 ethernet addresses' do
- let(:ip1) { '10.0.0.1' }
- let(:ip2) { '192.168.1.1' }
- let(:interface1_type) { 'eth' }
- let(:interface2_type) { 'eth' }
+ context 'host has multiple RFC1918 ethernet addresses' do
+ let(:ip1) { '10.0.0.1' }
+ let(:ip2) { '192.168.1.1' }
+ let(:interface1_type) { 'eth' }
+ let(:interface2_type) { 'eth' }
- it 'picks the last address' do
- expect(plugin[:privateaddress]).to eq('192.168.1.1')
+ it 'picks the last address' do
+ expect(plugin[:privateaddress]).to eq('192.168.1.1')
+ end
end
- end
- context 'host has PPP and ethernet RFC1918 addresses' do
- let(:ip1) { '10.0.0.1' }
- let(:ip2) { '192.168.1.1' }
- let(:interface1_type) { 'eth' }
- let(:interface2_type) { 'ppp' }
+ context 'host has PPP and ethernet RFC1918 addresses' do
+ let(:ip1) { '10.0.0.1' }
+ let(:ip2) { '192.168.1.1' }
+ let(:interface1_type) { 'eth' }
+ let(:interface2_type) { 'ppp' }
- it 'prefers the eth address' do
- expect(plugin[:privateaddress]).to eq('10.0.0.1')
+ it 'prefers the eth address' do
+ expect(plugin[:privateaddress]).to eq('10.0.0.1')
+ end
end
- end
- context 'host only has ppp RFC1918 address' do
- let(:ip1) { '10.0.0.1' }
- let(:interface1_type) { 'ppp' }
+ context 'host only has ppp RFC1918 address' do
+ let(:ip1) { '10.0.0.1' }
+ let(:interface1_type) { 'ppp' }
- it 'uses it' do
- expect(plugin[:privateaddress]).to eq('10.0.0.1')
+ it 'uses it' do
+ expect(plugin[:privateaddress]).to eq('10.0.0.1')
+ end
end
end
end
end
- context 'without the ipaddr_extensions gem' do
- let(:addresses1) { Hash['10.0.0.1', {}] }
+ unless defined?(IPAddrExtensions)
+ context 'without the ipaddr_extensions gem' do
+ let(:addresses1) { Hash['10.0.0.1', {}] }
- before do
- # standin for raising on `require 'ipaddr_extensions'`
- plugin[:network][:interfaces].stub(:keys).and_raise(LoadError)
- plugin.run
- end
+ before do
+ # standin for raising on `require 'ipaddr_extensions'`
+ plugin[:network][:interfaces].stub(:keys).and_raise(LoadError)
+ plugin.run
+ end
- it 'does not add ip_scope to address' do
- expect(plugin[:network][:interfaces][:eth0][:addresses]['10.0.0.1'][:ip_scope]).to be nil
- end
+ it 'does not add ip_scope to address' do
+ expect(plugin[:network][:interfaces][:eth0][:addresses]['10.0.0.1'][:ip_scope]).to be nil
+ end
- it 'does not add a privateaddress key' do
- expect(plugin[:privateaddress]).to be nil
+ it 'does not add a privateaddress key' do
+ expect(plugin[:privateaddress]).to be nil
+ end
end
end
end