Hashar has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/297378

Change subject: spec fix for aptrepo and installserver
......................................................................

spec fix for aptrepo and installserver

Align installserver to use puppetlabs_spec_helper.

Install server had the apt_repository class moved to the module
'aptrepo' but the spec hasn't been migrated. Do so and elevate aptrepo
with the puppetlabs_spec_helper bits (.fixtures.yml, Rakefile, .rspec).

Adjust installserver/install_server_apt_repository_spec and split it in
two bits:
- aptrepo_spec
- distributio_spec (for apt::distribution)

Inject some facts to please the wmflib os_version() function.

For installserver, remove our custom fixtures setup in the Rakefile and
just replace it with the puppetlabs_spec_helper + .fixtures.yml

Add some "it { should compile }" except for the
installserver::web_server that has a non trivial compile issue.

Bug: T78342
Change-Id: Ica92f23e8cb6421c76bd4e12d5702f23da674dd0
---
A modules/aptrepo/.fixtures.yml
A modules/aptrepo/.rspec
A modules/aptrepo/Rakefile
R modules/aptrepo/spec/classes/aptrepo_spec.rb
A modules/aptrepo/spec/classes/distribution_spec.rb
A modules/aptrepo/spec/spec_helper.rb
A modules/install_server/.fixtures.yml
M modules/install_server/Rakefile
M modules/install_server/spec/classes/install_server_dhcp_server_spec.rb
M modules/install_server/spec/classes/install_server_preseed_server_spec.rb
M modules/install_server/spec/classes/install_server_tftp_server_spec.rb
M modules/install_server/spec/classes/install_server_web_server_spec.rb
D modules/install_server/spec/fixtures/manifests/site.pp
M modules/install_server/spec/spec_helper.rb
14 files changed, 72 insertions(+), 58 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/78/297378/1

diff --git a/modules/aptrepo/.fixtures.yml b/modules/aptrepo/.fixtures.yml
new file mode 100644
index 0000000..295a319
--- /dev/null
+++ b/modules/aptrepo/.fixtures.yml
@@ -0,0 +1,4 @@
+fixtures:
+    symlinks:
+        aptrepo: "#{source_dir}"
+        ssh: "../../../../ssh"
diff --git a/modules/aptrepo/.rspec b/modules/aptrepo/.rspec
new file mode 100644
index 0000000..f449dae
--- /dev/null
+++ b/modules/aptrepo/.rspec
@@ -0,0 +1,2 @@
+--format doc
+--color
diff --git a/modules/aptrepo/Rakefile b/modules/aptrepo/Rakefile
new file mode 100644
index 0000000..cd3d379
--- /dev/null
+++ b/modules/aptrepo/Rakefile
@@ -0,0 +1 @@
+require 'puppetlabs_spec_helper/rake_tasks'
diff --git 
a/modules/install_server/spec/classes/install_server_apt_repository_spec.rb 
b/modules/aptrepo/spec/classes/aptrepo_spec.rb
similarity index 82%
rename from 
modules/install_server/spec/classes/install_server_apt_repository_spec.rb
rename to modules/aptrepo/spec/classes/aptrepo_spec.rb
index 13e998d..443403b 100644
--- a/modules/install_server/spec/classes/install_server_apt_repository_spec.rb
+++ b/modules/aptrepo/spec/classes/aptrepo_spec.rb
@@ -1,6 +1,10 @@
 require 'spec_helper'
 
-describe 'install_server::apt_repository', :type => :class do
+describe 'aptrepo', :type => :class do
+
+    let(:params) {{ :basedir => '/srv/wikimedia' }}
+
+    it { should compile }
 
     it { should contain_package('dpkg-dev').with_ensure('present') }
     it { should contain_package('gnupg').with_ensure('present') }
@@ -29,15 +33,6 @@
         should contain_file('/srv/wikimedia/conf/log').with({
             'ensure' => 'present',
             'mode'   => '0755',
-            'owner'  => 'root',
-            'group'  => 'root',
-        })
-    end
-
-    it do
-        should contain_file('/srv/wikimedia/conf/distributions').with({
-            'ensure' => 'present',
-            'mode'   => '0444',
             'owner'  => 'root',
             'group'  => 'root',
         })
