From: Lukas Audzevicius Date: Wed, 31 Aug 2022 11:01:09 +0000 (+0100) Subject: Add tests for valid/invalid resource names X-Git-Tag: v9.0.1~7^2 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=67dd216cf8bc2a444c55892f3c7f3cf190e9414f;p=puppet-modules%2Fpuppetlabs-apt.git Add tests for valid/invalid resource names Prior to this commit, ppa_spec.rb did not test the recently implemented validation for resource names. This commit aims to implement some test cases to make sure that valid resource names are allowed while invalid or malicious resource names do not work. --- diff --git a/spec/defines/ppa_spec.rb b/spec/defines/ppa_spec.rb index c056b5b..8d0c4f9 100644 --- a/spec/defines/ppa_spec.rb +++ b/spec/defines/ppa_spec.rb @@ -43,6 +43,69 @@ describe 'apt::ppa' do } end + [ + 'ppa:foo/bar', + 'ppa:foo/bar1.0', + 'ppa:foo10/bar10', + 'ppa:foo-/bar_', + ].each do |value| + describe 'valid resource names' do + let :facts do + { + os: { + family: 'Debian', + name: 'Ubuntu', + release: { + major: '18', + full: '18.04', + }, + distro: { + codename: 'trusty', + id: 'Ubuntu', + }, + }, + } + end + + let(:title) { value } + + it { is_expected.not_to raise_error } + it { is_expected.to contain_exec("add-apt-repository-#{value}") } + end + end + + [ + 'ppa:foo!/bar', + 'ppa:foo/bar!', + 'ppa:foo1.0/bar', + 'ppa:foo/bar/foobar', + '|| ls -la ||', + '|| touch /tmp/foo.txt ||', + ].each do |value| + describe 'invalid resource names' do + let :facts do + { + os: { + family: 'Debian', + name: 'Ubuntu', + release: { + major: '18', + full: '18.04', + }, + distro: { + codename: 'trusty', + id: 'Ubuntu', + }, + }, + } + end + + let(:title) { value } + + it { is_expected.to raise_error(Puppet::PreformattedError, %r{Invalid PPA name: #{value}}) } + end + end + describe 'Ubuntu 15.10 sources.list filename' do let :facts do {