diff options
author | Tim Smith <tsmith@chef.io> | 2018-11-04 12:59:37 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-04 12:59:37 -0800 |
commit | ffdeb56f86eae061df56836d70e0f16f2db1c3bc (patch) | |
tree | 835a87085fdade057eebcf59234ba51f4056180f | |
parent | bab2c55cd1566c28981d3ffd89326215f15c5fb4 (diff) | |
parent | 4f3ac5b5fd3a965317a970691634f5f0697063cf (diff) | |
download | chef-ffdeb56f86eae061df56836d70e0f16f2db1c3bc.tar.gz |
Merge pull request #7841 from chef/osc11
Remove knife user support for open source Chef Server < 12
-rw-r--r-- | lib/chef/knife/osc_user_delete.rb | 51 | ||||
-rw-r--r-- | lib/chef/knife/osc_user_show.rb | 53 | ||||
-rw-r--r-- | lib/chef/knife/user_create.rb | 108 | ||||
-rw-r--r-- | lib/chef/knife/user_delete.rb | 54 | ||||
-rw-r--r-- | lib/chef/knife/user_edit.rb | 46 | ||||
-rw-r--r-- | lib/chef/knife/user_list.rb | 2 | ||||
-rw-r--r-- | lib/chef/knife/user_reregister.rb | 47 | ||||
-rw-r--r-- | lib/chef/knife/user_show.rb | 33 | ||||
-rw-r--r-- | spec/unit/knife/osc_user_create_spec.rb | 93 | ||||
-rw-r--r-- | spec/unit/knife/osc_user_delete_spec.rb | 44 | ||||
-rw-r--r-- | spec/unit/knife/osc_user_edit_spec.rb | 52 | ||||
-rw-r--r-- | spec/unit/knife/osc_user_list_spec.rb | 37 | ||||
-rw-r--r-- | spec/unit/knife/osc_user_reregister_spec.rb | 58 | ||||
-rw-r--r-- | spec/unit/knife/osc_user_show_spec.rb | 46 | ||||
-rw-r--r-- | spec/unit/knife/user_create_spec.rb | 30 | ||||
-rw-r--r-- | spec/unit/knife/user_delete_spec.rb | 21 | ||||
-rw-r--r-- | spec/unit/knife/user_edit_spec.rb | 18 | ||||
-rw-r--r-- | spec/unit/knife/user_reregister_spec.rb | 18 | ||||
-rw-r--r-- | spec/unit/knife/user_show_spec.rb | 19 |
19 files changed, 51 insertions, 779 deletions
diff --git a/lib/chef/knife/osc_user_delete.rb b/lib/chef/knife/osc_user_delete.rb deleted file mode 100644 index 51abc1c668..0000000000 --- a/lib/chef/knife/osc_user_delete.rb +++ /dev/null @@ -1,51 +0,0 @@ -# -# Author:: Steven Danna (<steve@chef.io>) -# Copyright:: Copyright 2012-2016, 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 "chef/knife" - -# DEPRECATION NOTE -# This code only remains to support users still operating with -# Open Source Chef Server 11 and should be removed once support -# for OSC 11 ends. New development should occur in the user_delete.rb. - -class Chef - class Knife - class OscUserDelete < Knife - - deps do - require "chef/user" - require "chef/json_compat" - end - - banner "knife osc_user delete USER (options)" - - def run - @user_name = @name_args[0] - - if @user_name.nil? - show_usage - ui.fatal("You must specify a user name") - exit 1 - end - - delete_object(Chef::User, @user_name) - end - - end - end -end diff --git a/lib/chef/knife/osc_user_show.rb b/lib/chef/knife/osc_user_show.rb deleted file mode 100644 index 5350837ad3..0000000000 --- a/lib/chef/knife/osc_user_show.rb +++ /dev/null @@ -1,53 +0,0 @@ -# -# Author:: Steven Danna (<steve@chef.io>) -# Copyright:: Copyright 2009-2016, 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 "chef/knife" - -# DEPRECATION NOTE -# This code only remains to support users still operating with -# Open Source Chef Server 11 and should be removed once support -# for OSC 11 ends. New development should occur in user_show.rb. - -class Chef - class Knife - class OscUserShow < Knife - - include Knife::Core::MultiAttributeReturnOption - - deps do - require "chef/user" - require "chef/json_compat" - end - - banner "knife osc_user show USER (options)" - - def run - @user_name = @name_args[0] - - if @user_name.nil? - show_usage - ui.fatal("You must specify a user name") - exit 1 - end - - user = Chef::User.load(@user_name) - output(format_for_display(user)) - end - end - end -end diff --git a/lib/chef/knife/user_create.rb b/lib/chef/knife/user_create.rb index 3553e4db44..333064d9c9 100644 --- a/lib/chef/knife/user_create.rb +++ b/lib/chef/knife/user_create.rb @@ -45,18 +45,6 @@ class Chef description: "API V1 (Chef Server 12.1+) only. Prevent server from generating a default key pair for you. Cannot be passed with --user-key.", boolean: true - option :admin, - short: "-a", - long: "--admin", - description: "DEPRECATED: Open Source Chef 11 only. Create the user as an admin.", - boolean: true - - option :user_password, - short: "-p PASSWORD", - long: "--password PASSWORD", - description: "DEPRECATED: Open Source Chef 11 only. Password for newly created user.", - default: "" - banner "knife user create USERNAME DISPLAY_NAME FIRST_NAME LAST_NAME EMAIL PASSWORD (options)" def user @@ -67,82 +55,50 @@ class Chef Chef::UserV1.from_hash(hash).create end - def osc_11_warning - <<~EOF - IF YOU ARE USING CHEF SERVER 12+, PLEASE FOLLOW THE INSTRUCTIONS UNDER knife user create --help. - You only passed a single argument to knife user create. - For backwards compatibility, when only a single argument is passed, - knife user create assumes you want Open Source 11 Server user creation. - knife user create for Open Source 11 Server is being deprecated. - Open Source 11 Server user commands now live under the knife osc_user namespace. - For backwards compatibility, we will forward this request to knife osc_user create. - If you are using an Open Source 11 Server, please use that command to avoid this warning. - NOTE: Backwards compatibility for Open Source 11 Server in these commands will be removed - in Chef 15 which will be released April 2019. -EOF - end - - def run_osc_11_user_create - # run osc_user_create with our input - ARGV.delete("user") - ARGV.unshift("osc_user") - Chef::Knife.run(ARGV, Chef::Application::Knife.options) - end - def run - # DEPRECATION NOTE - # Remove this if statement and corrosponding code post OSC 11 support. - # - # If only 1 arg is passed, assume OSC 11 case. - if @name_args.length == 1 - ui.warn(osc_11_warning) - run_osc_11_user_create - else # EC / CS 12 user create + test_mandatory_field(@name_args[0], "username") + user.username @name_args[0] - test_mandatory_field(@name_args[0], "username") - user.username @name_args[0] + test_mandatory_field(@name_args[1], "display name") + user.display_name @name_args[1] - test_mandatory_field(@name_args[1], "display name") - user.display_name @name_args[1] + test_mandatory_field(@name_args[2], "first name") + user.first_name @name_args[2] - test_mandatory_field(@name_args[2], "first name") - user.first_name @name_args[2] + test_mandatory_field(@name_args[3], "last name") + user.last_name @name_args[3] - test_mandatory_field(@name_args[3], "last name") - user.last_name @name_args[3] + test_mandatory_field(@name_args[4], "email") + user.email @name_args[4] - test_mandatory_field(@name_args[4], "email") - user.email @name_args[4] + test_mandatory_field(@name_args[5], "password") + user.password @name_args[5] - test_mandatory_field(@name_args[5], "password") - user.password @name_args[5] + if config[:user_key] && config[:prevent_keygen] + show_usage + ui.fatal("You cannot pass --user-key and --prevent-keygen") + exit 1 + end - if config[:user_key] && config[:prevent_keygen] - show_usage - ui.fatal("You cannot pass --user-key and --prevent-keygen") - exit 1 - end + if !config[:prevent_keygen] && !config[:user_key] + user.create_key(true) + end - if !config[:prevent_keygen] && !config[:user_key] - user.create_key(true) - end + if config[:user_key] + user.public_key File.read(File.expand_path(config[:user_key])) + end - if config[:user_key] - user.public_key File.read(File.expand_path(config[:user_key])) - end + output = edit_hash(user) + final_user = create_user_from_hash(output) - output = edit_hash(user) - final_user = create_user_from_hash(output) - - ui.info("Created #{user}") - if final_user.private_key - if config[:file] - File.open(config[:file], "w") do |f| - f.print(final_user.private_key) - end - else - ui.msg final_user.private_key + ui.info("Created #{user}") + if final_user.private_key + if config[:file] + File.open(config[:file], "w") do |f| + f.print(final_user.private_key) end + else + ui.msg final_user.private_key end end end diff --git a/lib/chef/knife/user_delete.rb b/lib/chef/knife/user_delete.rb index 38122975c7..2638d2cce3 100644 --- a/lib/chef/knife/user_delete.rb +++ b/lib/chef/knife/user_delete.rb @@ -28,42 +28,6 @@ class Chef banner "knife user delete USER (options)" - def osc_11_warning - <<~EOF - The Chef Server you are using does not support the username field. - This means it is an Open Source 11 Server. - knife user delete for Open Source 11 Server is being deprecated. - Open Source 11 Server user commands now live under the knife osc_user namespace. - For backwards compatibility, we will forward this request to knife osc_user delete. - If you are using an Open Source 11 Server, please use that command to avoid this warning. - NOTE: Backwards compatibility for Open Source 11 Server in these commands will be removed - in Chef 15 which will be released April 2019. -EOF - end - - def run_osc_11_user_delete - # run osc_user_delete with our input - ARGV.delete("user") - ARGV.unshift("osc_user") - Chef::Knife.run(ARGV, Chef::Application::Knife.options) - end - - # DEPRECATION NOTE - # Delete this override method after OSC 11 support is dropped - def delete_object(user_name) - confirm("Do you really want to delete #{user_name}") - - if Kernel.block_given? - object = block.call - else - object = Chef::UserV1.load(user_name) - object.destroy - end - - output(format_for_display(object)) if config[:print_after] - msg("Deleted #{user_name}") - end - def run @user_name = @name_args[0] @@ -73,23 +37,7 @@ EOF exit 1 end - # DEPRECATION NOTE - # - # Below is modification of Chef::Knife.delete_object to detect OSC 11 server. - # When OSC 11 is deprecated, simply delete all this and go back to: - # - # delete_object(Chef::UserV1, @user_name) - # - # Also delete our override of delete_object above - object = Chef::UserV1.load(@user_name) - - # OSC 11 case - if object.username.nil? - ui.warn(osc_11_warning) - run_osc_11_user_delete - else # proceed with EC / CS delete - delete_object(@user_name) - end + delete_object(Chef::UserV1, @user_name) end end end diff --git a/lib/chef/knife/user_edit.rb b/lib/chef/knife/user_edit.rb index eb6d74c470..a039525001 100644 --- a/lib/chef/knife/user_edit.rb +++ b/lib/chef/knife/user_edit.rb @@ -28,26 +28,6 @@ class Chef banner "knife user edit USER (options)" - def osc_11_warning - <<~EOF - The Chef Server you are using does not support the username field. - This means it is an Open Source 11 Server. - knife user edit for Open Source 11 Server is being deprecated. - Open Source 11 Server user commands now live under the knife oc_user namespace. - For backwards compatibility, we will forward this request to knife osc_user edit. - If you are using an Open Source 11 Server, please use that command to avoid this warning. - NOTE: Backwards compatibility for Open Source 11 Server in these commands will be removed - in Chef 15 which will be released April 2019. -EOF - end - - def run_osc_11_user_edit - # run osc_user_create with our input - ARGV.delete("user") - ARGV.unshift("osc_user") - Chef::Knife.run(ARGV, Chef::Application::Knife.options) - end - def run @user_name = @name_args[0] @@ -57,24 +37,14 @@ EOF exit 1 end - original_user = Chef::UserV1.load(@user_name).to_h - # DEPRECATION NOTE - # Remove this if statement and corrosponding code post OSC 11 support. - # - # if username is nil, we are in the OSC 11 case, - # forward to deprecated command - if original_user["username"].nil? - ui.warn(osc_11_warning) - run_osc_11_user_edit - else # EC / CS 12 user create - edited_user = edit_hash(original_user) - if original_user != edited_user - user = Chef::UserV1.from_hash(edited_user) - user.update - ui.msg("Saved #{user}.") - else - ui.msg("User unchanged, not saving.") - end + original_user = Chef::UserV1.load(@user_name).to_hash + edited_user = edit_hash(original_user) + if original_user != edited_user + user = Chef::UserV1.from_hash(edited_user) + user.update + ui.msg("Saved #{user}.") + else + ui.msg("User unchanged, not saving.") end end end diff --git a/lib/chef/knife/user_list.rb b/lib/chef/knife/user_list.rb index c1c0fa5109..31758ce117 100644 --- a/lib/chef/knife/user_list.rb +++ b/lib/chef/knife/user_list.rb @@ -18,8 +18,6 @@ require "chef/knife" -# NOTE: only knife user command that is backwards compatible with OSC 11, -# so no deprecation warnings are necessary. class Chef class Knife class UserList < Knife diff --git a/lib/chef/knife/user_reregister.rb b/lib/chef/knife/user_reregister.rb index 97840cadf3..3c63c32f29 100644 --- a/lib/chef/knife/user_reregister.rb +++ b/lib/chef/knife/user_reregister.rb @@ -28,26 +28,6 @@ class Chef banner "knife user reregister USER (options)" - def osc_11_warning - <<~EOF - The Chef Server you are using does not support the username field. - This means it is an Open Source 11 Server. - knife user reregister for Open Source 11 Server is being deprecated. - Open Source 11 Server user commands now live under the knife osc_user namespace. - For backwards compatibility, we will forward this request to knife osc_user reregister. - If you are using an Open Source 11 Server, please use that command to avoid this warning. - NOTE: Backwards compatibility for Open Source 11 Server in these commands will be removed - in Chef 15 which will be released April 2019. -EOF - end - - def run_osc_11_user_reregister - # run osc_user_edit with our input - ARGV.delete("user") - ARGV.unshift("osc_user") - Chef::Knife.run(ARGV, Chef::Application::Knife.options) - end - option :file, short: "-f FILE", long: "--file FILE", @@ -63,26 +43,15 @@ EOF end user = Chef::UserV1.load(@user_name) - - # DEPRECATION NOTE - # Remove this if statement and corrosponding code post OSC 11 support. - # - # if username is nil, we are in the OSC 11 case, - # forward to deprecated command - if user.username.nil? - ui.warn(osc_11_warning) - run_osc_11_user_reregister - else # EC / CS 12 case - user.reregister - Chef::Log.trace("Updated user data: #{user.inspect}") - key = user.private_key - if config[:file] - File.open(config[:file], "w") do |f| - f.print(key) - end - else - ui.msg key + user.reregister + Chef::Log.trace("Updated user data: #{user.inspect}") + key = user.private_key + if config[:file] + File.open(config[:file], "w") do |f| + f.print(key) end + else + ui.msg key end end end diff --git a/lib/chef/knife/user_show.rb b/lib/chef/knife/user_show.rb index 544d420346..a27549aea7 100644 --- a/lib/chef/knife/user_show.rb +++ b/lib/chef/knife/user_show.rb @@ -30,26 +30,6 @@ class Chef banner "knife user show USER (options)" - def osc_11_warning - <<~EOF - The Chef Server you are using does not support the username field. - This means it is an Open Source 11 Server. - knife user show for Open Source 11 Server is being deprecated. - Open Source 11 Server user commands now live under the knife osc_user namespace. - For backwards compatibility, we will forward this request to knife osc_user show. - If you are using an Open Source 11 Server, please use that command to avoid this warning. - NOTE: Backwards compatibility for Open Source 11 Server in these commands will be removed - in Chef 15 which will be released April 2019. -EOF - end - - def run_osc_11_user_show - # run osc_user_edit with our input - ARGV.delete("user") - ARGV.unshift("osc_user") - Chef::Knife.run(ARGV, Chef::Application::Knife.options) - end - def run @user_name = @name_args[0] @@ -60,18 +40,7 @@ EOF end user = Chef::UserV1.load(@user_name) - - # DEPRECATION NOTE - # Remove this if statement and corrosponding code post OSC 11 support. - # - # if username is nil, we are in the OSC 11 case, - # forward to deprecated command - if user.username.nil? - ui.warn(osc_11_warning) - run_osc_11_user_show - else - output(format_for_display(user)) - end + output(format_for_display(user)) end end diff --git a/spec/unit/knife/osc_user_create_spec.rb b/spec/unit/knife/osc_user_create_spec.rb deleted file mode 100644 index 0413d46f78..0000000000 --- a/spec/unit/knife/osc_user_create_spec.rb +++ /dev/null @@ -1,93 +0,0 @@ -# -# Author:: Steven Danna (<steve@chef.io>) -# Copyright:: Copyright 2012-2016, 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 "spec_helper" - -Chef::Knife::OscUserCreate.load_deps - -# DEPRECATION NOTE -# This code only remains to support users still operating with -# Open Source Chef Server 11 and should be removed once support -# for OSC 11 ends. New development should occur in user_create_spec.rb. - -describe Chef::Knife::OscUserCreate do - before(:each) do - @knife = Chef::Knife::OscUserCreate.new - - @stdout = StringIO.new - @stderr = StringIO.new - allow(@knife.ui).to receive(:stdout).and_return(@stdout) - allow(@knife.ui).to receive(:stderr).and_return(@stderr) - - @knife.name_args = [ "a_user" ] - @knife.config[:user_password] = "foobar" - @user = Chef::User.new - @user.name "a_user" - @user_with_private_key = Chef::User.new - @user_with_private_key.name "a_user" - @user_with_private_key.private_key "private_key" - allow(@user).to receive(:create).and_return(@user_with_private_key) - allow(Chef::User).to receive(:new).and_return(@user) - allow(Chef::User).to receive(:from_hash).and_return(@user) - allow(@knife).to receive(:edit_hash).and_return(@user.to_hash) - end - - it "creates a new user" do - expect(Chef::User).to receive(:new).and_return(@user) - expect(@user).to receive(:create) - @knife.run - expect(@stderr.string).to match /created user.+a_user/i - end - - it "sets the password" do - @knife.config[:user_password] = "a_password" - expect(@user).to receive(:password).with("a_password") - @knife.run - end - - it "exits with an error if password is blank" do - @knife.config[:user_password] = "" - expect { @knife.run }.to raise_error SystemExit - expect(@stderr.string).to match /You must specify a non-blank password/ - end - - it "sets the user name" do - expect(@user).to receive(:name).with("a_user") - @knife.run - end - - it "sets the public key if given" do - @knife.config[:user_key] = "/a/filename" - allow(File).to receive(:read).with(File.expand_path("/a/filename")).and_return("a_key") - expect(@user).to receive(:public_key).with("a_key") - @knife.run - end - - it "allows you to edit the data" do - expect(@knife).to receive(:edit_hash).with(@user) - @knife.run - end - - it "writes the private key to a file when --file is specified" do - @knife.config[:file] = "/tmp/a_file" - filehandle = double("filehandle") - expect(filehandle).to receive(:print).with("private_key") - expect(File).to receive(:open).with("/tmp/a_file", "w").and_yield(filehandle) - @knife.run - end -end diff --git a/spec/unit/knife/osc_user_delete_spec.rb b/spec/unit/knife/osc_user_delete_spec.rb deleted file mode 100644 index 6e90988156..0000000000 --- a/spec/unit/knife/osc_user_delete_spec.rb +++ /dev/null @@ -1,44 +0,0 @@ -# -# Author:: Steven Danna (<steve@chef.io>) -# Copyright:: Copyright 2012-2016, 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 "spec_helper" - -# DEPRECATION NOTE -# This code only remains to support users still operating with -# Open Source Chef Server 11 and should be removed once support -# for OSC 11 ends. New development should occur in user_delete_spec.rb. - -describe Chef::Knife::OscUserDelete do - before(:each) do - Chef::Knife::OscUserDelete.load_deps - @knife = Chef::Knife::OscUserDelete.new - @knife.name_args = [ "my_user" ] - end - - it "deletes the user" do - expect(@knife).to receive(:delete_object).with(Chef::User, "my_user") - @knife.run - end - - it "prints usage and exits when a user name is not provided" do - @knife.name_args = [] - expect(@knife).to receive(:show_usage) - expect(@knife.ui).to receive(:fatal) - expect { @knife.run }.to raise_error(SystemExit) - end -end diff --git a/spec/unit/knife/osc_user_edit_spec.rb b/spec/unit/knife/osc_user_edit_spec.rb deleted file mode 100644 index 1792e38027..0000000000 --- a/spec/unit/knife/osc_user_edit_spec.rb +++ /dev/null @@ -1,52 +0,0 @@ -# -# Author:: Steven Danna (<steve@chef.io>) -# Copyright:: Copyright 2012-2016, 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 "spec_helper" - -# DEPRECATION NOTE -# This code only remains to support users still operating with -# Open Source Chef Server 11 and should be removed once support -# for OSC 11 ends. New development should occur in user_edit_spec.rb. - -describe Chef::Knife::OscUserEdit do - before(:each) do - @stderr = StringIO.new - @stdout = StringIO.new - - Chef::Knife::OscUserEdit.load_deps - @knife = Chef::Knife::OscUserEdit.new - allow(@knife.ui).to receive(:stderr).and_return(@stderr) - allow(@knife.ui).to receive(:stdout).and_return(@stdout) - @knife.name_args = [ "my_user" ] - @knife.config[:disable_editing] = true - end - - it "loads and edits the user" do - data = { name: "my_user" } - allow(Chef::User).to receive(:load).with("my_user").and_return(data) - expect(@knife).to receive(:edit_hash).with(data).and_return(data) - @knife.run - end - - it "prints usage and exits when a user name is not provided" do - @knife.name_args = [] - expect(@knife).to receive(:show_usage) - expect(@knife.ui).to receive(:fatal) - expect { @knife.run }.to raise_error(SystemExit) - end -end diff --git a/spec/unit/knife/osc_user_list_spec.rb b/spec/unit/knife/osc_user_list_spec.rb deleted file mode 100644 index 10682eb96f..0000000000 --- a/spec/unit/knife/osc_user_list_spec.rb +++ /dev/null @@ -1,37 +0,0 @@ -# -# Author:: Steven Danna -# Copyright:: Copyright 2012-2016, 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 "spec_helper" - -# DEPRECATION NOTE -# This code only remains to support users still operating with -# Open Source Chef Server 11 and should be removed once support -# for OSC 11 ends. New development should occur in user_list_spec.rb. - -describe Chef::Knife::OscUserList do - before(:each) do - Chef::Knife::OscUserList.load_deps - @knife = Chef::Knife::OscUserList.new - end - - it "lists the users" do - expect(Chef::User).to receive(:list) - expect(@knife).to receive(:format_list_for_display) - @knife.run - end -end diff --git a/spec/unit/knife/osc_user_reregister_spec.rb b/spec/unit/knife/osc_user_reregister_spec.rb deleted file mode 100644 index b0ac92568e..0000000000 --- a/spec/unit/knife/osc_user_reregister_spec.rb +++ /dev/null @@ -1,58 +0,0 @@ -# -# Author:: Steven Danna (<steve@chef.io>) -# Copyright:: Copyright 2012-2016, 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 "spec_helper" - -# DEPRECATION NOTE -# This code only remains to support users still operating with -# Open Source Chef Server 11 and should be removed once support -# for OSC 11 ends. New development should occur in user_reregister_spec.rb. - -describe Chef::Knife::OscUserReregister do - before(:each) do - Chef::Knife::OscUserReregister.load_deps - @knife = Chef::Knife::OscUserReregister.new - @knife.name_args = [ "a_user" ] - @user_mock = double("user_mock", private_key: "private_key") - allow(Chef::User).to receive(:load).and_return(@user_mock) - @stdout = StringIO.new - allow(@knife.ui).to receive(:stdout).and_return(@stdout) - end - - it "prints usage and exits when a user name is not provided" do - @knife.name_args = [] - expect(@knife).to receive(:show_usage) - expect(@knife.ui).to receive(:fatal) - expect { @knife.run }.to raise_error(SystemExit) - end - - it "reregisters the user and prints the key" do - expect(@user_mock).to receive(:reregister).and_return(@user_mock) - @knife.run - expect(@stdout.string).to match( /private_key/ ) - end - - it "writes the private key to a file when --file is specified" do - expect(@user_mock).to receive(:reregister).and_return(@user_mock) - @knife.config[:file] = "/tmp/a_file" - filehandle = StringIO.new - expect(File).to receive(:open).with("/tmp/a_file", "w").and_yield(filehandle) - @knife.run - expect(filehandle.string).to eq("private_key") - end -end diff --git a/spec/unit/knife/osc_user_show_spec.rb b/spec/unit/knife/osc_user_show_spec.rb deleted file mode 100644 index ecdb0a9fce..0000000000 --- a/spec/unit/knife/osc_user_show_spec.rb +++ /dev/null @@ -1,46 +0,0 @@ -# -# Author:: Steven Danna (<steve@chef.io>) -# Copyright:: Copyright 2012-2016, 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 "spec_helper" - -# DEPRECATION NOTE -# This code only remains to support users still operating with -# Open Source Chef Server 11 and should be removed once support -# for OSC 11 ends. New development should occur user_show_spec.rb. - -describe Chef::Knife::OscUserShow do - before(:each) do - Chef::Knife::OscUserShow.load_deps - @knife = Chef::Knife::OscUserShow.new - @knife.name_args = [ "my_user" ] - @user_mock = double("user_mock") - end - - it "loads and displays the user" do - expect(Chef::User).to receive(:load).with("my_user").and_return(@user_mock) - expect(@knife).to receive(:format_for_display).with(@user_mock) - @knife.run - end - - it "prints usage and exits when a user name is not provided" do - @knife.name_args = [] - expect(@knife).to receive(:show_usage) - expect(@knife.ui).to receive(:fatal) - expect { @knife.run }.to raise_error(SystemExit) - end -end diff --git a/spec/unit/knife/user_create_spec.rb b/spec/unit/knife/user_create_spec.rb index 07d72fd05a..375077abb3 100644 --- a/spec/unit/knife/user_create_spec.rb +++ b/spec/unit/knife/user_create_spec.rb @@ -38,25 +38,6 @@ describe Chef::Knife::UserCreate do allow(knife.ui).to receive(:warn) end - # delete this once OSC11 support is gone - context "when only one name_arg is passed" do - before do - knife.name_args = ["some_user"] - allow(knife).to receive(:run_osc_11_user_create).and_raise(SystemExit) - end - - it "displays the osc warning" do - expect(knife.ui).to receive(:warn).with(knife.osc_11_warning) - expect { knife.run }.to raise_error(SystemExit) - end - - it "calls knife osc_user create" do - expect(knife).to receive(:run_osc_11_user_create) - expect { knife.run }.to raise_error(SystemExit) - end - - end - context "when USERNAME isn't specified" do # from spec/support/shared/unit/knife_shared.rb it_should_behave_like "mandatory field missing" do @@ -65,17 +46,6 @@ describe Chef::Knife::UserCreate do end end - # uncomment once OSC11 support is gone, - # pending doesn't work for shared_examples_for by default - # - # context "when DISPLAY_NAME isn't specified" do - # # from spec/support/shared/unit/knife_shared.rb - # it_should_behave_like "mandatory field missing" do - # let(:name_args) { ['some_user'] } - # let(:fieldname) { 'display name' } - # end - # end - context "when FIRST_NAME isn't specified" do # from spec/support/shared/unit/knife_shared.rb it_should_behave_like "mandatory field missing" do diff --git a/spec/unit/knife/user_delete_spec.rb b/spec/unit/knife/user_delete_spec.rb index 68749fe727..b8649e2fbd 100644 --- a/spec/unit/knife/user_delete_spec.rb +++ b/spec/unit/knife/user_delete_spec.rb @@ -32,27 +32,8 @@ describe Chef::Knife::UserDelete do allow(knife.ui).to receive(:stdout).and_return(stdout) end - # delete this once OSC11 support is gone - context "when the username field is not supported by the server" do - before do - allow(knife).to receive(:run_osc_11_user_delete).and_raise(SystemExit) - allow(user).to receive(:username).and_return(nil) - end - - it "displays the osc warning" do - expect(knife.ui).to receive(:warn).with(knife.osc_11_warning) - expect { knife.run }.to raise_error(SystemExit) - end - - it "forwards the command to knife osc_user edit" do - expect(knife).to receive(:run_osc_11_user_delete) - expect { knife.run }.to raise_error(SystemExit) - end - end - it "deletes the user" do - # expect(knife).to receive(:delete_object).with(Chef::UserV1, 'my_user') - expect(knife).to receive(:delete_object).with("my_user") + expect(knife).to receive(:delete_object).with(Chef::UserV1, "my_user") knife.run end diff --git a/spec/unit/knife/user_edit_spec.rb b/spec/unit/knife/user_edit_spec.rb index 18ade54068..8ebc19de2d 100644 --- a/spec/unit/knife/user_edit_spec.rb +++ b/spec/unit/knife/user_edit_spec.rb @@ -32,24 +32,6 @@ describe Chef::Knife::UserEdit do knife.config[:disable_editing] = true end - # delete this once OSC11 support is gone - context "when the username field is not supported by the server" do - before do - allow(knife).to receive(:run_osc_11_user_edit).and_raise(SystemExit) - allow(Chef::UserV1).to receive(:load).and_return({ "username" => nil }) - end - - it "displays the osc warning" do - expect(knife.ui).to receive(:warn).with(knife.osc_11_warning) - expect { knife.run }.to raise_error(SystemExit) - end - - it "forwards the command to knife osc_user edit" do - expect(knife).to receive(:run_osc_11_user_edit) - expect { knife.run }.to raise_error(SystemExit) - end - end - it "loads and edits the user" do data = { "username" => "my_user" } allow(Chef::UserV1).to receive(:load).with("my_user").and_return(data) diff --git a/spec/unit/knife/user_reregister_spec.rb b/spec/unit/knife/user_reregister_spec.rb index 8501347087..2c861ff35d 100644 --- a/spec/unit/knife/user_reregister_spec.rb +++ b/spec/unit/knife/user_reregister_spec.rb @@ -32,24 +32,6 @@ describe Chef::Knife::UserReregister do allow(user_mock).to receive(:username).and_return("a_user") end - # delete this once OSC11 support is gone - context "when the username field is not supported by the server" do - before do - allow(knife).to receive(:run_osc_11_user_reregister).and_raise(SystemExit) - allow(user_mock).to receive(:username).and_return(nil) - end - - it "displays the osc warning" do - expect(knife.ui).to receive(:warn).with(knife.osc_11_warning) - expect { knife.run }.to raise_error(SystemExit) - end - - it "forwards the command to knife osc_user edit" do - expect(knife).to receive(:run_osc_11_user_reregister) - expect { knife.run }.to raise_error(SystemExit) - end - end - it "prints usage and exits when a user name is not provided" do knife.name_args = [] expect(knife).to receive(:show_usage) diff --git a/spec/unit/knife/user_show_spec.rb b/spec/unit/knife/user_show_spec.rb index 3a38161b34..c15dfed43c 100644 --- a/spec/unit/knife/user_show_spec.rb +++ b/spec/unit/knife/user_show_spec.rb @@ -31,25 +31,6 @@ describe Chef::Knife::UserShow do allow(knife.ui).to receive(:stdout).and_return(stdout) end - # delete this once OSC11 support is gone - context "when the username field is not supported by the server" do - before do - allow(knife).to receive(:run_osc_11_user_show).and_raise(SystemExit) - allow(Chef::UserV1).to receive(:load).with("my_user").and_return(user_mock) - allow(user_mock).to receive(:username).and_return(nil) - end - - it "displays the osc warning" do - expect(knife.ui).to receive(:warn).with(knife.osc_11_warning) - expect { knife.run }.to raise_error(SystemExit) - end - - it "forwards the command to knife osc_user edit" do - expect(knife).to receive(:run_osc_11_user_show) - expect { knife.run }.to raise_error(SystemExit) - end - end - it "loads and displays the user" do expect(Chef::UserV1).to receive(:load).with("my_user").and_return(user_mock) expect(knife).to receive(:format_for_display).with(user_mock) |