File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -20,7 +20,13 @@ def read_augeas_version(fact_name)
2020 end
2121
2222 def read_augeas_from_cli
23- output = Facter ::Core ::Execution . execute ( 'augparse --version 2>&1' , logger : log )
23+ command = if File . readable? ( '/opt/puppetlabs/puppet/bin/augparse' )
24+ '/opt/puppetlabs/puppet/bin/augparse'
25+ else
26+ 'augparse'
27+ end
28+
29+ output = Facter ::Core ::Execution . execute ( "#{ command } --version 2>&1" , logger : log )
2430 Regexp . last_match ( 1 ) if output =~ /^augparse (\d +\. \d +\. \d +)/
2531 end
2632
Original file line number Diff line number Diff line change 44 subject ( :augeas ) { Facter ::Resolvers ::Augeas }
55
66 let ( :log_spy ) { instance_spy ( Facter ::Log ) }
7+ let ( :executable? ) { false }
78
89 before do
910 augeas . instance_variable_set ( :@log , log_spy )
11+ allow ( File ) . to receive ( :readable? ) . with ( '/opt/puppetlabs/puppet/bin/augparse' ) . and_return ( executable? )
1012 end
1113
1214 after do
2527 end
2628 end
2729
30+ context 'when augparse is installed with puppet-agent package on unix based systems' do
31+ let ( :executable? ) { true }
32+
33+ before do
34+ allow ( Facter ::Core ::Execution ) . to receive ( :execute )
35+ . with ( '/opt/puppetlabs/puppet/bin/augparse --version 2>&1' , logger : log_spy )
36+ . and_return ( 'augparse 1.12.0 <http://augeas.net/>' )
37+ end
38+
39+ it 'returns build' do
40+ expect ( augeas . resolve ( :augeas_version ) ) . to eq ( '1.12.0' )
41+ end
42+ end
43+
2844 context 'when augparse is not installed' do
2945 before do
3046 allow ( Facter ::Core ::Execution ) . to receive ( :execute )
You can’t perform that action at this time.
0 commit comments