File tree 2 files changed +26
-1
lines changed
lib/facter/facts/linux/cloud
spec/facter/facts/linux/cloud
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
11
11
when 'hyperv'
12
12
metadata = Facter ::Resolvers ::Az . resolve ( :metadata )
13
13
'azure' unless metadata . nil? || metadata . empty?
14
- when 'kvm' , 'xen'
14
+ when 'kvm' , 'xen' , 'xenhvm'
15
15
metadata = Facter ::Resolvers ::Ec2 . resolve ( :metadata )
16
16
'aws' unless metadata . nil? || metadata . empty?
17
17
when 'gce'
Original file line number Diff line number Diff line change 90
90
end
91
91
end
92
92
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
+
93
118
describe 'when on gce' do
94
119
before do
95
120
allow ( Facter ::Resolvers ::Gce ) . to receive ( :resolve ) . with ( :metadata ) . and_return ( value )
You can’t perform that action at this time.
0 commit comments