summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan McLellan <btm@opscode.com>2010-10-13 14:41:54 -0700
committerBryan McLellan <btm@opscode.com>2011-02-04 16:33:27 -0800
commit02fcbb170eea2a6731a6b7ea80c4f0a14f2db220 (patch)
tree360f88c8e2f27622cf25cc4339a9393d11d2ada9
parente5eb8a3c6dc31a2f1fb6453a964722c1d0e4dc78 (diff)
downloadchef-02fcbb170eea2a6731a6b7ea80c4f0a14f2db220.tar.gz
CHEF-1717: add unit test for cookbook show 3 args
-rw-r--r--chef/spec/unit/knife/cookbook_show_spec.rb25
1 files changed, 24 insertions, 1 deletions
diff --git a/chef/spec/unit/knife/cookbook_show_spec.rb b/chef/spec/unit/knife/cookbook_show_spec.rb
index 89f836d01d..c52752acd0 100644
--- a/chef/spec/unit/knife/cookbook_show_spec.rb
+++ b/chef/spec/unit/knife/cookbook_show_spec.rb
@@ -63,7 +63,30 @@ describe Chef::Knife::CookbookShow do
end
end
- # FIXME: 3-argument test needed
+ describe "with 3 arguments: name, version, and segment" do
+ before(:each) do
+ @knife.name_args = [ "cookbook_name", "0.1.0", "recipes" ]
+ @cookbook_response = Chef::CookbookVersion.new("cookbook_name")
+ @manifest = {
+ "recipes" => [
+ {
+ :name => "default.rb",
+ :path => "recipes/default.rb",
+ :checksum => "1234",
+ :url => "http://example.org/files/default.rb"
+ }
+ ]
+ }
+ @cookbook_response.manifest = @manifest
+ @response = {"name"=>"default.rb", "url"=>"http://example.org/files/default.rb", "checksum"=>"1234", "path"=>"recipes/default.rb"}
+ end
+
+ it "should print the json of the part" do
+ @rest.should_receive(:get_rest).with("cookbooks/cookbook_name/0.1.0").and_return(@cookbook_response)
+ @knife.should_receive(:output).with(@cookbook_response.manifest["recipes"])
+ @knife.run
+ end
+ end
describe "with 4 arguments: name, version, segment and filename" do
before(:each) do