conf_spec.rb 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. require 'spec_helper'
  2. describe 'apt::conf', :type => :define do
  3. let :pre_condition do
  4. 'class { "apt": }'
  5. end
  6. let(:facts) { { :lsbdistid => 'Debian', :osfamily => 'Debian', :lsbdistcodename => 'wheezy', :puppetversion => Puppet.version, } }
  7. let :title do
  8. 'norecommends'
  9. end
  10. describe "when creating an apt preference" do
  11. let :default_params do
  12. {
  13. :priority => '00',
  14. :content => "Apt::Install-Recommends 0;\nApt::AutoRemove::InstallRecommends 1;\n"
  15. }
  16. end
  17. let :params do
  18. default_params
  19. end
  20. let :filename do
  21. "/etc/apt/apt.conf.d/00norecommends"
  22. end
  23. it { is_expected.to contain_file(filename).with({
  24. 'ensure' => 'present',
  25. 'content' => /Apt::Install-Recommends 0;\nApt::AutoRemove::InstallRecommends 1;/,
  26. 'owner' => 'root',
  27. 'group' => 'root',
  28. 'mode' => '0644',
  29. })
  30. }
  31. context "with notify_update = true (default)" do
  32. let :params do
  33. default_params
  34. end
  35. it { is_expected.to contain_apt__setting("conf-#{title}").with_notify_update(true) }
  36. end
  37. context "with notify_update = false" do
  38. let :params do
  39. default_params.merge({
  40. :notify_update => false
  41. })
  42. end
  43. it { is_expected.to contain_apt__setting("conf-#{title}").with_notify_update(false) }
  44. end
  45. end
  46. describe "when creating a preference without content" do
  47. let :params do
  48. {
  49. :priority => '00',
  50. }
  51. end
  52. it 'fails' do
  53. expect { subject.call } .to raise_error(/pass in content/)
  54. end
  55. end
  56. describe "when removing an apt preference" do
  57. let :params do
  58. {
  59. :ensure => 'absent',
  60. :priority => '00',
  61. }
  62. end
  63. let :filename do
  64. "/etc/apt/apt.conf.d/00norecommends"
  65. end
  66. it { is_expected.to contain_file(filename).with({
  67. 'ensure' => 'absent',
  68. 'owner' => 'root',
  69. 'group' => 'root',
  70. 'mode' => '0644',
  71. })
  72. }
  73. end
  74. end