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