diff --git a/modules/aptrepo/spec/classes/distribution_spec.rb 
b/modules/aptrepo/spec/classes/distribution_spec.rb
new file mode 100644
index 0000000..041225a
--- /dev/null
+++ b/modules/aptrepo/spec/classes/distribution_spec.rb
@@ -0,0 +1,25 @@
+require 'spec_helper'
+
+describe 'aptrepo::distribution', :type => :class do
+
+    let(:params) {{
+        :basedir => '/srv/wikimedia',
+        :settings => {
+            'jessie' => {
+                'Suite' => 'jessie-mediawiki'
+            }
+        },
+    }}
+
+    it { should compile }
+
+    it do
+        should contain_file('/srv/wikimedia/conf/distributions').with({
+            'ensure' => 'file',
+            'mode'   => '0444',
+            'owner'  => 'root',
+            'group'  => 'root',
+        })
+    end
+
+end
diff --git a/modules/aptrepo/spec/spec_helper.rb 
b/modules/aptrepo/spec/spec_helper.rb
new file mode 100644
index 0000000..d3923f8
--- /dev/null
+++ b/modules/aptrepo/spec/spec_helper.rb
@@ -0,0 +1,8 @@
+require 'rspec-puppet'
+
+fixture_path = File.expand_path(File.join(__FILE__, '..', 'fixtures'))
+
+RSpec.configure do |c|
+  c.module_path = File.join(fixture_path, 'modules')
+  c.manifest_dir = File.join(fixture_path, 'manifests')
+end
diff --git a/modules/install_server/.fixtures.yml 
b/modules/install_server/.fixtures.yml
new file mode 100644
index 0000000..2349820
--- /dev/null
+++ b/modules/install_server/.fixtures.yml
@@ -0,0 +1,10 @@
+fixtures:
+    symlinks:
+        install_server: "#{source_dir}"
+        letsencrypt: "../../../../letsencrypt"
+        nginx: "../../../../nginx"
+        sslcert: "../../../../sslcert"
+        # For atleast validate_re()
+        stdlib: "../../../../stdlib"
+        # For atleast ensure_service()
+        wmflib: "../../../../wmflib"
diff --git a/modules/install_server/Rakefile b/modules/install_server/Rakefile
index 0542f30..cd3d379 100644
--- a/modules/install_server/Rakefile
+++ b/modules/install_server/Rakefile
@@ -1,47 +1 @@
-require 'rake'
-require 'fileutils'
-
-require 'rspec/core/rake_task'
-
-# Note: The nginx puppet module is a git submodule right now, so don't forget 
to
-# checkout submodules before testing
-extra_modules = [ 'nginx', 'wmflib' ]
-
-modulename = File.basename(File.expand_path(File.dirname(__FILE__)))
-
-symlinks = { 'spec/fixtures/modules/%s/files' % modulename => 
'../../../../files',
-  'spec/fixtures/modules/%s/manifests' % modulename => '../../../../manifests',
-  'spec/fixtures/modules/%s/templates' % modulename => '../../../../templates',
-}
-
-
-task :setup do
-  FileUtils.mkdir_p('spec/fixtures/modules/%s' % modulename)
-  extra_modules.each do |x|
-      FileUtils.ln_s('../../../../%s' % x, 'spec/fixtures/modules/%s' % x)
-  end
-  symlinks.each do |x|
-    if !File.exist?(x[0])
-      FileUtils.ln_s(x[1], x[0])
-    end
-  end
-end
-
-task :teardown do
-  symlinks.each { |x| FileUtils.rm(x[0], :force => true) }
-  FileUtils.rmdir('spec/fixtures/modules/%s' % modulename)
-  extra_modules.each do |x|
-      FileUtils.rm('spec/fixtures/modules/%s' % x, :force => true)
-  end
-  FileUtils.rmdir('spec/fixtures/modules')
-end
-
-RSpec::Core::RakeTask.new(:realspec) do |t|
-  t.fail_on_error = false
-  t.pattern = 'spec/*/*_spec.rb'
-end
-
-task :spec => [ :setup, :realspec, :teardown]
-
-task :default => :spec do
-end
+require 'puppetlabs_spec_helper/rake_tasks'
diff --git 
a/modules/install_server/spec/classes/install_server_dhcp_server_spec.rb 
b/modules/install_server/spec/classes/install_server_dhcp_server_spec.rb
index a69a69d..690d201 100644
--- a/modules/install_server/spec/classes/install_server_dhcp_server_spec.rb
+++ b/modules/install_server/spec/classes/install_server_dhcp_server_spec.rb
@@ -1,6 +1,9 @@
 require 'spec_helper'
 
 describe 'install_server::dhcp_server', :type => :class do
