123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- require 'spec_helper_acceptance'
- describe 'concat order' do
- basedir = default.tmpdir('concat')
- context '=> ' do
- shared_examples 'sortby' do |order_by, match_output|
- pp = <<-EOS
- concat { '#{basedir}/foo':
- order => '#{order_by}'
- }
- concat::fragment { '1':
- target => '#{basedir}/foo',
- content => 'string1',
- order => '1',
- }
- concat::fragment { '2':
- target => '#{basedir}/foo',
- content => 'string2',
- order => '2',
- }
- concat::fragment { '10':
- target => '#{basedir}/foo',
- content => 'string10',
- }
- EOS
- it 'applies the manifest twice with no stderr' do
- apply_manifest(pp, :catch_failures => true)
- apply_manifest(pp, :catch_changes => true)
- end
- describe file("#{basedir}/foo") do
- it { should be_file }
- its(:content) { should match match_output }
- end
- end
- describe 'alpha' do
- it_behaves_like 'sortby', 'alpha', /string10string1string2/
- end
- describe 'numeric' do
- it_behaves_like 'sortby', 'numeric', /string1string2string10/
- end
- end
- end # concat order
- describe 'concat::fragment order' do
- basedir = default.tmpdir('concat')
- context '=> reverse order' do
- shared_examples 'order_by' do |order_by, match_output|
- pp = <<-EOS
- concat { '#{basedir}/foo':
- order => '#{order_by}'
- }
- concat::fragment { '1':
- target => '#{basedir}/foo',
- content => 'string1',
- order => '15',
- }
- concat::fragment { '2':
- target => '#{basedir}/foo',
- content => 'string2',
- # default order 10
- }
- concat::fragment { '3':
- target => '#{basedir}/foo',
- content => 'string3',
- order => '1',
- }
- EOS
- it 'applies the manifest twice with no stderr' do
- apply_manifest(pp, :catch_failures => true)
- apply_manifest(pp, :catch_changes => true)
- end
- describe file("#{basedir}/foo") do
- it { should be_file }
- its(:content) { should match match_output }
- end
- end
- describe 'alpha' do
- it_should_behave_like 'order_by', 'alpha', /string2string1string3/
- end
- describe 'numeric' do
- it_should_behave_like 'order_by', 'numeric', /string3string2string1/
- end
- end
- context '=> normal order' do
- pp = <<-EOS
- concat { '#{basedir}/foo': }
- concat::fragment { '1':
- target => '#{basedir}/foo',
- content => 'string1',
- order => '01',
- }
- concat::fragment { '2':
- target => '#{basedir}/foo',
- content => 'string2',
- order => '02'
- }
- concat::fragment { '3':
- target => '#{basedir}/foo',
- content => 'string3',
- order => '03',
- }
- EOS
- it 'applies the manifest twice with no stderr' do
- apply_manifest(pp, :catch_failures => true)
- apply_manifest(pp, :catch_changes => true)
- end
- describe file("#{basedir}/foo") do
- it { should be_file }
- its(:content) { should match /string1string2string3/ }
- end
- end
- end # concat::fragment order
|