File tree Expand file tree Collapse file tree 2 files changed +26
-1
lines changed
lib/facter/facts/linux/cloud
spec/facter/facts/linux/cloud Expand file tree Collapse file tree 2 files changed +26
-1
lines changed Original file line number Diff line number Diff line change @@ -11,7 +11,7 @@ def call_the_resolver
1111 when 'hyperv'
1212 metadata = Facter ::Resolvers ::Az . resolve ( :metadata )
1313 'azure' unless metadata . nil? || metadata . empty?
14- when 'kvm' , 'xen'
14+ when 'kvm' , 'xen' , 'xenhvm'
1515 metadata = Facter ::Resolvers ::Ec2 . resolve ( :metadata )
1616 'aws' unless metadata . nil? || metadata . empty?
1717 when 'gce'
Original file line number Diff line number Diff line change 9090 end
9191 end
9292
93+ describe 'when on xenhvm' do
94+ before do
95+ allow ( Facter ::Resolvers ::Ec2 ) . to receive ( :resolve ) . with ( :metadata ) . and_return ( value )
96+ allow ( Facter ::Util ::Facts ::Posix ::VirtualDetector ) . to receive ( :platform ) . and_return ( 'xenhvm' )
97+ end
98+
99+ describe 'Ec2 data exists and aws fact is set' do
100+ let ( :value ) { { 'some' => 'fact' } }
101+
102+ it 'Testing things' do
103+ expect ( fact . call_the_resolver ) . to be_an_instance_of ( Facter ::ResolvedFact ) . and \
104+ have_attributes ( name : 'cloud.provider' , value : 'aws' )
105+ end
106+ end
107+
108+ context 'when Ec2 data does not exist nil is returned' do
109+ let ( :value ) { { } }
110+
111+ it 'returns nil' do
112+ expect ( fact . call_the_resolver ) . to be_an_instance_of ( Facter ::ResolvedFact ) . and \
113+ have_attributes ( name : 'cloud.provider' , value : nil )
114+ end
115+ end
116+ end
117+
93118 describe 'when on gce' do
94119 before do
95120 allow ( Facter ::Resolvers ::Gce ) . to receive ( :resolve ) . with ( :metadata ) . and_return ( value )
You can’t perform that action at this time.
0 commit comments