diff --git a/lib/facter/facts/aix/networking/scope6.rb b/lib/facter/facts/aix/networking/scope6.rb index cee1c2f74e..3db51beff3 100644 --- a/lib/facter/facts/aix/networking/scope6.rb +++ b/lib/facter/facts/aix/networking/scope6.rb @@ -5,11 +5,13 @@ module Aix module Networking class Scope6 FACT_NAME = 'networking.scope6' + ALIASES = 'scope6' def call_the_resolver fact_value = Facter::Resolvers::Aix::Networking.resolve(:scope6) - Facter::ResolvedFact.new(FACT_NAME, fact_value) + [Facter::ResolvedFact.new(FACT_NAME, fact_value), + Facter::ResolvedFact.new('scope6', fact_value, :legacy)] end end end diff --git a/lib/facter/facts/aix/scope6_interfaces.rb b/lib/facter/facts/aix/scope6_interfaces.rb index cd01c8d9fa..9820147b35 100644 --- a/lib/facter/facts/aix/scope6_interfaces.rb +++ b/lib/facter/facts/aix/scope6_interfaces.rb @@ -9,7 +9,6 @@ class Scope6Interfaces def call_the_resolver resolved_facts = [] interfaces = Facter::Resolvers::Aix::Networking.resolve(:interfaces) - scope6 = Facter::Resolvers::Aix::Networking.resolve(:scope6) interfaces&.each do |interface_name, info| if info[:scope6] @@ -17,7 +16,6 @@ def call_the_resolver end end - resolved_facts << Facter::ResolvedFact.new('scope6', scope6, :legacy) if scope6 resolved_facts end end diff --git a/lib/facter/facts/linux/networking/scope6.rb b/lib/facter/facts/linux/networking/scope6.rb index 3096007768..5775efee5e 100644 --- a/lib/facter/facts/linux/networking/scope6.rb +++ b/lib/facter/facts/linux/networking/scope6.rb @@ -5,11 +5,13 @@ module Linux module Networking class Scope6 FACT_NAME = 'networking.scope6' + ALIASES = 'scope6' def call_the_resolver fact_value = Facter::Resolvers::NetworkingLinux.resolve(:scope6) - Facter::ResolvedFact.new(FACT_NAME, fact_value) + [Facter::ResolvedFact.new(FACT_NAME, fact_value), + Facter::ResolvedFact.new('scope6', fact_value, :legacy)] end end end diff --git a/lib/facter/facts/linux/scope6_interfaces.rb b/lib/facter/facts/linux/scope6_interfaces.rb index 39a2c6f536..7d614383bd 100644 --- a/lib/facter/facts/linux/scope6_interfaces.rb +++ b/lib/facter/facts/linux/scope6_interfaces.rb @@ -9,14 +9,13 @@ class Scope6Interfaces def call_the_resolver resolved_facts = [] interfaces = Facter::Resolvers::NetworkingLinux.resolve(:interfaces) - primary_scope6 = Facter::Resolvers::NetworkingLinux.resolve(:scope6) interfaces&.each do |interface_name, info| if info[:scope6] resolved_facts << Facter::ResolvedFact.new("scope6_#{interface_name}", info[:scope6], :legacy) end end - resolved_facts << Facter::ResolvedFact.new('scope6', primary_scope6, :legacy) if primary_scope6 + resolved_facts end end diff --git a/lib/facter/facts/macosx/networking/scope6.rb b/lib/facter/facts/macosx/networking/scope6.rb index 4a7a64a4ab..337e91d03f 100644 --- a/lib/facter/facts/macosx/networking/scope6.rb +++ b/lib/facter/facts/macosx/networking/scope6.rb @@ -5,11 +5,13 @@ module Macosx module Networking class Scope6 FACT_NAME = 'networking.scope6' + ALIASES = 'scope6' def call_the_resolver fact_value = Facter::Resolvers::Networking.resolve(:scope6) - Facter::ResolvedFact.new(FACT_NAME, fact_value) + [Facter::ResolvedFact.new(FACT_NAME, fact_value), + Facter::ResolvedFact.new('scope6', fact_value, :legacy)] end end end diff --git a/lib/facter/facts/macosx/scope6_interfaces.rb b/lib/facter/facts/macosx/scope6_interfaces.rb index dd86984fc1..61ae1c0f7f 100644 --- a/lib/facter/facts/macosx/scope6_interfaces.rb +++ b/lib/facter/facts/macosx/scope6_interfaces.rb @@ -9,14 +9,12 @@ class Scope6Interfaces def call_the_resolver resolved_facts = [] interfaces = Facter::Resolvers::Networking.resolve(:interfaces) - primary_scope6 = Facter::Resolvers::Networking.resolve(:scope6) interfaces&.each do |interface_name, info| if info[:scope6] resolved_facts << Facter::ResolvedFact.new("scope6_#{interface_name}", info[:scope6], :legacy) end end - resolved_facts << Facter::ResolvedFact.new('scope6', primary_scope6, :legacy) if primary_scope6 resolved_facts end end diff --git a/lib/facter/facts/windows/networking/scope6.rb b/lib/facter/facts/windows/networking/scope6.rb index 1c3339c753..512a4f7bf3 100644 --- a/lib/facter/facts/windows/networking/scope6.rb +++ b/lib/facter/facts/windows/networking/scope6.rb @@ -5,11 +5,13 @@ module Windows module Networking class Scope6 FACT_NAME = 'networking.scope6' + ALIASES = 'scope6' def call_the_resolver fact_value = Facter::Resolvers::Windows::Networking.resolve(:scope6) - Facter::ResolvedFact.new(FACT_NAME, fact_value) + [Facter::ResolvedFact.new(FACT_NAME, fact_value), + Facter::ResolvedFact.new('scope6', fact_value, :legacy)] end end end diff --git a/spec/facter/facts/aix/networking/scope6_spec.rb b/spec/facter/facts/aix/networking/scope6_spec.rb index e95c890042..430dc75be6 100644 --- a/spec/facter/facts/aix/networking/scope6_spec.rb +++ b/spec/facter/facts/aix/networking/scope6_spec.rb @@ -17,8 +17,9 @@ it 'returns scope6 fact' do expect(fact.call_the_resolver) - .to be_an_instance_of(Facter::ResolvedFact) - .and have_attributes(name: 'networking.scope6', value: value) + .to be_an_instance_of(Array) + .and contain_exactly(an_object_having_attributes(name: 'networking.scope6', value: value), + an_object_having_attributes(name: 'scope6', value: value)) end end @@ -27,8 +28,9 @@ it 'returns nil' do expect(fact.call_the_resolver) - .to be_an_instance_of(Facter::ResolvedFact) - .and have_attributes(name: 'networking.scope6', value: nil) + .to be_an_instance_of(Array) + .and contain_exactly(an_object_having_attributes(name: 'networking.scope6', value: value), + an_object_having_attributes(name: 'scope6', value: value)) end end end diff --git a/spec/facter/facts/aix/scope6_interfaces_spec.rb b/spec/facter/facts/aix/scope6_interfaces_spec.rb index 336b77f8fa..9a6c91b62f 100644 --- a/spec/facter/facts/aix/scope6_interfaces_spec.rb +++ b/spec/facter/facts/aix/scope6_interfaces_spec.rb @@ -5,31 +5,22 @@ before do allow(Facter::Resolvers::Aix::Networking).to receive(:resolve).with(:interfaces).and_return(interfaces) - allow(Facter::Resolvers::Aix::Networking).to receive(:resolve).with(:scope6).and_return(primary) end describe '#call_the_resolver' do let(:interfaces) { { 'eth0' => { scope6: 'link' }, 'en1' => { scope6: 'global' } } } - let(:primary) { 'link' } it 'calls Facter::Resolvers::Aix::Networking with interfaces' do fact.call_the_resolver expect(Facter::Resolvers::Aix::Networking).to have_received(:resolve).with(:interfaces) end - it 'calls Facter::Resolvers::Aix::Networking with primary' do - fact.call_the_resolver - expect(Facter::Resolvers::Aix::Networking).to have_received(:resolve).with(:scope6) - end - it 'returns legacy facts with scope6_' do expect(fact.call_the_resolver).to be_an_instance_of(Array).and \ contain_exactly(an_object_having_attributes(name: 'scope6_eth0', value: interfaces['eth0'][:scope6], type: :legacy), an_object_having_attributes(name: 'scope6_en1', - value: interfaces['en1'][:scope6], type: :legacy), - an_object_having_attributes(name: 'scope6', - value: primary, type: :legacy)) + value: interfaces['en1'][:scope6], type: :legacy)) end end diff --git a/spec/facter/facts/linux/networking/scope6_spec.rb b/spec/facter/facts/linux/networking/scope6_spec.rb index e1edb05cc4..8f663b7ec2 100644 --- a/spec/facter/facts/linux/networking/scope6_spec.rb +++ b/spec/facter/facts/linux/networking/scope6_spec.rb @@ -17,8 +17,9 @@ it 'return scope6 fact' do expect(fact.call_the_resolver) - .to be_an_instance_of(Facter::ResolvedFact) - .and have_attributes(name: 'networking.scope6', value: value) + .to be_an_instance_of(Array) + .and contain_exactly(an_object_having_attributes(name: 'networking.scope6', value: value), + an_object_having_attributes(name: 'scope6', value: value)) end context 'when scope6 can not be retrieved' do @@ -26,7 +27,9 @@ it 'returns nil' do expect(fact.call_the_resolver) - .to be_an_instance_of(Facter::ResolvedFact).and have_attributes(name: 'networking.scope6', value: value) + .to be_an_instance_of(Array) + .and contain_exactly(an_object_having_attributes(name: 'networking.scope6', value: value), + an_object_having_attributes(name: 'scope6', value: value)) end end end diff --git a/spec/facter/facts/linux/scope6_interfaces_spec.rb b/spec/facter/facts/linux/scope6_interfaces_spec.rb index 305e4e6ae3..8de415526d 100644 --- a/spec/facter/facts/linux/scope6_interfaces_spec.rb +++ b/spec/facter/facts/linux/scope6_interfaces_spec.rb @@ -5,31 +5,22 @@ before do allow(Facter::Resolvers::NetworkingLinux).to receive(:resolve).with(:interfaces).and_return(interfaces) - allow(Facter::Resolvers::NetworkingLinux).to receive(:resolve).with(:scope6).and_return(scope6) end describe '#call_the_resolver' do let(:interfaces) { { 'eth0' => { scope6: 'link' }, 'en1' => { scope6: 'global' } } } - let(:scope6) { 'link' } it 'calls Facter::Resolvers::NetworkingLinux with interfaces' do fact.call_the_resolver expect(Facter::Resolvers::NetworkingLinux).to have_received(:resolve).with(:interfaces) end - it 'calls Facter::Resolvers::NetworkingLinux with scope6' do - fact.call_the_resolver - expect(Facter::Resolvers::NetworkingLinux).to have_received(:resolve).with(:scope6) - end - it 'returns legacy facts with scope6_' do expect(fact.call_the_resolver).to be_an_instance_of(Array).and \ contain_exactly(an_object_having_attributes(name: 'scope6_eth0', value: interfaces['eth0'][:scope6], type: :legacy), an_object_having_attributes(name: 'scope6_en1', - value: interfaces['en1'][:scope6], type: :legacy), - an_object_having_attributes(name: 'scope6', - value: scope6, type: :legacy)) + value: interfaces['en1'][:scope6], type: :legacy)) end end diff --git a/spec/facter/facts/macosx/networking/scope6_spec.rb b/spec/facter/facts/macosx/networking/scope6_spec.rb index dd90aaed1c..d7620c6d8e 100644 --- a/spec/facter/facts/macosx/networking/scope6_spec.rb +++ b/spec/facter/facts/macosx/networking/scope6_spec.rb @@ -17,8 +17,9 @@ it 'returns scope6 fact' do expect(fact.call_the_resolver) - .to be_an_instance_of(Facter::ResolvedFact) - .and have_attributes(name: 'networking.scope6', value: value) + .to be_an_instance_of(Array) + .and contain_exactly(an_object_having_attributes(name: 'networking.scope6', value: value), + an_object_having_attributes(name: 'scope6', value: value)) end context 'when scope6 can not be resolved' do @@ -26,8 +27,9 @@ it 'returns nil' do expect(fact.call_the_resolver) - .to be_an_instance_of(Facter::ResolvedFact) - .and have_attributes(name: 'networking.scope6', value: value) + .to be_an_instance_of(Array) + .and contain_exactly(an_object_having_attributes(name: 'networking.scope6', value: value), + an_object_having_attributes(name: 'scope6', value: value)) end end end diff --git a/spec/facter/facts/macosx/scope6_interfaces_spec.rb b/spec/facter/facts/macosx/scope6_interfaces_spec.rb index 5dbb6a7af6..921c039032 100644 --- a/spec/facter/facts/macosx/scope6_interfaces_spec.rb +++ b/spec/facter/facts/macosx/scope6_interfaces_spec.rb @@ -5,31 +5,22 @@ before do allow(Facter::Resolvers::Networking).to receive(:resolve).with(:interfaces).and_return(interfaces) - allow(Facter::Resolvers::Networking).to receive(:resolve).with(:scope6).and_return(scope6) end describe '#call_the_resolver' do let(:interfaces) { { 'eth0' => { scope6: 'link' }, 'en1' => { scope6: 'global' } } } - let(:scope6) { 'link' } it 'calls Facter::Resolvers::NetworkingLinux with interfaces' do fact.call_the_resolver expect(Facter::Resolvers::Networking).to have_received(:resolve).with(:interfaces) end - it 'calls Facter::Resolvers::NetworkingLinux with scope6' do - fact.call_the_resolver - expect(Facter::Resolvers::Networking).to have_received(:resolve).with(:scope6) - end - it 'returns legacy facts with scope6_' do expect(fact.call_the_resolver).to be_an_instance_of(Array).and \ contain_exactly(an_object_having_attributes(name: 'scope6_eth0', value: interfaces['eth0'][:scope6], type: :legacy), an_object_having_attributes(name: 'scope6_en1', - value: interfaces['en1'][:scope6], type: :legacy), - an_object_having_attributes(name: 'scope6', - value: scope6, type: :legacy)) + value: interfaces['en1'][:scope6], type: :legacy)) end end diff --git a/spec/facter/facts/windows/networking/scope6_spec.rb b/spec/facter/facts/windows/networking/scope6_spec.rb index 937e318a51..5e826d5ce6 100644 --- a/spec/facter/facts/windows/networking/scope6_spec.rb +++ b/spec/facter/facts/windows/networking/scope6_spec.rb @@ -16,8 +16,10 @@ end it 'returns scope for ipv6 address' do - expect(fact.call_the_resolver).to be_an_instance_of(Facter::ResolvedFact).and \ - have_attributes(name: 'networking.scope6', value: value) + expect(fact.call_the_resolver) + .to be_an_instance_of(Array) + .and contain_exactly(an_object_having_attributes(name: 'networking.scope6', value: value), + an_object_having_attributes(name: 'scope6', value: value)) end end end