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

Reply via email to