module-concat/spec/acceptance/order_spec.rb
Travis Fields 7bc211ceba MODULES-1764 Fix missing method for check_is_owned_by for windows
Fix tests to use its(:content) instead of deprecated should contain
2015-02-10 16:38:47 -08:00

123 lines
3.1 KiB
Ruby

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