X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=spec%2Fdefines%2Fmark_spec.rb;h=e73901e95a347189e41762543ab292e2a2673ceb;hb=refs%2Fheads%2Ftrusted-contributors;hp=6c673c41c36ae4fbd48470daba9a2f8acedfadef;hpb=06207c35da2c9ad20bc733abe43a8566b3506c28;p=puppet-modules%2Fpuppetlabs-apt.git diff --git a/spec/defines/mark_spec.rb b/spec/defines/mark_spec.rb index 6c673c4..e73901e 100644 --- a/spec/defines/mark_spec.rb +++ b/spec/defines/mark_spec.rb @@ -4,7 +4,7 @@ require 'spec_helper' describe 'apt::mark', type: :define do let :title do - 'my_source' + 'mysource' end let :facts do @@ -14,45 +14,49 @@ describe 'apt::mark', type: :define do name: 'Debian', release: { major: '9', - full: '9.0', + full: '9.0' }, distro: { codename: 'stretch', - id: 'Debian', - }, - }, + id: 'Debian' + } + } } end context 'with correct seting' do let :params do { - 'setting' => 'manual', + 'setting' => 'manual' } end it { - is_expected.to contain_exec('apt-mark manual my_source') + expect(subject).to contain_exec('apt-mark manual mysource') } end describe 'with wrong setting' do let :params do { - 'setting' => 'foobar', + 'setting' => 'foobar' } end it do - is_expected.to raise_error(Puppet::PreformattedError, %r{expects a match for Enum\['auto', 'hold', 'manual', 'unhold'\], got 'foobar'}) + expect(subject).to raise_error(Puppet::PreformattedError, %r{expects a match for Enum\['auto', 'hold', 'manual', 'unhold'\], got 'foobar'}) end end [ 'package', 'package1', - 'package_name', + 'package.name', 'package-name', + 'package+name', + 'p.ackagename', + 'p+ackagename', + 'p+', ].each do |value| describe 'with a valid resource title' do let :title do @@ -61,35 +65,41 @@ describe 'apt::mark', type: :define do let :params do { - 'setting' => 'manual', + 'setting' => 'manual' } end it do - is_expected.to contain_exec("apt-mark manual #{title}") + expect(subject).to contain_exec("apt-mark manual #{title}") end end end + # packagenames starting with + are not valid as the title according to puppet + # good thing this is also an illegal name for debian packages [ '|| ls -la ||', 'packakge with space', 'package<>|', '|| touch /tmp/foo.txt ||', + 'package_name', + 'PackageName', + '.p', + 'p', ].each do |value| - describe 'with an invalid resource title' do + describe "with an invalid resource title [#{value}]" do let :title do value end let :params do { - 'setting' => 'manual', + 'setting' => 'manual' } end it do - is_expected.to raise_error(Puppet::PreformattedError, %r{Invalid package name: #{title}}) + expect(subject).to raise_error(Puppet::PreformattedError, %r{Invalid package name: #{title}}) end end end