'wheel' is the root group for osx.
Conflicts: spec/acceptance/concat_spec.rb spec/acceptance/fragment_source_spec.rb
This commit is contained in:
parent
7232b8f684
commit
98d70da9fd
2 changed files with 113 additions and 137 deletions
|
@ -1,6 +1,22 @@
|
|||
require 'spec_helper_acceptance'
|
||||
|
||||
describe 'basic concat test' do
|
||||
case fact('osfamily')
|
||||
when 'AIX'
|
||||
username = 'root'
|
||||
groupname = 'system'
|
||||
when 'Darwin'
|
||||
username = 'root'
|
||||
groupname = 'wheel'
|
||||
when 'windows'
|
||||
username = 'Administrator'
|
||||
groupname = 'Administrators'
|
||||
else
|
||||
username = 'root'
|
||||
groupname = 'root'
|
||||
end
|
||||
|
||||
describe 'basic concat test', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
|
||||
basedir = default.tmpdir('concat')
|
||||
|
||||
shared_examples 'successfully_applied' do |pp|
|
||||
it 'applies the manifest twice with no stderr' do
|
||||
|
@ -10,64 +26,64 @@ describe 'basic concat test' do
|
|||
|
||||
describe file("#{default['puppetvardir']}/concat") do
|
||||
it { should be_directory }
|
||||
it { should be_owned_by 'root' }
|
||||
it { should be_grouped_into 'root' }
|
||||
it { should be_owned_by username }
|
||||
it { should be_grouped_into groupname }
|
||||
it { should be_mode 755 }
|
||||
end
|
||||
describe file("#{default['puppetvardir']}/concat/bin") do
|
||||
it { should be_directory }
|
||||
it { should be_owned_by 'root' }
|
||||
it { should be_grouped_into 'root' }
|
||||
it { should be_owned_by username }
|
||||
it { should be_grouped_into groupname }
|
||||
it { should be_mode 755 }
|
||||
end
|
||||
describe file("#{default['puppetvardir']}/concat/bin/concatfragments.sh") do
|
||||
it { should be_file }
|
||||
it { should be_owned_by 'root' }
|
||||
#it { should be_grouped_into 'root' }
|
||||
it { should be_owned_by username }
|
||||
#it { should be_grouped_into groupname }
|
||||
it { should be_mode 755 }
|
||||
end
|
||||
describe file("#{default['puppetvardir']}/concat/_tmp_concat_file") do
|
||||
it { should be_directory }
|
||||
it { should be_owned_by 'root' }
|
||||
it { should be_grouped_into 'root' }
|
||||
it { should be_owned_by username }
|
||||
it { should be_grouped_into groupname }
|
||||
it { should be_mode 750 }
|
||||
end
|
||||
describe file("#{default['puppetvardir']}/concat/_tmp_concat_file/fragments") do
|
||||
it { should be_directory }
|
||||
it { should be_owned_by 'root' }
|
||||
it { should be_grouped_into 'root' }
|
||||
it { should be_owned_by username }
|
||||
it { should be_grouped_into groupname }
|
||||
it { should be_mode 750 }
|
||||
end
|
||||
describe file("#{default['puppetvardir']}/concat/_tmp_concat_file/fragments.concat") do
|
||||
it { should be_file }
|
||||
it { should be_owned_by 'root' }
|
||||
it { should be_grouped_into 'root' }
|
||||
it { should be_owned_by username }
|
||||
it { should be_grouped_into groupname }
|
||||
it { should be_mode 640 }
|
||||
end
|
||||
describe file("#{default['puppetvardir']}/concat/_tmp_concat_file/fragments.concat.out") do
|
||||
it { should be_file }
|
||||
it { should be_owned_by 'root' }
|
||||
it { should be_grouped_into 'root' }
|
||||
it { should be_owned_by username }
|
||||
it { should be_grouped_into groupname }
|
||||
it { should be_mode 640 }
|
||||
end
|
||||
end
|
||||
|
||||
context 'owner/group root' do
|
||||
pp = <<-EOS
|
||||
concat { '/tmp/concat/file':
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
concat { '#{basedir}/file':
|
||||
owner => '#{username}',
|
||||
group => '#{groupname}',
|
||||
mode => '0644',
|
||||
}
|
||||
|
||||
concat::fragment { '1':
|
||||
target => '/tmp/concat/file',
|
||||
target => '#{basedir}/file',
|
||||
content => '1',
|
||||
order => '01',
|
||||
}
|
||||
|
||||
concat::fragment { '2':
|
||||
target => '/tmp/concat/file',
|
||||
target => '#{basedir}/file',
|
||||
content => '2',
|
||||
order => '02',
|
||||
}
|
||||
|
@ -75,89 +91,34 @@ describe 'basic concat test' do
|
|||
|
||||
it_behaves_like 'successfully_applied', pp
|
||||
|
||||
describe file('/tmp/concat/file') do
|
||||
describe file('#{basedir}/file') do
|
||||
it { should be_file }
|
||||
it { should be_owned_by 'root' }
|
||||
it { should be_grouped_into 'root' }
|
||||
it { should be_owned_by username }
|
||||
it { should be_grouped_into groupname }
|
||||
it { should be_mode 644 }
|
||||
it { should contain '1' }
|
||||
it { should contain '2' }
|
||||
end
|
||||
describe file("#{default['puppetvardir']}/concat/_tmp_concat_file/fragments/01_1") do
|
||||
it { should be_file }
|
||||
it { should be_owned_by 'root' }
|
||||
it { should be_grouped_into 'root' }
|
||||
it { should be_owned_by username }
|
||||
it { should be_grouped_into groupname }
|
||||
it { should be_mode 640 }
|
||||
end
|
||||
describe file("#{default['puppetvardir']}/concat/_tmp_concat_file/fragments/02_2") do
|
||||
it { should be_file }
|
||||
it { should be_owned_by 'root' }
|
||||
it { should be_grouped_into 'root' }
|
||||
it { should be_owned_by username }
|
||||
it { should be_grouped_into groupname }
|
||||
it { should be_mode 640 }
|
||||
end
|
||||
end
|
||||
|
||||
context 'owner/group non-root' do
|
||||
before(:all) do
|
||||
shell "groupadd -g 64444 bob"
|
||||
shell "useradd -u 42 -g 64444 bob"
|
||||
end
|
||||
after(:all) do
|
||||
shell "userdel bob"
|
||||
end
|
||||
|
||||
pp="
|
||||
concat { '/tmp/concat/file':
|
||||
owner => 'bob',
|
||||
group => 'bob',
|
||||
mode => '0644',
|
||||
}
|
||||
|
||||
concat::fragment { '1':
|
||||
target => '/tmp/concat/file',
|
||||
content => '1',
|
||||
order => '01',
|
||||
}
|
||||
|
||||
concat::fragment { '2':
|
||||
target => '/tmp/concat/file',
|
||||
content => '2',
|
||||
order => '02',
|
||||
}
|
||||
"
|
||||
|
||||
it_behaves_like 'successfully_applied', pp
|
||||
|
||||
describe file('/tmp/concat/file') do
|
||||
it { should be_file }
|
||||
it { should be_owned_by 'bob' }
|
||||
it { should be_grouped_into 'bob' }
|
||||
it { should be_mode 644 }
|
||||
it { should contain '1' }
|
||||
it { should contain '2' }
|
||||
end
|
||||
describe file("#{default['puppetvardir']}/concat/_tmp_concat_file/fragments/01_1") do
|
||||
it { should be_file }
|
||||
it { should be_owned_by 'root' }
|
||||
it { should be_grouped_into 'root' }
|
||||
it { should be_mode 640 }
|
||||
it { should contain '1' }
|
||||
end
|
||||
describe file("#{default['puppetvardir']}/concat/_tmp_concat_file/fragments/02_2") do
|
||||
it { should be_file }
|
||||
it { should be_owned_by 'root' }
|
||||
it { should be_grouped_into 'root' }
|
||||
it { should be_mode 640 }
|
||||
it { should contain '2' }
|
||||
end
|
||||
end
|
||||
|
||||
context 'ensure' do
|
||||
context 'works when set to present with path set' do
|
||||
pp="
|
||||
concat { 'file':
|
||||
ensure => present,
|
||||
path => '/tmp/concat/file',
|
||||
path => '#{basedir}/file',
|
||||
mode => '0644',
|
||||
}
|
||||
concat::fragment { '1':
|
||||
|
@ -169,7 +130,7 @@ describe 'basic concat test' do
|
|||
|
||||
it_behaves_like 'successfully_applied', pp
|
||||
|
||||
describe file('/tmp/concat/file') do
|
||||
describe file('#{basedir}/file') do
|
||||
it { should be_file }
|
||||
it { should be_mode 644 }
|
||||
it { should contain '1' }
|
||||
|
@ -179,7 +140,7 @@ describe 'basic concat test' do
|
|||
pp="
|
||||
concat { 'file':
|
||||
ensure => absent,
|
||||
path => '/tmp/concat/file',
|
||||
path => '#{basedir}/file',
|
||||
mode => '0644',
|
||||
}
|
||||
concat::fragment { '1':
|
||||
|
@ -193,10 +154,10 @@ describe 'basic concat test' do
|
|||
# absent is set.
|
||||
it 'applies the manifest twice with no stderr' do
|
||||
apply_manifest(pp, :catch_failures => true)
|
||||
apply_manifest(pp, :catch_failures => true)
|
||||
apply_manifest(pp, :catch_changes => true)
|
||||
end
|
||||
|
||||
describe file('/tmp/concat/file') do
|
||||
describe file('#{basedir}/file') do
|
||||
it { should_not be_file }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,26 +1,45 @@
|
|||
require 'spec_helper_acceptance'
|
||||
|
||||
describe 'concat::fragment source' do
|
||||
context 'should read file fragments from local system' do
|
||||
before(:all) do
|
||||
shell("/bin/echo 'file1 contents' > /tmp/concat/file1")
|
||||
shell("/bin/echo 'file2 contents' > /tmp/concat/file2")
|
||||
end
|
||||
case fact('osfamily')
|
||||
when 'AIX'
|
||||
username = 'root'
|
||||
groupname = 'system'
|
||||
when 'Darwin'
|
||||
username = 'root'
|
||||
groupname = 'wheel'
|
||||
when 'windows'
|
||||
username = 'Administrator'
|
||||
groupname = 'Administrators'
|
||||
else
|
||||
username = 'root'
|
||||
groupname = 'root'
|
||||
end
|
||||
|
||||
describe 'concat::fragment source', :unless => UNSUPPORTED_PLATFORMS.include?(fact('osfamily')) do
|
||||
basedir = default.tmpdir('concat')
|
||||
context 'should read file fragments from local system' do
|
||||
pp = <<-EOS
|
||||
concat { '/tmp/concat/foo': }
|
||||
file { '#{basedir}/file1':
|
||||
content => "file1 contents\n"
|
||||
}
|
||||
file { '#{basedir}/file2':
|
||||
content => "file2 contents\n"
|
||||
}
|
||||
concat { '#{basedir}/foo': }
|
||||
|
||||
concat::fragment { '1':
|
||||
target => '/tmp/concat/foo',
|
||||
source => '/tmp/concat/file1',
|
||||
target => '#{basedir}/foo',
|
||||
source => '#{basedir}/file1',
|
||||
require => File['#{basedir}/file1'],
|
||||
}
|
||||
concat::fragment { '2':
|
||||
target => '/tmp/concat/foo',
|
||||
target => '#{basedir}/foo',
|
||||
content => 'string1 contents',
|
||||
}
|
||||
concat::fragment { '3':
|
||||
target => '/tmp/concat/foo',
|
||||
source => '/tmp/concat/file2',
|
||||
target => '#{basedir}/foo',
|
||||
source => '#{basedir}/file2',
|
||||
require => File['#{basedir}/file2'],
|
||||
}
|
||||
EOS
|
||||
|
||||
|
@ -29,7 +48,7 @@ describe 'concat::fragment source' do
|
|||
apply_manifest(pp, :catch_changes => true)
|
||||
end
|
||||
|
||||
describe file('/tmp/concat/foo') do
|
||||
describe file('#{basedir}/foo') do
|
||||
it { should be_file }
|
||||
it { should contain 'file1 contents' }
|
||||
it { should contain 'string1 contents' }
|
||||
|
@ -38,43 +57,45 @@ describe 'concat::fragment source' do
|
|||
end # should read file fragments from local system
|
||||
|
||||
context 'should create files containing first match only.' do
|
||||
before(:all) do
|
||||
shell('rm -rf /tmp/concat /var/lib/puppet/concat')
|
||||
shell('mkdir -p /tmp/concat')
|
||||
shell("/bin/echo 'file1 contents' > /tmp/concat/file1")
|
||||
shell("/bin/echo 'file2 contents' > /tmp/concat/file2")
|
||||
end
|
||||
|
||||
pp = <<-EOS
|
||||
concat { '/tmp/concat/result_file1':
|
||||
owner => root,
|
||||
group => root,
|
||||
file { '#{basedir}/file1':
|
||||
content => "file1 contents\n"
|
||||
}
|
||||
file { '#{basedir}/file2':
|
||||
content => "file2 contents\n"
|
||||
}
|
||||
concat { '#{basedir}/result_file1':
|
||||
owner => '#{username}',
|
||||
group => '#{groupname}',
|
||||
mode => '0644',
|
||||
}
|
||||
concat { '/tmp/concat/result_file2':
|
||||
owner => root,
|
||||
group => root,
|
||||
concat { '#{basedir}/result_file2':
|
||||
owner => '#{username}',
|
||||
group => '#{groupname}',
|
||||
mode => '0644',
|
||||
}
|
||||
concat { '/tmp/concat/result_file3':
|
||||
owner => root,
|
||||
group => root,
|
||||
concat { '#{basedir}/result_file3':
|
||||
owner => '#{username}',
|
||||
group => '#{groupname}',
|
||||
mode => '0644',
|
||||
}
|
||||
|
||||
concat::fragment { '1':
|
||||
target => '/tmp/concat/result_file1',
|
||||
source => [ '/tmp/concat/file1', '/tmp/concat/file2' ],
|
||||
target => '#{basedir}/result_file1',
|
||||
source => [ '#{basedir}/file1', '#{basedir}/file2' ],
|
||||
require => [ File['#{basedir}/file1'], File['#{basedir}/file2'] ],
|
||||
order => '01',
|
||||
}
|
||||
concat::fragment { '2':
|
||||
target => '/tmp/concat/result_file2',
|
||||
source => [ '/tmp/concat/file2', '/tmp/concat/file1' ],
|
||||
target => '#{basedir}/result_file2',
|
||||
source => [ '#{basedir}/file2', '#{basedir}/file1' ],
|
||||
require => [ File['#{basedir}/file1'], File['#{basedir}/file2'] ],
|
||||
order => '01',
|
||||
}
|
||||
concat::fragment { '3':
|
||||
target => '/tmp/concat/result_file3',
|
||||
source => [ '/tmp/concat/file1', '/tmp/concat/file2' ],
|
||||
target => '#{basedir}/result_file3',
|
||||
source => [ '#{basedir}/file1', '#{basedir}/file2' ],
|
||||
require => [ File['#{basedir}/file1'], File['#{basedir}/file2'] ],
|
||||
order => '01',
|
||||
}
|
||||
EOS
|
||||
|
@ -83,17 +104,17 @@ describe 'concat::fragment source' do
|
|||
apply_manifest(pp, :catch_failures => true)
|
||||
apply_manifest(pp, :catch_changes => true)
|
||||
end
|
||||
describe file('/tmp/concat/result_file1') do
|
||||
describe file('#{basedir}/result_file1') do
|
||||
it { should be_file }
|
||||
it { should contain 'file1 contents' }
|
||||
it { should_not contain 'file2 contents' }
|
||||
end
|
||||
describe file('/tmp/concat/result_file2') do
|
||||
describe file('#{basedir}/result_file2') do
|
||||
it { should be_file }
|
||||
it { should contain 'file2 contents' }
|
||||
it { should_not contain 'file1 contents' }
|
||||
end
|
||||
describe file('/tmp/concat/result_file3') do
|
||||
describe file('#{basedir}/result_file3') do
|
||||
it { should be_file }
|
||||
it { should contain 'file1 contents' }
|
||||
it { should_not contain 'file2 contents' }
|
||||
|
@ -101,22 +122,16 @@ describe 'concat::fragment source' do
|
|||
end
|
||||
|
||||
context 'should fail if no match on source.' do
|
||||
before(:all) do
|
||||
shell('rm -rf /tmp/concat /var/lib/puppet/concat')
|
||||
shell('mkdir -p /tmp/concat')
|
||||
shell('/bin/rm -rf /tmp/concat/fail_no_source /tmp/concat/nofilehere /tmp/concat/nothereeither')
|
||||
end
|
||||
|
||||
pp = <<-EOS
|
||||
concat { '/tmp/concat/fail_no_source':
|
||||
owner => root,
|
||||
group => root,
|
||||
concat { '#{basedir}/fail_no_source':
|
||||
owner => '#{username}',
|
||||
group => '#{groupname}',
|
||||
mode => '0644',
|
||||
}
|
||||
|
||||
concat::fragment { '1':
|
||||
target => '/tmp/concat/fail_no_source',
|
||||
source => [ '/tmp/concat/nofilehere', '/tmp/concat/nothereeither' ],
|
||||
target => '#{basedir}/fail_no_source',
|
||||
source => [ '#{basedir}/nofilehere', '#{basedir}/nothereeither' ],
|
||||
order => '01',
|
||||
}
|
||||
EOS
|
||||
|
@ -124,7 +139,7 @@ describe 'concat::fragment source' do
|
|||
it 'applies the manifest with resource failures' do
|
||||
apply_manifest(pp, :expect_failures => true)
|
||||
end
|
||||
describe file('/tmp/concat/fail_no_source') do
|
||||
describe file('#{basedir}/fail_no_source') do
|
||||
#FIXME: Serverspec::Type::File doesn't support exists? for some reason. so... hack.
|
||||
it { should_not be_file }
|
||||
it { should_not be_directory }
|
||||
|
|
Loading…
Reference in a new issue