spec/grendel/user_manager_spec.rb in grendel-ruby-0.1.1 vs spec/grendel/user_manager_spec.rb in grendel-ruby-0.1.2
- old
+ new
@@ -2,21 +2,21 @@
describe "Grendel::User" do
before do
@client = Grendel::Client.new("http://grendel")
end
-
+
describe "list" do
before do
stub_json_request(:get, "grendel/users", %{{
"users":[
{"id":"alice", "uri":"http://grendel/users/alice"},
- {"id":"bob", "uri":"http://grendel/users/bob"}
+ {"id":"bob", "uri":"http://grendel/users/bob"}
]
}})
end
-
+
it "should return an array of all users" do
users = @client.users.list
users.length.should == 2
users[0].id.should == "alice"
users[0].uri.should == "/users/alice"
@@ -31,59 +31,59 @@
"id":"alice",
"modified-at":"20091227T211121Z",
"created-at":"20091227T211120Z",
"keys":['2048-RSA/0A895A19', '2048-RSA/39D1621B']
}})
- stub_json_request(:get, "grendel/users/nobody", "", :status => "404 Not Found")
+ stub_json_request(:get, "grendel/users/nobody", "", :status => [404, "Not Found"])
end
-
+
it "should return the user" do
user = @client.users.find("alice")
user.id.should == "alice"
user.modified_at.should == DateTime.parse("20091227T211121Z")
user.created_at.should == DateTime.parse("20091227T211120Z")
user.keys.length.should == 2
end
-
+
it "should raise an exception if the user is not found" do
lambda {
@client.users.find("nobody")
- }.should raise_error(Grendel::Client::HTTPException) {|error| error.message.should match("404")} # change to should == "404 Not Found" once WebMock supports status messages
+ }.should raise_error(Grendel::Client::HTTPException) {|error| error.message.should == "404 Not Found"}
end
end
-
+
describe "create" do
describe "a successful request" do
before do
@user_id = "bob"
@password = "s3kret"
@uri = "http://grendel/users/#{@user_id}"
- stub_json_request(:post, "grendel/users", "", :status => "201 Created", "Location" => @uri)
+ stub_json_request(:post, "grendel/users", "", :status => [201, "Created"], "Location" => @uri)
end
-
+
it "should send a properly-formatted request" do
@client.users.create(@user_id, @password)
params = { :id => @user_id, :password => @password }
request(:post, "grendel/users").with(:body => params.to_json).should have_been_made.once
end
-
+
it "should return a user" do
user = @client.users.create(@user_id, @password)
user.id.should == @user_id
user.password.should == @password
user.uri.should == "/users/bob"
end
end
-
+
describe "an unsuccessful request" do
before do
- stub_json_request(:post, "grendel/users", "", :status => "422 Unprocessable Entity")
+ stub_json_request(:post, "grendel/users", "", :status => [422, "Unprocessable Entity"])
end
-
+
it "should raise an exception if the user already exists" do
lambda {
@client.users.create("joe","exists")
- }.should raise_error(Grendel::Client::HTTPException) {|error| error.message.should match("422")}
+ }.should raise_error(Grendel::Client::HTTPException) {|error| error.message.should == "422 Unprocessable Entity"}
end
end
end
end