summaryrefslogtreecommitdiff
path: root/spec/unit/user_v1_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/user_v1_spec.rb')
-rw-r--r--spec/unit/user_v1_spec.rb54
1 files changed, 26 insertions, 28 deletions
diff --git a/spec/unit/user_v1_spec.rb b/spec/unit/user_v1_spec.rb
index 16f0d0158b..0d2afe8db2 100644
--- a/spec/unit/user_v1_spec.rb
+++ b/spec/unit/user_v1_spec.rb
@@ -18,12 +18,12 @@
require "spec_helper"
-require "chef/user_v1"
+require "chef/user/v1"
require "tempfile"
-describe Chef::UserV1 do
+describe Chef::User::V1 do
before(:each) do
- @user = Chef::UserV1.new
+ @user = Chef::User::V1.new
end
shared_examples_for "string fields with no contraints" do
@@ -62,8 +62,8 @@ describe Chef::UserV1 do
end
describe "initialize" do
- it "should be a Chef::UserV1" do
- expect(@user).to be_a_kind_of(Chef::UserV1)
+ it "should be a Chef::User::V1" do
+ expect(@user).to be_a_kind_of(Chef::User::V1)
end
end
@@ -262,11 +262,11 @@ describe Chef::UserV1 do
"private_key" => "pandas",
"create_key" => false,
}
- @user = Chef::UserV1.from_json(Chef::JSONCompat.to_json(user))
+ @user = Chef::User::V1.from_json(Chef::JSONCompat.to_json(user))
end
- it "should deserialize to a Chef::UserV1 object" do
- expect(@user).to be_a_kind_of(Chef::UserV1)
+ it "should deserialize to a Chef::User::V1 object" do
+ expect(@user).to be_a_kind_of(Chef::User::V1)
end
it "preserves the username" do
@@ -315,9 +315,8 @@ describe Chef::UserV1 do
let(:exception_406) { Net::HTTPServerException.new("406 Not Acceptable", response_406) }
before (:each) do
- @user = Chef::UserV1.new
- allow(@user).to receive(:chef_root_rest_v0).and_return(double("chef rest root v0 object"))
- allow(@user).to receive(:chef_root_rest_v1).and_return(double("chef rest root v1 object"))
+ @user = Chef::User::V1.new
+ allow(@user).to receive(:chef_rest).and_return(double("chef rest root v1 object"))
end
describe "update" do
@@ -347,7 +346,7 @@ describe Chef::UserV1 do
context "when server API V1 is valid on the Chef Server receiving the request" do
context "when the user submits valid data" do
it "properly updates the user" do
- expect(@user.chef_root_rest_v1).to receive(:put).with("users/some_username", payload).and_return({})
+ expect(@user.chef_rest).to receive(:put).with("users/some_username", payload).and_return({})
@user.update
end
end
@@ -369,7 +368,7 @@ describe Chef::UserV1 do
before do
@user.public_key "some_public_key"
- allow(@user.chef_root_rest_v1).to receive(:put)
+ allow(@user.chef_rest).to receive(:put)
end
context "when the server returns a 400" do
@@ -381,7 +380,7 @@ describe Chef::UserV1 do
before do
allow(response_400).to receive(:body).and_return(response_body_400)
- allow(@user.chef_root_rest_v1).to receive(:put).and_raise(exception_400)
+ allow(@user.chef_rest).to receive(:put).and_raise(exception_400)
end
it "proceeds with the V0 PUT since it can handle public / private key fields" do
@@ -401,7 +400,7 @@ describe Chef::UserV1 do
before do
allow(response_400).to receive(:body).and_return(response_body_400)
- allow(@user.chef_root_rest_v1).to receive(:put).and_raise(exception_400)
+ allow(@user.chef_rest).to receive(:put).and_raise(exception_400)
end
it "will not proceed with the V0 PUT since the original bad request was not key related" do
@@ -422,13 +421,13 @@ describe Chef::UserV1 do
let(:object) { @user }
let(:method) { :update }
let(:http_verb) { :put }
- let(:rest_v1) { @user.chef_root_rest_v1 }
+ let(:rest_v1) { @user.chef_rest }
end
context "when the server supports API V0" do
before do
allow(@user).to receive(:server_client_api_version_intersection).and_return([0])
- allow(@user.chef_root_rest_v1).to receive(:put).and_raise(exception_406)
+ allow(@user.chef_rest).to receive(:put).and_raise(exception_406)
end
it "properly updates the user" do
@@ -465,15 +464,14 @@ describe Chef::UserV1 do
it_should_behave_like "user or client create" do
let(:object) { @user }
let(:error) { Chef::Exceptions::InvalidUserAttribute }
- let(:rest_v0) { @user.chef_root_rest_v0 }
- let(:rest_v1) { @user.chef_root_rest_v1 }
+ let(:rest_v1) { @user.chef_rest }
let(:url) { "users" }
end
context "when handling API V1" do
it "creates a new user via the API with a middle_name when it exists" do
@user.middle_name "some_middle_name"
- expect(@user.chef_root_rest_v1).to receive(:post).with("users", payload.merge({ :middle_name => "some_middle_name" })).and_return({})
+ expect(@user.chef_rest).to receive(:post).with("users", payload.merge({ :middle_name => "some_middle_name" })).and_return({})
@user.create
end
end # when server API V1 is valid on the Chef Server receiving the request
@@ -484,14 +482,14 @@ describe Chef::UserV1 do
let(:object) { @user }
let(:method) { :create }
let(:http_verb) { :post }
- let(:rest_v1) { @user.chef_root_rest_v1 }
+ let(:rest_v1) { @user.chef_rest }
end
end
context "when handling API V0" do
before do
allow(@user).to receive(:server_client_api_version_intersection).and_return([0])
- allow(@user.chef_root_rest_v1).to receive(:post).and_raise(exception_406)
+ allow(@user.chef_rest).to receive(:post).and_raise(exception_406)
end
it "creates a new user via the API with a middle_name when it exists" do
@@ -536,7 +534,7 @@ describe Chef::UserV1 do
describe "API Interactions" do
before (:each) do
- @user = Chef::UserV1.new
+ @user = Chef::User::V1.new
@user.username "foobar"
@http_client = double("Chef::ServerAPI mock")
allow(Chef::ServerAPI).to receive(:new).and_return(@http_client)
@@ -547,27 +545,27 @@ describe Chef::UserV1 do
Chef::Config[:chef_server_url] = "http://www.example.com"
@osc_response = { "admin" => "http://www.example.com/users/admin" }
@ohc_response = [ { "user" => { "username" => "admin" } } ]
- allow(Chef::UserV1).to receive(:load).with("admin").and_return(@user)
+ allow(Chef::User::V1).to receive(:load).with("admin").and_return(@user)
@osc_inflated_response = { "admin" => @user }
end
it "lists all clients on an OHC/OPC server" do
allow(@http_client).to receive(:get).with("users").and_return(@ohc_response)
- # We expect that Chef::UserV1.list will give a consistent response
+ # We expect that Chef::User::V1.list will give a consistent response
# so OHC API responses should be transformed to OSC-style output.
- expect(Chef::UserV1.list).to eq(@osc_response)
+ expect(Chef::User::V1.list).to eq(@osc_response)
end
it "inflate all clients on an OHC/OPC server" do
allow(@http_client).to receive(:get).with("users").and_return(@ohc_response)
- expect(Chef::UserV1.list(true)).to eq(@osc_inflated_response)
+ expect(Chef::User::V1.list(true)).to eq(@osc_inflated_response)
end
end
describe "read" do
it "loads a named user from the API" do
expect(@http_client).to receive(:get).with("users/foobar").and_return({ "username" => "foobar", "admin" => true, "public_key" => "pubkey" })
- user = Chef::UserV1.load("foobar")
+ user = Chef::User::V1.load("foobar")
expect(user.username).to eq("foobar")
expect(user.public_key).to eq("pubkey")
end