X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Farchive%2Fspec%2Fclasses%2Farchive_spec.rb;fp=3rdparty%2Fmodules%2Farchive%2Fspec%2Fclasses%2Farchive_spec.rb;h=1495d3d26899cc955cad6e53fa1b897f86090ae1;hb=ce70d6baf887ae03a2a6a7f5e73eb2e2c3dea208;hp=0000000000000000000000000000000000000000;hpb=0ba93256399fbad7ed8fabfa39c24dd47169dde3;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/archive/spec/classes/archive_spec.rb b/3rdparty/modules/archive/spec/classes/archive_spec.rb new file mode 100644 index 000000000..1495d3d26 --- /dev/null +++ b/3rdparty/modules/archive/spec/classes/archive_spec.rb @@ -0,0 +1,100 @@ +require 'spec_helper' + +describe 'archive' do + context 'RHEL' do + let(:facts) do + { + os: { family: 'RedHat' }, + operatingsystem: 'RedHat', + puppetversion: '4.4.0' + } + end + + context 'default' do + it { is_expected.not_to contain_package('7zip') } + it { is_expected.not_to contain_file('/opt/awscli-bundle') } + it { is_expected.not_to contain_archive('awscli-bundle.zip') } + it { is_expected.not_to contain_exec('install_aws_cli') } + it { is_expected.to compile.with_all_deps } + it { is_expected.to contain_class('archive::params') } + end + + context 'with aws_cli' do + let(:params) do + { + aws_cli_install: true + } + end + + it { is_expected.to contain_file('/opt/awscli-bundle') } + it { is_expected.to contain_archive('awscli-bundle.zip') } + it { is_expected.to contain_exec('install_aws_cli') } + end + end + + describe 'Windows' do + let(:default_facts) do + { + os: { family: 'Windows' }, + operatingsystem: 'Windows', + archive_windir: 'C:/staging' + } + end + + context 'default 7zip chcolatey package' do + let(:facts) do + { + puppetversion: '4.4.0' + }.merge(default_facts) + end + + it do + is_expected.to contain_package('7zip').with( + name: '7zip', + provider: 'chocolatey' + ) + end + it { is_expected.not_to contain_archive('awscli-bundle.zip') } + end + + context 'with 7zip msi package' do + let(:facts) do + { + puppetversion: '3.4.3 (Puppet Enterprise 3.2.3)' + }.merge(default_facts) + end + + let(:params) do + { + seven_zip_name: '7-Zip 9.20 (x64 edition)', + seven_zip_source: 'C:/Windows/Temp/7z920-x64.msi', + seven_zip_provider: 'windows' + } + end + + it do + is_expected.to contain_package('7zip').with( + name: '7-Zip 9.20 (x64 edition)', + source: 'C:/Windows/Temp/7z920-x64.msi', + provider: 'windows' + ) + end + end + + context 'without 7zip' do + let(:facts) do + { + puppetversion: '3.4.3 (Puppet Enterprise 3.2.3)' + }.merge(default_facts) + end + + let(:params) do + { + seven_zip_provider: '' + } + end + + it { is_expected.not_to contain_package('7zip') } + end + end +end