+++ /dev/null
-require 'spec_helper'
-
-describe 'archive::nexus' do
- let(:facts) { { os: { family: 'RedHat' }, puppetversion: '4.4.0' } }
-
- context 'nexus archive with defaults' do
- let(:title) { '/tmp/hawtio.war' }
-
- let(:params) do
- {
- url: 'https://oss.sonatype.org',
- gav: 'io.hawt:hawtio-web:1.4.36',
- repository: 'releases',
- packaging: 'war'
- }
- end
-
- it do
- is_expected.to contain_archive('/tmp/hawtio.war').with(
- source: 'https://oss.sonatype.org/service/local/artifact/maven/content?g=io.hawt&a=hawtio-web&v=1.4.36&r=releases&p=war',
- checksum_url: 'https://oss.sonatype.org/service/local/artifact/maven/content?g=io.hawt&a=hawtio-web&v=1.4.36&r=releases&p=war.md5'
- )
- end
-
- it do
- is_expected.to contain_file('/tmp/hawtio.war').that_requires('Archive[/tmp/hawtio.war]').with(
- owner: '0',
- group: '0'
- )
- end
- end
-
- context 'nexus archive with overwritten parameters' do
- let(:title) { '/tmp/artifact.war' }
-
- let(:params) do
- {
- url: 'https://oss.sonatype.org',
- gav: 'io.hawt:hawtio-web:1.4.36',
- repository: 'releases',
- owner: 'tom',
- group: 'worker',
- user: 'tom',
- extract: true,
- extract_path: '/opt',
- creates: '/opt/artifact/WEB-INF',
- cleanup: true
- }
- end
-
- it do
- is_expected.to contain_archive('/tmp/artifact.war').with(
- 'user' => 'tom',
- 'group' => 'worker',
- 'extract' => true,
- 'extract_path' => '/opt',
- 'creates' => '/opt/artifact/WEB-INF',
- 'cleanup' => true
- )
- end
-
- it do
- is_expected.to contain_file('/tmp/artifact.war').that_requires('Archive[/tmp/artifact.war]').with(
- 'owner' => 'tom',
- 'group' => 'worker'
- )
- end
- end
-
- context 'nexus archive with checksum_verify => false' do
- let :title do
- '/tmp/artifact.war'
- end
-
- let :params do
- {
- url: 'https://oss.sonatype.org',
- gav: 'io.hawt:hawtio-web:1.4.36',
- repository: 'releases',
- owner: 'tom',
- group: 'worker',
- user: 'tom',
- extract: true,
- extract_path: '/opt',
- creates: '/opt/artifact/WEB-INF',
- cleanup: true,
- checksum_verify: false
- }
- end
-
- it do
- is_expected.to contain_archive('/tmp/artifact.war').with(
- 'user' => 'tom',
- 'group' => 'worker',
- 'extract' => true,
- 'extract_path' => '/opt',
- 'creates' => '/opt/artifact/WEB-INF',
- 'cleanup' => true,
- 'checksum_verify' => false
- )
- end
-
- it do
- is_expected.to contain_file('/tmp/artifact.war').that_requires('Archive[/tmp/artifact.war]').with(
- 'owner' => 'tom',
- 'group' => 'worker'
- )
- end
- end
- context 'nexus archive with allow_insecure => true' do
- let(:title) { '/tmp/artifact.war' }
-
- let(:params) do
- {
- url: 'https://oss.sonatype.org',
- gav: 'io.hawt:hawtio-web:1.4.36',
- repository: 'releases',
- packaging: 'war',
- allow_insecure: true
- }
- end
-
- it { is_expected.to contain_archive('/tmp/artifact.war').with_allow_insecure(true) }
- end
- context 'nexus archive with allow_insecure => false' do
- let(:title) { '/tmp/artifact.war' }
-
- let(:params) do
- {
- url: 'https://oss.sonatype.org',
- gav: 'io.hawt:hawtio-web:1.4.36',
- repository: 'releases',
- packaging: 'war',
- allow_insecure: false
- }
- end
-
- it { is_expected.to contain_archive('/tmp/artifact.war').with_allow_insecure(false) }
- end
- context 'nexus archive with allow_insecure => \'foobar\'' do
- let(:title) { '/tmp/artifact.war' }
-
- let(:params) do
- {
- url: 'https://oss.sonatype.org',
- gav: 'io.hawt:hawtio-web:1.4.36',
- repository: 'releases',
- packaging: 'war',
- allow_insecure: 'foobar'
- }
- end
-
- it { is_expected.to compile.and_raise_error(%r{parameter 'allow_insecure' expects a value of type Undef or Boolean, got String}) }
- end
- context 'nexus archive with use_nexus3_urls => false' do
- let(:title) { '/tmp/artifact.war' }
-
- let(:params) do
- {
- url: 'https://oss.sonatype.org',
- gav: 'io.hawt:hawtio-web:1.4.36',
- repository: 'releases',
- packaging: 'war',
- use_nexus3_urls: false
- }
- end
-
- it { is_expected.to contain_archive('/tmp/artifact.war').with_source('https://oss.sonatype.org/service/local/artifact/maven/content?g=io.hawt&a=hawtio-web&v=1.4.36&r=releases&p=war') }
- end
- context 'nexus archive with use_nexus3_urls => true' do
- let(:title) { '/tmp/artifact.war' }
-
- let(:params) do
- {
- url: 'https://oss.sonatype.org',
- gav: 'io.hawt:hawtio-web:1.4.36',
- repository: 'releases',
- packaging: 'war',
- use_nexus3_urls: true
- }
- end
-
- it { is_expected.to contain_archive('/tmp/artifact.war').with_source('https://oss.sonatype.org/repository/releases/io/hawt/hawtio-web/1.4.36/hawtio-web-1.4.36.war') }
- end
-end