X-Git-Url: https://git.adam-barratt.org.uk/?p=mirror%2Fdsa-puppet.git;a=blobdiff_plain;f=3rdparty%2Fmodules%2Fconcat%2Fspec%2Facceptance%2Ffragments_are_always_replaced_spec.rb;h=fc3f96a33d2c7a6f8684e69a4bce9ed09547adc0;hp=70d738288638421abb1578d1eb670397c2e949a5;hb=30caaa85aed7015ca0d77216bff175eebd917eb7;hpb=6f656bd4265e3dab13b9af2bf96e9044322e9d8f diff --git a/3rdparty/modules/concat/spec/acceptance/fragments_are_always_replaced_spec.rb b/3rdparty/modules/concat/spec/acceptance/fragments_are_always_replaced_spec.rb index 70d738288..fc3f96a33 100644 --- a/3rdparty/modules/concat/spec/acceptance/fragments_are_always_replaced_spec.rb +++ b/3rdparty/modules/concat/spec/acceptance/fragments_are_always_replaced_spec.rb @@ -1,139 +1,101 @@ require 'spec_helper_acceptance' describe 'concat::fragment replace' do - basedir = default.tmpdir('concat') - - context 'should create fragment files' do - before(:all) do - pp = <<-EOS - file { '#{basedir}': - ensure => directory, - } - EOS - apply_manifest(pp) - end - - pp1 = <<-EOS - concat { '#{basedir}/foo': } - + before(:all) do + @basedir = setup_test_directory + end + + describe 'when run should create fragment files' do + let(:pp1) do + <<-MANIFEST + concat { '#{@basedir}/foo': } concat::fragment { '1': - target => '#{basedir}/foo', + target => '#{@basedir}/foo', content => 'caller has replace unset run 1', } - EOS - pp2 = <<-EOS - concat { '#{basedir}/foo': } - + MANIFEST + end + let(:pp2) do + <<-MANIFEST + concat { '#{@basedir}/foo': } concat::fragment { '1': - target => '#{basedir}/foo', + target => '#{@basedir}/foo', content => 'caller has replace unset run 2', } - EOS - - it 'applies the manifest twice with no stderr' do - apply_manifest(pp1, :catch_failures => true) - apply_manifest(pp1, :catch_changes => true) - apply_manifest(pp2, :catch_failures => true) - apply_manifest(pp2, :catch_changes => true) + MANIFEST end - describe file("#{basedir}/foo") do - it { should be_file } - its(:content) { - should_not match 'caller has replace unset run 1' - should match 'caller has replace unset run 2' - } - end - end # should create fragment files - - context 'should replace its own fragment files when caller has File { replace=>true } set' do - before(:all) do - pp = <<-EOS - file { '#{basedir}': - ensure => directory, - } - EOS - apply_manifest(pp) + it 'applies the manifest twice with no stderr' do + idempotent_apply(pp1) + idempotent_apply(pp2) + expect(file("#{@basedir}/foo")).to be_file + expect(file("#{@basedir}/foo").content).not_to match 'caller has replace unset run 1' + expect(file("#{@basedir}/foo").content).to match 'caller has replace unset run 2' end + end + # should create fragment files - pp1 = <<-EOS + describe 'when run should replace its own fragment files when caller has File { replace=>true } set' do + let(:pp1) do + <<-MANIFEST File { replace=>true } - concat { '#{basedir}/foo': } - + concat { '#{@basedir}/foo': } concat::fragment { '1': - target => '#{basedir}/foo', + target => '#{@basedir}/foo', content => 'caller has replace true set run 1', } - EOS - pp2 = <<-EOS + MANIFEST + end + let(:pp2) do + <<-MANIFEST File { replace=>true } - concat { '#{basedir}/foo': } - + concat { '#{@basedir}/foo': } concat::fragment { '1': - target => '#{basedir}/foo', + target => '#{@basedir}/foo', content => 'caller has replace true set run 2', } - EOS - - it 'applies the manifest twice with no stderr' do - apply_manifest(pp1, :catch_failures => true) - apply_manifest(pp1, :catch_changes => true) - apply_manifest(pp2, :catch_failures => true) - apply_manifest(pp2, :catch_changes => true) + MANIFEST end - describe file("#{basedir}/foo") do - it { should be_file } - its(:content) { - should_not match 'caller has replace true set run 1' - should match 'caller has replace true set run 2' - } - end - end # should replace its own fragment files when caller has File(replace=>true) set - - context 'should replace its own fragment files even when caller has File { replace=>false } set' do - before(:all) do - pp = <<-EOS - file { '#{basedir}': - ensure => directory, - } - EOS - apply_manifest(pp) + it 'applies the manifest twice with no stderr' do + idempotent_apply(pp1) + idempotent_apply(pp2) + expect(file("#{@basedir}/foo")).to be_file + expect(file("#{@basedir}/foo").content).not_to match 'caller has replace true set run 1' + expect(file("#{@basedir}/foo").content).to match 'caller has replace true set run 2' end + end + # should replace its own fragment files when caller has File(replace=>true) set - pp1 = <<-EOS + describe 'when run should replace its own fragment files even when caller has File { replace=>false } set' do + let(:pp1) do + <<-MANIFEST File { replace=>false } - concat { '#{basedir}/foo': } - + concat { '#{@basedir}/foo': } concat::fragment { '1': - target => '#{basedir}/foo', + target => '#{@basedir}/foo', content => 'caller has replace false set run 1', } - EOS - pp2 = <<-EOS + MANIFEST + end + let(:pp2) do + <<-MANIFEST File { replace=>false } - concat { '#{basedir}/foo': } - + concat { '#{@basedir}/foo': } concat::fragment { '1': - target => '#{basedir}/foo', + target => '#{@basedir}/foo', content => 'caller has replace false set run 2', } - EOS - - it 'applies the manifest twice with no stderr' do - apply_manifest(pp1, :catch_failures => true) - apply_manifest(pp1, :catch_changes => true) - apply_manifest(pp2, :catch_failures => true) - apply_manifest(pp2, :catch_changes => true) + MANIFEST end - describe file("#{basedir}/foo") do - it { should be_file } - its(:content) { - should_not match 'caller has replace false set run 1' - should match 'caller has replace false set run 2' - } + it 'applies the manifest twice with no stderr' do + idempotent_apply(pp1) + idempotent_apply(pp2) + expect(file("#{@basedir}/foo")).to be_file + expect(file("#{@basedir}/foo").content).not_to match 'caller has replace false set run 1' + expect(file("#{@basedir}/foo").content).to match 'caller has replace false set run 2' end - end # should replace its own fragment files even when caller has File(replace=>false) set - + end + # should replace its own fragment files even when caller has File(replace=>false) set end