+
+    it { should compile }
+
     it 'should have isc-dhcp-server' do
         should contain_package('isc-dhcp-server').with_ensure('present')
         should contain_service('isc-dhcp-server').with_ensure('running')
diff --git 
a/modules/install_server/spec/classes/install_server_preseed_server_spec.rb 
b/modules/install_server/spec/classes/install_server_preseed_server_spec.rb
index 066f2ac..cc5296a 100644
--- a/modules/install_server/spec/classes/install_server_preseed_server_spec.rb
+++ b/modules/install_server/spec/classes/install_server_preseed_server_spec.rb
@@ -2,6 +2,8 @@
 
 describe 'install_server::preseed_server', :type => :class do
 
+    it { should compile }
+
     it do
         should contain_file('/srv/autoinstall').with({
             'ensure' => 'directory',
@@ -10,6 +12,6 @@
             'group'  => 'root',
             'recurse' => 'true',
             'links' => 'manage',
-        }).without_path()
+        })
     end
 end
diff --git 
a/modules/install_server/spec/classes/install_server_tftp_server_spec.rb 
b/modules/install_server/spec/classes/install_server_tftp_server_spec.rb
index eccaaac..9904361 100644
--- a/modules/install_server/spec/classes/install_server_tftp_server_spec.rb
+++ b/modules/install_server/spec/classes/install_server_tftp_server_spec.rb
@@ -2,6 +2,8 @@
 
 describe 'install_server::tftp_server', :type => :class do
 
+    it { should compile }
+
     it { should contain_package('atftpd').with_ensure('present') }
 
     it do
diff --git 
a/modules/install_server/spec/classes/install_server_web_server_spec.rb 
b/modules/install_server/spec/classes/install_server_web_server_spec.rb
index b31d036..5764f41 100644
--- a/modules/install_server/spec/classes/install_server_web_server_spec.rb
+++ b/modules/install_server/spec/classes/install_server_web_server_spec.rb
@@ -1,6 +1,13 @@
 require 'spec_helper'
 
 describe 'install_server::web_server', :type => :class do
+
+    # Please wmflib.os_version()
+    let(:facts) { {
+        :lsbdistrelease => '8.5',
+        :lsbdistid => 'Debian',
+    } }
+
     it do
         should contain_file('/srv/index.html').with({
             'mode'    => '0444',
diff --git a/modules/install_server/spec/fixtures/manifests/site.pp 
b/modules/install_server/spec/fixtures/manifests/site.pp
deleted file mode 100644
index e69de29..0000000
--- a/modules/install_server/spec/fixtures/manifests/site.pp
+++ /dev/null
diff --git a/modules/install_server/spec/spec_helper.rb 
b/modules/install_server/spec/spec_helper.rb
index d3923f8..421fd71 100644
--- a/modules/install_server/spec/spec_helper.rb
+++ b/modules/install_server/spec/spec_helper.rb
@@ -1,4 +1,5 @@
 require 'rspec-puppet'
+require 'puppetlabs_spec_helper/module_spec_helper'
 
 fixture_path = File.expand_path(File.join(__FILE__, '..', 'fixtures'))
 

-- 
To view, visit https://gerrit.wikimedia.org/r/297378
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ica92f23e8cb6421c76bd4e12d5702f23da674dd0
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Hashar <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to