summaryrefslogtreecommitdiff
path: root/spec/integration/knife/show_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/integration/knife/show_spec.rb')
-rw-r--r--spec/integration/knife/show_spec.rb197
1 files changed, 0 insertions, 197 deletions
diff --git a/spec/integration/knife/show_spec.rb b/spec/integration/knife/show_spec.rb
deleted file mode 100644
index 6913494916..0000000000
--- a/spec/integration/knife/show_spec.rb
+++ /dev/null
@@ -1,197 +0,0 @@
-#
-# Author:: John Keiser (<jkeiser@chef.io>)
-# Copyright:: Copyright (c) Chef Software 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 "knife_spec_helper"
-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 <<~EOM
- /cookbooks/x/metadata.rb:
- name "x"; version "1.0.0"
- EOM
- end
- it "knife show --local /cookbooks/x/metadata.rb shows the local version" do
- knife("show --local /cookbooks/x/metadata.rb").should_succeed <<~EOM
- /cookbooks/x/metadata.rb:
- name "x"; version "1.0.0"
- EOM
- end
- it "knife show /data_bags/x/y.json shows the remote version" do
- knife("show /data_bags/x/y.json").should_succeed <<~EOM
- /data_bags/x/y.json:
- {
- "id": "y"
- }
- EOM
- end
- it "knife show --local /data_bags/x/y.json shows the local version" do
- knife("show --local /data_bags/x/y.json").should_succeed <<~EOM
- /data_bags/x/y.json:
- {
- "foo": "bar"
- }
- EOM
- end
- it "knife show /environments/x.json shows the remote version" do
- knife("show /environments/x.json").should_succeed <<~EOM
- /environments/x.json:
- {
- "name": "x",
- "description": "",
- "cookbook_versions": {
-
- },
- "default_attributes": {
-
- },
- "override_attributes": {
-
- },
- "json_class": "Chef::Environment",
- "chef_type": "environment"
- }
- EOM
- end
- it "knife show --local /environments/x.json shows the local version" do
- knife("show --local /environments/x.json").should_succeed <<~EOM
- /environments/x.json:
- {
- "foo": "bar"
- }
- EOM
- end
- it "knife show /roles/x.json shows the remote version" do
- knife("show /roles/x.json").should_succeed <<~EOM
- /roles/x.json:
- {
- "name": "x",
- "description": "",
- "json_class": "Chef::Role",
- "chef_type": "role",
- "default_attributes": {
-
- },
- "override_attributes": {
-
- },
- "run_list": [
-
- ],
- "env_run_lists": {
-
- }
- }
- EOM
- end
- it "knife show --local /roles/x.json shows the local version" do
- knife("show --local /roles/x.json").should_succeed <<~EOM
- /roles/x.json:
- {
- "foo": "bar"
- }
- EOM
- end
- # show directory
- it "knife show /data_bags/x fails" do
- knife("show /data_bags/x").should_fail "ERROR: /data_bags/x: is a directory\n"
- end
- it "knife show --local /data_bags/x fails" do
- knife("show --local /data_bags/x").should_fail "ERROR: /data_bags/x: is a directory\n"
- end
- # show nonexistent file
- it "knife show /environments/nonexistent.json fails" do
- knife("show /environments/nonexistent.json").should_fail "ERROR: /environments/nonexistent.json: No such file or directory\n"
- end
- it "knife show --local /environments/nonexistent.json fails" do
- knife("show --local /environments/nonexistent.json").should_fail "ERROR: /environments/nonexistent.json: No such file or directory\n"
- end
- end
- end
-
- when_the_chef_server "has a hash with multiple keys" do
- before do
- environment "x", {
- "default_attributes" => { "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" do
- knife("show /environments/x.json").should_succeed <<~EOM
- /environments/x.json:
- {
- "name": "x",
- "description": "woo",
- "cookbook_versions": {
- "blah": "= 1.0.0"
- },
- "default_attributes": {
- "foo": "bar"
- },
- "override_attributes": {
- "x": "y"
- },
- "json_class": "Chef::Environment",
- "chef_type": "environment"
- }
- EOM
- end
- end
-
- when_the_repository "has an environment with bad JSON" do
- before { file "environments/x.json", "{" }
- it "knife show succeeds" do
- knife("show --local /environments/x.json").should_succeed <<~EOM
- /environments/x.json:
- {
- EOM
- end
- end
-end