summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorvarac <varacanero@zeromail.org>2016-11-02 21:26:14 +0100
committervarac <varacanero@zeromail.org>2016-11-02 21:34:36 +0100
commitaeb3bdba1c66f245e9eda46a564a956252cc609b (patch)
tree3b7fe38e4b03105b5aef4625abe95d76a7c6593b /spec
parentd4c87772bd31821c91f9ba149b5dc06959bc7155 (diff)
Compile test, test apt::conf
Diffstat (limited to 'spec')
-rw-r--r--spec/classes/init_spec.rb16
-rw-r--r--spec/defines/conf_spec.rb72
2 files changed, 88 insertions, 0 deletions
diff --git a/spec/classes/init_spec.rb b/spec/classes/init_spec.rb
new file mode 100644
index 0000000..dfb7521
--- /dev/null
+++ b/spec/classes/init_spec.rb
@@ -0,0 +1,16 @@
+require 'spec_helper'
+
+describe 'apt', :type => :class do
+ let :pre_condition do
+ 'class { "apt": }'
+ end
+ let(:facts) { {
+ :lsbdistid => 'Debian',
+ :osfamily => 'Debian',
+ :operatingsystem => 'Debian',
+ :debian_release => 'jessie',
+ :lsbdistcodename => 'jessie',
+ :puppetversion => Puppet.version, } }
+ #it { is_expected.to compile.with_all_deps }
+ it { is_expected.to compile }
+end
diff --git a/spec/defines/conf_spec.rb b/spec/defines/conf_spec.rb
new file mode 100644
index 0000000..59f49df
--- /dev/null
+++ b/spec/defines/conf_spec.rb
@@ -0,0 +1,72 @@
+require 'spec_helper'
+describe 'apt::apt_conf', :type => :define do
+ let :pre_condition do
+ 'class { "apt": }'
+ end
+ let(:facts) { {
+ :lsbdistid => 'Debian',
+ :osfamily => 'Debian',
+ :operatingsystem => 'Debian',
+ :debian_release => 'jessie',
+ :lsbdistcodename => 'jessie',
+ :puppetversion => Puppet.version, } }
+ let :title do
+ 'norecommends'
+ end
+
+ describe "when creating an apt_conf snippet" do
+ let :default_params do
+ {
+ :ensure => 'present',
+ :content => "Apt::Install-Recommends 0;\nApt::AutoRemove::InstallRecommends 1;\n"
+ }
+ end
+ let :params do
+ default_params
+ end
+ let :filename do
+ "/etc/apt/apt.conf.d/norecommends"
+ end
+
+ it { is_expected.to contain_file(filename).with({
+ 'ensure' => 'present',
+ 'content' => /Apt::Install-Recommends 0;\nApt::AutoRemove::InstallRecommends 1;/,
+ 'owner' => 'root',
+ # default to '0', not 'root'
+ #'group' => 'root',
+ 'mode' => '0644',
+ })
+ }
+
+ end
+
+ describe "when creating a preference without content" do
+ let :params do
+ {
+ :ensure => 'absent',
+ }
+ end
+
+ it 'fails' do
+ expect { subject.call } .to raise_error(Puppet::Error, /One of \$source or \$content must be specified for apt_conf norecommends/)
+ end
+ end
+
+ describe "when removing an apt preference" do
+ let :params do
+ {
+ :ensure => 'absent',
+ :content => "Apt::Install-Recommends 0;\nApt::AutoRemove::InstallRecommends 1;\n",
+ }
+ end
+
+ let :filename do
+ "/etc/apt/apt.conf.d/norecommends"
+ end
+
+ it { is_expected.to contain_file(filename).with({
+ 'ensure' => 'absent',
+ })
+ }
+ end
+end