From af86e9ba814926f9ee236aabc2ca905b5668af70 Mon Sep 17 00:00:00 2001 From: Bruce Williams Date: Thu, 18 Mar 2010 01:02:02 -0700 Subject: Subversion to use provider example group API for specs --- spec/unit/puppet/provider/vcsrepo/hg_spec.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'spec/unit/puppet/provider/vcsrepo/hg_spec.rb') diff --git a/spec/unit/puppet/provider/vcsrepo/hg_spec.rb b/spec/unit/puppet/provider/vcsrepo/hg_spec.rb index a6c8301..a79571a 100644 --- a/spec/unit/puppet/provider/vcsrepo/hg_spec.rb +++ b/spec/unit/puppet/provider/vcsrepo/hg_spec.rb @@ -13,6 +13,7 @@ describe_provider :vcsrepo, :hg, :resource => {:path => '/tmp/vcsrepo'} do provider.create end end + context_without :revision do it "should just execute 'hg clone' without a revision" do provider.expects(:hg).with('clone', resource.value(:source), resource.value(:path)) @@ -20,6 +21,7 @@ describe_provider :vcsrepo, :hg, :resource => {:path => '/tmp/vcsrepo'} do end end end + context "when a source is not given" do it "should execute 'hg init'" do provider.expects(:hg).with('init', resource.value(:path)) @@ -30,14 +32,14 @@ describe_provider :vcsrepo, :hg, :resource => {:path => '/tmp/vcsrepo'} do describe 'destroying' do it "it should remove the directory" do - FileUtils.expects(:rm_rf).with(resource.value(:path)) + expects_rm_rf provider.destroy end end describe "checking existence" do it "should check for the directory" do - File.expects(:directory?).with(File.join(resource.value(:path), '.hg')) + expects_directory?(true, File.join(resource.value(:path), '.hg')) provider.exists? end end @@ -46,16 +48,19 @@ describe_provider :vcsrepo, :hg, :resource => {:path => '/tmp/vcsrepo'} do before do expects_chdir end + context "when given a non-SHA as the resource revision" do before do provider.expects(:hg).with('parents').returns(fixture(:hg_parents)) provider.expects(:hg).with('tags').returns(fixture(:hg_tags)) end + context "when its SHA is not different than the current SHA", :resource => {:revision => '0.6'} do it "should return the ref" do provider.revision.should == '0.6' end end + context "when its SHA is different than the current SHA", :resource => {:revision => '0.5.3'} do it "should return the current SHA" do provider.revision.should == '34e6012c783a' @@ -66,12 +71,14 @@ describe_provider :vcsrepo, :hg, :resource => {:path => '/tmp/vcsrepo'} do before do provider.expects(:hg).with('parents').returns(fixture(:hg_parents)) end + context "when it is the same as the current SHA", :resource => {:revision => '34e6012c783a'} do it "should return it" do provider.expects(:hg).with('tags').never provider.revision.should == resource.value(:revision) end end + context "when it is not the same as the current SHA", :resource => {:revision => 'not-the-same'} do it "should return the current SHA" do provider.expects(:hg).with('tags').returns(fixture(:hg_tags)) -- cgit v1.2.3