diff options
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/acceptance/clone_repo_spec.rb | 40 | ||||
| -rw-r--r-- | spec/unit/puppet/provider/vcsrepo/git_spec.rb | 22 | 
2 files changed, 52 insertions, 10 deletions
diff --git a/spec/acceptance/clone_repo_spec.rb b/spec/acceptance/clone_repo_spec.rb index a989661..23b0b31 100644 --- a/spec/acceptance/clone_repo_spec.rb +++ b/spec/acceptance/clone_repo_spec.rb @@ -318,6 +318,36 @@ describe 'clones a remote repo' do      describe file("#{tmpdir}/testrepo_force/.git") do        it { should be_directory }      end + +    context 'and noop' do +      let(:repo_name) do +        'testrepo_already_exists' +      end +      before(:all) do +        shell("mkdir #{tmpdir}/#{repo_name}") +        shell("cd #{tmpdir}/#{repo_name} && git init") +        shell("cd #{tmpdir}/#{repo_name} && touch a && git add a && git commit -m 'a'") +      end +      after(:all) do +        shell("rm -rf #{tmpdir}/#{repo_name}") +      end + +      it 'applies the manifest' do +        pp = <<-EOS +        vcsrepo { "#{tmpdir}/#{repo_name}": +          ensure   => present, +          source   => "file://#{tmpdir}/testrepo.git", +          provider => git, +          force    => true, +          noop     => true, +        } +        EOS + +        apply_manifest_on(host, pp, :catch_changes => true) do |r| +          expect(r.stdout).to match(/Noop Mode/) +        end +      end +    end    end    context 'as a user' do @@ -474,15 +504,5 @@ describe 'clones a remote repo' do        apply_manifest(pp, :catch_failures => true)        apply_manifest(pp, :catch_changes => true)      end - -    after(:all) do -      pp = <<-EOS -      user { 'testuser-ssh': -        ensure => absent, -        managehome => true, -      } -      EOS -      apply_manifest(pp, :catch_failures => true) -    end    end  end diff --git a/spec/unit/puppet/provider/vcsrepo/git_spec.rb b/spec/unit/puppet/provider/vcsrepo/git_spec.rb index a753610..2fd63f0 100644 --- a/spec/unit/puppet/provider/vcsrepo/git_spec.rb +++ b/spec/unit/puppet/provider/vcsrepo/git_spec.rb @@ -175,6 +175,28 @@ branches          provider.expects(:git).with('checkout', '--force', resource.value(:revision))          provider.create        end +      it "should warn about destroying it using force and noop attribute" do +        resource[:force] = true +        resource[:noop] = true +        resource.delete(:revision) +        provider.expects(:working_copy_exists?).returns(true) + +        provider.expects(:destroy).never +        provider.expects(:create).never +        Puppet::Type::Vcsrepo::Ensure.any_instance.expects(:send_log).with(:notice, "Noop Mode - Would have deleted repository and re-created from latest") +        provider.resource.retrieve +      end +      it "should warn about destroying it using force and global noop" do +        resource[:force] = true +        Puppet[:noop] = true +        resource.delete(:revision) +        provider.expects(:working_copy_exists?).returns(true) + +        provider.expects(:destroy).never +        provider.expects(:create).never +        Puppet::Type::Vcsrepo::Ensure.any_instance.expects(:send_log).with(:notice, "Noop Mode - Would have deleted repository and re-created from latest") +        provider.resource.retrieve +      end      end      context "when the path is not empty and not a repository" do  | 
