Initial Chef repository
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
require File.expand_path('../support/helpers', __FILE__)
|
||||
|
||||
describe_recipe 'unattended-upgrades::default' do
|
||||
|
||||
include Helpers::Unattended_upgrades
|
||||
|
||||
describe 'packages' do
|
||||
it 'installs unattended-upgrades' do
|
||||
package("unattended-upgrades").must_be_installed
|
||||
end
|
||||
end
|
||||
|
||||
describe 'files' do
|
||||
let(:config) { file("/etc/apt/apt.conf.d/50unattended-upgrades") }
|
||||
let(:autoconfig) { file("/etc/apt/apt.conf.d/20auto-upgrades") }
|
||||
|
||||
it 'should have correct file permissions' do
|
||||
config.must_have(:mode, "644")
|
||||
autoconfig.must_have(:mode, "644")
|
||||
end
|
||||
it 'should have correct owner' do
|
||||
config.must_have(:owner, "root")
|
||||
autoconfig.must_have(:owner, "root")
|
||||
end
|
||||
it 'should have correct group' do
|
||||
config.must_have(:group, "root")
|
||||
autoconfig.must_have(:group, "root")
|
||||
end
|
||||
|
||||
it 'should contain the correct config' do
|
||||
config.must_include "Unattended-Upgrade::Mail \"#{node['unattended-upgrades']['admin_email']}\";"
|
||||
end
|
||||
|
||||
it 'should contain the security updates origin' do
|
||||
# Although this test may fail on a setup with minitest-handler running on a live server - security updates really shouldn't be turned off
|
||||
config.must_include '"${distro_id}:${distro_codename}-security";'
|
||||
end
|
||||
|
||||
it 'should run unattended upgrades according to the schedule' do
|
||||
# Test might fail if unattended upgrades is disabled via run interval setting - but why run this test if the software is turned off?
|
||||
autoconfig.must_include "APT::Periodic::Unattended-Upgrade \"#{node['unattended-upgrades']['upgrade_interval']}\";"
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
@@ -0,0 +1,9 @@
|
||||
require 'minitest/spec'
|
||||
|
||||
module Helpers
|
||||
module Unattended_upgrades
|
||||
include MiniTest::Chef::Assertions
|
||||
include MiniTest::Chef::Context
|
||||
include MiniTest::Chef::Resources
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user