summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith@chef.io>2018-11-04 12:59:37 -0800
committerGitHub <noreply@github.com>2018-11-04 12:59:37 -0800
commitffdeb56f86eae061df56836d70e0f16f2db1c3bc (patch)
tree835a87085fdade057eebcf59234ba51f4056180f
parentbab2c55cd1566c28981d3ffd89326215f15c5fb4 (diff)
parent4f3ac5b5fd3a965317a970691634f5f0697063cf (diff)
downloadchef-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.rb51
-rw-r--r--lib/chef/knife/osc_user_show.rb53
-rw-r--r--lib/chef/knife/user_create.rb108
-rw-r--r--lib/chef/knife/user_delete.rb54
-rw-r--r--lib/chef/knife/user_edit.rb46
-rw-r--r--lib/chef/knife/user_list.rb2
-rw-r--r--lib/chef/knife/user_reregister.rb47
-rw-r--r--lib/chef/knife/user_show.rb33
-rw-r--r--spec/unit/knife/osc_user_create_spec.rb93
-rw-r--r--spec/unit/knife/osc_user_delete_spec.rb44
-rw-r--r--spec/unit/knife/osc_user_edit_spec.rb52
-rw-r--r--spec/unit/knife/osc_user_list_spec.rb37
-rw-r--r--spec/unit/knife/osc_user_reregister_spec.rb58
-rw-r--r--spec/unit/knife/osc_user_show_spec.rb46
-rw-r--r--spec/unit/knife/user_create_spec.rb30
-rw-r--r--spec/unit/knife/user_delete_spec.rb21
-rw-r--r--spec/unit/knife/user_edit_spec.rb18
-rw-r--r--spec/unit/knife/user_reregister_spec.rb18
-rw-r--r--spec/unit/knife/user_show_spec.rb19
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)