# # Author:: John Keiser () # Copyright:: Copyright (c) 2013 Opscode, Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require "support/shared/integration/integration_helper" require "support/shared/context/config" require "chef/knife/show" describe "knife show", :workstation do include IntegrationSupport include KnifeSupport include_context "default config options" when_the_chef_server "has one of each thing" do before do client "x", "{}" cookbook "x", "1.0.0" data_bag "x", { "y" => "{}" } environment "x", "{}" node "x", "{}" role "x", "{}" user "x", "{}" end when_the_repository "also has one of each thing" do before do file "clients/x.json", { "foo" => "bar" } file "cookbooks/x/metadata.rb", cb_metadata("x", "1.0.0") file "data_bags/x/y.json", { "foo" => "bar" } file "environments/_default.json", { "foo" => "bar" } file "environments/x.json", { "foo" => "bar" } file "nodes/x.json", { "foo" => "bar" } file "roles/x.json", { "foo" => "bar" } file "users/x.json", { "foo" => "bar" } end it "knife show /cookbooks/x/metadata.rb shows the remote version" do knife("show /cookbooks/x/metadata.rb").should_succeed < (RUBY_VERSION < "1.9") do knife("show /environments/x.json").should_succeed < (RUBY_VERSION < "1.9") do knife("show /roles/x.json").should_succeed < { "foo" => "bar" }, "cookbook_versions" => { "blah" => "= 1.0.0"}, "override_attributes" => { "x" => "y" }, "description" => "woo", "name" => "x", } end it "knife show shows the attributes in a predetermined order", :skip => (RUBY_VERSION < "1.9") do knife("show /environments/x.json").should_succeed <