-#! /usr/bin/env ruby -S rspec
require 'spec_helper'
require 'facter/root_home'
+describe 'Root Home Specs' do
+ describe Facter::Util::RootHome do
+ context 'when solaris' do
+ let(:root_ent) { 'root:x:0:0:Super-User:/:/sbin/sh' }
+ let(:expected_root_home) { '/' }
-describe Facter::Util::RootHome do
- context "solaris" do
- let(:root_ent) { "root:x:0:0:Super-User:/:/sbin/sh" }
- let(:expected_root_home) { "/" }
-
- it "should return /" do
- Facter::Util::Resolution.expects(:exec).with("getent passwd root").returns(root_ent)
- expect(Facter::Util::RootHome.get_root_home).to eq(expected_root_home)
+ it 'returns /' do
+ expect(Facter::Util::Resolution).to receive(:exec).with('getent passwd root').and_return(root_ent)
+ expect(described_class.returnt_root_home).to eq(expected_root_home)
+ end
end
- end
- context "linux" do
- let(:root_ent) { "root:x:0:0:root:/root:/bin/bash" }
- let(:expected_root_home) { "/root" }
+ context 'when linux' do
+ let(:root_ent) { 'root:x:0:0:root:/root:/bin/bash' }
+ let(:expected_root_home) { '/root' }
- it "should return /root" do
- Facter::Util::Resolution.expects(:exec).with("getent passwd root").returns(root_ent)
- expect(Facter::Util::RootHome.get_root_home).to eq(expected_root_home)
+ it 'returns /root' do
+ expect(Facter::Util::Resolution).to receive(:exec).with('getent passwd root').and_return(root_ent)
+ expect(described_class.returnt_root_home).to eq(expected_root_home)
+ end
end
- end
- context "windows" do
- before :each do
- Facter::Util::Resolution.expects(:exec).with("getent passwd root").returns(nil)
- end
- it "should be nil on windows" do
- expect(Facter::Util::RootHome.get_root_home).to be_nil
+ context 'when windows' do
+ it 'is nil on windows' do
+ expect(Facter::Util::Resolution).to receive(:exec).with('getent passwd root').and_return(nil)
+ expect(described_class.returnt_root_home).to be_nil
+ end
end
end
-end
-describe 'root_home', :type => :fact do
- before { Facter.clear }
- after { Facter.clear }
+ describe 'root_home', :type => :fact do
+ before(:each) { Facter.clear }
+ after(:each) { Facter.clear }
- context "macosx" do
- before do
- Facter.fact(:kernel).stubs(:value).returns("Darwin")
- Facter.fact(:osfamily).stubs(:value).returns("Darwin")
- end
- let(:expected_root_home) { "/var/root" }
- sample_dscacheutil = File.read(fixtures('dscacheutil','root'))
+ context 'when macosx' do
+ before(:each) do
+ allow(Facter.fact(:kernel)).to receive(:value).and_return('Darwin')
+ allow(Facter.fact(:osfamily)).to receive(:value).and_return('Darwin')
+ end
+ let(:expected_root_home) { '/var/root' }
- it "should return /var/root" do
- Facter::Util::Resolution.stubs(:exec).with("dscacheutil -q user -a name root").returns(sample_dscacheutil)
- expect(Facter.fact(:root_home).value).to eq(expected_root_home)
- end
- end
+ sample_dscacheutil = File.read(fixtures('dscacheutil', 'root'))
- context "aix" do
- before do
- Facter.fact(:kernel).stubs(:value).returns("AIX")
- Facter.fact(:osfamily).stubs(:value).returns("AIX")
+ it 'returns /var/root' do
+ allow(Facter::Util::Resolution).to receive(:exec).with('dscacheutil -q user -a name root').and_return(sample_dscacheutil)
+ expect(Facter.fact(:root_home).value).to eq(expected_root_home)
+ end
end
- let(:expected_root_home) { "/root" }
- sample_lsuser = File.read(fixtures('lsuser','root'))
- it "should return /root" do
- Facter::Util::Resolution.stubs(:exec).with("lsuser -c -a home root").returns(sample_lsuser)
- expect(Facter.fact(:root_home).value).to eq(expected_root_home)
+ context 'when aix' do
+ before(:each) do
+ allow(Facter.fact(:kernel)).to receive(:value).and_return('AIX')
+ allow(Facter.fact(:osfamily)).to receive(:value).and_return('AIX')
+ end
+ let(:expected_root_home) { '/root' }
+
+ sample_lsuser = File.read(fixtures('lsuser', 'root'))
+
+ it 'returns /root' do
+ allow(Facter::Util::Resolution).to receive(:exec).with('lsuser -c -a home root').and_return(sample_lsuser)
+ expect(Facter.fact(:root_home).value).to eq(expected_root_home)
+ end
end
end
end