Giuseppe Lavagetto has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/403612 )
Change subject: base::resolving: properly extend the tests
......................................................................
base::resolving: properly extend the tests
Change-Id: I29393de4ffba08ab634126984b8f5c61ad7bbc58
---
M modules/base/spec/classes/resolving_spec.rb
M modules/base/spec/fixtures/hieradata/labs.yaml
2 files changed, 41 insertions(+), 0 deletions(-)
Approvals:
Giuseppe Lavagetto: Looks good to me, approved
jenkins-bot: Verified
diff --git a/modules/base/spec/classes/resolving_spec.rb
b/modules/base/spec/classes/resolving_spec.rb
index 301e525..24754d4 100644
--- a/modules/base/spec/classes/resolving_spec.rb
+++ b/modules/base/spec/classes/resolving_spec.rb
@@ -5,4 +5,44 @@
should compile.and_raise_error(
/Variable \$::nameservers is not defined!/)
end
+ context "when nameservers are defined" do
+ let(:facts) { {'domain' => 'example.com'} }
+ let(:node_params){ {'nameservers' => ['1.2.3.4'], 'realm' =>
'production'}}
+ it { is_expected.to compile.with_all_deps }
+ it "contains a correct resolv.conf" do
+ is_expected.to contain_file('/etc/resolv.conf')
+ .with_owner('root')
+ .with_group('root')
+ .with_mode('0444')
+ content = catalogue.resource('file',
'/etc/resolv.conf').send(:parameters)[:content]
+
+ expect(content).to match(/search example.com\noptions timeout:1
attempts:3\nnameserver 1.2.3.4\n/)
+ end
+ context "when nameservers are overridden" do
+ let(:node_params){ super().merge({'nameservers_override' =>
['2.2.2.2'] })}
+ it "nameserver is changed in resolv.conf" do
+ content = catalogue.resource('file',
'/etc/resolv.conf').send(:parameters)[:content]
+
+ expect(content).to match(/search example.com\noptions timeout:1
attempts:3\nnameserver 2.2.2.2\n/)
+ end
+ end
+ end
+ context "when realm is labs" do
+ let(:facts) { {'domain' => 'example.com', 'labsproject' => 'fun' } }
+ let(:node_params){
+ {
+ 'nameservers' => ['1.2.3.4'],
+ 'realm' => 'labs',
+ 'site' => 'testdc',
+ }
+ }
+ it { is_expected.to compile.with_all_deps }
+ it { is_expected.to
contain_file('/sbin/resolvconf').with_source('puppet:///modules/base/resolv/resolvconf.dummy')
}
+ it { is_expected.to
contain_file('/etc/dhcp/dhclient-enter-hooks.d/nodnsupdate').with_source('puppet:///modules/base/resolv/nodnsupdate')}
+ it "contains a correct resolv.conf" do
+ content = catalogue.resource('file',
'/etc/resolv.conf').send(:parameters)[:content]
+
+ expect(content).to match(/search fun.testdc.foo.bar testdc.foo.bar
\nnameserver 1.2.3.4\noptions timeout:2 ndots:2/)
+ end
+ end
end
diff --git a/modules/base/spec/fixtures/hieradata/labs.yaml
b/modules/base/spec/fixtures/hieradata/labs.yaml
index 11cd7c2..5d900e9 100644
--- a/modules/base/spec/fixtures/hieradata/labs.yaml
+++ b/modules/base/spec/fixtures/hieradata/labs.yaml
@@ -1 +1,2 @@
auto_puppetmaster_switching: true
+labs_tld: "foo.bar"
--
To view, visit https://gerrit.wikimedia.org/r/403612
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I29393de4ffba08ab634126984b8f5c61ad7bbc58
Gerrit-PatchSet: 3
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Giuseppe Lavagetto <[email protected]>
Gerrit-Reviewer: Gehel <[email protected]>
Gerrit-Reviewer: Giuseppe Lavagetto <[email protected]>
Gerrit-Reviewer: Volans <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits