Alexandros Kosiaris has uploaded a new change for review.
https://gerrit.wikimedia.org/r/183494
Change subject: RSpec install-server fixes
......................................................................
RSpec install-server fixes
ubuntu-mirror has been removed from the install-server module and its
functionality moved into the mirrors module. Update the install-server
module's RSpec tests to reflect that and create RSpec tests for the
mirrors module. Update the tests as well and fix a latest=>present
ensure on atftpd as well
Change-Id: I8f959b6eaae3018b1f479d33557c581320f05b44
---
M modules/install-server/spec/classes/install_server_tftp_server_spec.rb
D modules/install-server/tests/ubuntu-mirror.pp
A modules/mirrors/.rspec
A modules/mirrors/Rakefile
A modules/mirrors/spec/classes/mirrors_debian_spec.rb
A modules/mirrors/spec/classes/mirrors_spec.rb
R modules/mirrors/spec/classes/mirrors_ubuntu_spec.rb
A modules/mirrors/spec/fixtures/manifests/site.pp
A modules/mirrors/spec/spec_helper.rb
9 files changed, 116 insertions(+), 5 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/94/183494/1
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 8695751..335153d 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,7 +2,7 @@
describe 'install-server::tftp-server', :type => :class do
- it { should contain_package('atftpd').with_ensure('latest') }
+ it { should contain_package('atftpd').with_ensure('present') }
it do
should contain_file('/etc/default/atftpd').with({
diff --git a/modules/install-server/tests/ubuntu-mirror.pp
b/modules/install-server/tests/ubuntu-mirror.pp
deleted file mode 100644
index 4697dff..0000000
--- a/modules/install-server/tests/ubuntu-mirror.pp
+++ /dev/null
@@ -1,2 +0,0 @@
-#
-include install-server::ubuntu-mirror
diff --git a/modules/mirrors/.rspec b/modules/mirrors/.rspec
new file mode 100644
index 0000000..f449dae
--- /dev/null
+++ b/modules/mirrors/.rspec
@@ -0,0 +1,2 @@
+--format doc
+--color
diff --git a/modules/mirrors/Rakefile b/modules/mirrors/Rakefile
new file mode 100644
index 0000000..0542f30
--- /dev/null
+++ b/modules/mirrors/Rakefile
@@ -0,0 +1,47 @@
+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
diff --git a/modules/mirrors/spec/classes/mirrors_debian_spec.rb
b/modules/mirrors/spec/classes/mirrors_debian_spec.rb
new file mode 100644
index 0000000..28d90b7
--- /dev/null
+++ b/modules/mirrors/spec/classes/mirrors_debian_spec.rb
@@ -0,0 +1,40 @@
+require 'spec_helper'
+
+describe 'mirrors::debian', :type => :class do
+
+ it do
+ should contain_file('/srv/debian/').with({
+ 'ensure' => 'directory',
+ 'owner' => 'mirror',
+ 'group' => 'mirror',
+ 'mode' => '0755',
+ })
+ end
+ it do
+ should contain_file('/var/lib/mirror/archvsync/').with({
+ 'ensure' => 'directory',
+ 'owner' => 'mirror',
+ 'group' => 'mirror',
+ 'mode' => '0755',
+ 'source' => 'puppet:///modules/mirrors/archvsync',
+ })
+ end
+ it do
+ should
contain_file('/var/lib/mirror/archvsync/etc/ftpsync.conf').with({
+ 'ensure' => 'present',
+ 'owner' => 'mirror',
+ 'group' => 'mirror',
+ 'mode' => '0555',
+ 'source' => 'puppet:///modules/mirrors/ftpsync.conf',
+ })
+ end
+ it do
+ should contain_cron('update-debian-mirror').with({
+ 'ensure' => 'present',
+ 'command' => '/var/lib/mirror/archvsync/bin/ftpsync',
+ 'user' => 'mirror',
+ 'hour' => '*/6',
+ 'minute' => '03',
+ })
+ end
+end
diff --git a/modules/mirrors/spec/classes/mirrors_spec.rb
b/modules/mirrors/spec/classes/mirrors_spec.rb
new file mode 100644
index 0000000..1bfe47f
--- /dev/null
+++ b/modules/mirrors/spec/classes/mirrors_spec.rb
@@ -0,0 +1,16 @@
+require 'spec_helper'
+
+describe 'mirrors', :type => :class do
+
+ it { should contain_user('mirror') }
+ it { should contain_group('mirror') }
+
+ it do
+ should
contain_file('/usr/local/lib/nagios/plugins/check_apt_mirror').with({
+ 'ensure' => 'present',
+ 'owner' => 'root',
+ 'group' => 'root',
+ 'mode' => '0555',
+ })
+ end
+end
diff --git
a/modules/install-server/spec/classes/install_server_ubuntu_mirror_spec.rb
b/modules/mirrors/spec/classes/mirrors_ubuntu_spec.rb
similarity index 84%
rename from
modules/install-server/spec/classes/install_server_ubuntu_mirror_spec.rb
rename to modules/mirrors/spec/classes/mirrors_ubuntu_spec.rb
index 9837881..b6d98e5 100644
--- a/modules/install-server/spec/classes/install_server_ubuntu_mirror_spec.rb
+++ b/modules/mirrors/spec/classes/mirrors_ubuntu_spec.rb
@@ -1,6 +1,6 @@
require 'spec_helper'
-describe 'install-server::ubuntu-mirror', :type => :class do
+describe 'mirrors::ubuntu', :type => :class do
it do
should contain_file('/srv/ubuntu/').with({
@@ -16,7 +16,7 @@
'owner' => 'root',
'group' => 'root',
'mode' => '0555',
- 'source' =>
'puppet:///modules/install-server/update-ubuntu-mirror',
+ 'source' => 'puppet:///modules/mirrors/update-ubuntu-mirror',
})
end
it do
diff --git a/modules/mirrors/spec/fixtures/manifests/site.pp
b/modules/mirrors/spec/fixtures/manifests/site.pp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/modules/mirrors/spec/fixtures/manifests/site.pp
diff --git a/modules/mirrors/spec/spec_helper.rb
b/modules/mirrors/spec/spec_helper.rb
new file mode 100644
index 0000000..d3923f8
--- /dev/null
+++ b/modules/mirrors/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
--
To view, visit https://gerrit.wikimedia.org/r/183494
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I8f959b6eaae3018b1f479d33557c581320f05b44
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Alexandros Kosiaris <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits