# # 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/raw' require 'chef/knife/show' describe 'knife raw' do include IntegrationSupport include KnifeSupport include AppServerSupport 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 it 'knife raw /nodes/x returns the node', :pending => (RUBY_VERSION < "1.9") do knife('raw /nodes/x').should_succeed < (RUBY_VERSION < "1.9") do knife('raw -m DELETE /roles/x').should_succeed < (RUBY_VERSION < "1.9") do Tempfile.open('raw_put_input') do |file| file.write < (RUBY_VERSION < "1.9") do Tempfile.open('raw_put_input') do |file| file.write < 'application/json' }, ['{ "x": "y", "a": "b" }'] ] end @raw_server, @raw_server_thread = start_app_server(app, 9018) end after :each do @raw_server.shutdown if @raw_server @raw_server_thread.kill if @raw_server_thread end it 'knife raw /blah returns the prettified json', :pending => (RUBY_VERSION < "1.9") do knife('raw /blah').should_succeed < 'text' }, ['{ "x": "y", "a": "b" }'] ] end @raw_server, @raw_server_thread = start_app_server(app, 9018) end after :each do @raw_server.shutdown if @raw_server @raw_server_thread.kill if @raw_server_thread end it 'knife raw /blah returns the raw text' do knife('raw /blah').should_succeed(<