From 17f6820de55af63e602fa8893ce6d902ad0c7851 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Tue, 18 Feb 2020 18:05:14 +0000 Subject: [PATCH] Add test for mailman cookbook --- .kitchen.yml | 3 +++ .travis.yml | 3 +++ cookbooks/mailman/recipes/default.rb | 7 +++++++ .../mailman/serverspec/apache_spec.rb | 21 +++++++++++++++++++ .../mailman/serverspec/mailman_spec.rb | 13 ++++++++++++ 5 files changed, 47 insertions(+) create mode 100644 test/integration/mailman/serverspec/apache_spec.rb create mode 100644 test/integration/mailman/serverspec/mailman_spec.rb diff --git a/.kitchen.yml b/.kitchen.yml index 949240e32..b21df580b 100644 --- a/.kitchen.yml +++ b/.kitchen.yml @@ -106,6 +106,9 @@ suites: apt: sources: - openstreetmap + - name: mailman + run_list: + - recipe[mailman::default] - name: memcached run_list: - recipe[memcached::default] diff --git a/.travis.yml b/.travis.yml index 9a41f2b89..9b55eaa34 100644 --- a/.travis.yml +++ b/.travis.yml @@ -57,6 +57,9 @@ jobs: - name: "Test Kitchen (letsencrypt)" script: - bundle exec kitchen test letsencrypt-ubuntu-1804 + - name: "Test Kitchen (mailman)" + script: + - bundle exec kitchen test mailman-ubuntu-1804 - name: "Test Kitchen (memcached)" script: - bundle exec kitchen test memcached-ubuntu-1804 diff --git a/cookbooks/mailman/recipes/default.rb b/cookbooks/mailman/recipes/default.rb index 6e53ee8e5..a4d9768ab 100644 --- a/cookbooks/mailman/recipes/default.rb +++ b/cookbooks/mailman/recipes/default.rb @@ -33,6 +33,13 @@ template "/etc/mailman/mm_cfg.py" do notifies :restart, "service[mailman]" end +execute "newlist" do + command "newlist -q mailman mailman@example.com mailman" + user "root" + group "root" + not_if { ::File.exist?("/var/lib/mailman/lists/mailman/") } +end + service "mailman" do action [:enable, :start] supports :restart => true, :reload => true diff --git a/test/integration/mailman/serverspec/apache_spec.rb b/test/integration/mailman/serverspec/apache_spec.rb new file mode 100644 index 000000000..446d3b915 --- /dev/null +++ b/test/integration/mailman/serverspec/apache_spec.rb @@ -0,0 +1,21 @@ +require "serverspec" + +# Required by serverspec +set :backend, :exec + +describe package("apache2") do + it { should be_installed } +end + +describe service("apache2") do + it { should be_enabled } + it { should be_running } +end + +describe port(80) do + it { should be_listening.with("tcp") } +end + +describe port(443) do + it { should be_listening.with("tcp") } +end diff --git a/test/integration/mailman/serverspec/mailman_spec.rb b/test/integration/mailman/serverspec/mailman_spec.rb new file mode 100644 index 000000000..2d5fd35d6 --- /dev/null +++ b/test/integration/mailman/serverspec/mailman_spec.rb @@ -0,0 +1,13 @@ +require "serverspec" + +# Required by serverspec +set :backend, :exec + +describe package("mailman") do + it { should be_installed } +end + +describe service("mailman") do + it { should be_enabled } + it { should be_running } +end -- 2.43.2