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

Reply via email to