diff --git a/spec/permissions_spec.rb b/spec/permissions_spec.rb index 3a93860..3c8df8f 100644 --- a/spec/permissions_spec.rb +++ b/spec/permissions_spec.rb @@ -4,20 +4,8 @@ describe "Permissions" do include Rack::Test::Methods include RemoteStorage::Riak - def app - LiquorCabinet - end - - def storage_client - @storage_client ||= ::Riak::Client.new(settings.riak_config) - end - - def data_bucket - @data_bucket ||= storage_client.bucket("user_data") - end - - def auth_bucket - @auth_bucket ||= storage_client.bucket("authorizations") + before do + purge_all_buckets end describe "public data" do @@ -34,11 +22,6 @@ describe "Permissions" do object.store end - after do - data_bucket.delete("jimmy:public:foo") - data_bucket.delete("jimmy:public/documents:foo") - end - it "returns the value on all get requests" do get "/jimmy/public/foo" @@ -82,13 +65,6 @@ describe "Permissions" do header "Authorization", "Bearer 123" end - after do - data_bucket.delete("jimmy:documents:foo") - data_bucket.delete("jimmy:documents/very/interesting:text") - data_bucket.delete("jimmy:confidential:bar") - auth_bucket.delete("jimmy:123") - end - describe "when authorized" do it "returns the value for a key in a top-level directory" do get "/jimmy/documents/foo" @@ -123,15 +99,7 @@ describe "Permissions" do header "Authorization", "Bearer 123" end - after do - auth_bucket.delete("jimmy:123") - end - describe "to a top-level directory" do - after do - data_bucket.delete("jimmy:contacts:1") - end - it "saves the value when there are write permissions" do put "/jimmy/contacts/1", "John Doe" @@ -147,11 +115,6 @@ describe "Permissions" do end describe "to a sub-directory" do - after do - data_bucket.delete("jimmy:tasks/home:1") - data_bucket.delete("jimmy:contacts/family:1") - end - it "saves the value when there are direct write permissions" do put "/jimmy/tasks/home/1", "take out the trash" @@ -183,10 +146,6 @@ describe "Permissions" do header "Authorization", "Bearer 123" end - after do - auth_bucket.delete("jimmy:123") - end - describe "when authorized" do before do object = data_bucket.new("jimmy:tasks:1") @@ -232,11 +191,6 @@ describe "Permissions" do object.store end - after do - data_bucket.delete("jimmy:documents:private") - data_bucket.delete("jimmy:documents/business:foo") - end - it "returns a 403 for a key in a top-level directory" do delete "/jimmy/documents/private" @@ -260,10 +214,6 @@ describe "Permissions" do object.store end - after do - data_bucket.delete("jimmy:documents/very/interesting:text") - end - describe "write all" do before do auth = auth_bucket.new("jimmy:123") @@ -273,11 +223,6 @@ describe "Permissions" do header "Authorization", "Bearer 123" end - after do - auth_bucket.delete("jimmy:123") - data_bucket.delete("jimmy:contacts:1") - end - it "allows GET requests" do get "/jimmy/documents/very/interesting/text" @@ -311,10 +256,6 @@ describe "Permissions" do header "Authorization", "Bearer 123" end - after do - auth_bucket.delete("jimmy:123") - end - it "allows GET requests" do get "/jimmy/documents/very/interesting/text" diff --git a/spec/riak_spec.rb b/spec/riak_spec.rb index b9e788e..8b6eb3e 100644 --- a/spec/riak_spec.rb +++ b/spec/riak_spec.rb @@ -4,20 +4,8 @@ describe "App with Riak backend" do include Rack::Test::Methods include RemoteStorage::Riak - def app - LiquorCabinet - end - - def storage_client - @storage_client ||= ::Riak::Client.new(settings.riak_config) - end - - def data_bucket - @data_bucket ||= storage_client.bucket("user_data") - end - - def auth_bucket - @auth_bucket ||= storage_client.bucket("authorizations") + before do + purge_all_buckets end describe "GET public data" do @@ -28,10 +16,6 @@ describe "App with Riak backend" do object.store end - after do - data_bucket.delete("jimmy:public:foo") - end - it "returns the value on all get requests" do get "/jimmy/public/foo" @@ -48,10 +32,6 @@ describe "App with Riak backend" do object.store end - after do - data_bucket.delete("jimmy:public:magic") - end - it "returns the value with the correct content type" do get "/jimmy/public/magic" @@ -73,11 +53,6 @@ describe "App with Riak backend" do auth.store end - after do - data_bucket.delete("jimmy:documents:foo") - auth_bucket.delete("jimmy:123") - end - describe "GET" do it "returns the value" do header "Authorization", "Bearer 123" @@ -107,10 +82,6 @@ describe "App with Riak backend" do put "/jimmy/documents/bar", "another text" end - after do - data_bucket.delete("jimmy:documents:bar") - end - it "saves the value" do last_response.status.must_equal 200 data_bucket.get("jimmy:documents:bar").data.must_equal "another text" @@ -121,8 +92,11 @@ describe "App with Riak backend" do end it "indexes the data set" do - data_bucket.get("jimmy:documents:bar").indexes["user_id_bin"].must_be_kind_of Set - data_bucket.get("jimmy:documents:bar").indexes["user_id_bin"].must_include "jimmy" + indexes = data_bucket.get("jimmy:documents:bar").indexes + indexes["user_id_bin"].must_be_kind_of Set + indexes["user_id_bin"].must_include "jimmy" + + indexes["directory_bin"].must_include "documents" end end @@ -132,10 +106,6 @@ describe "App with Riak backend" do put "/jimmy/documents/jason", '{"foo": "bar", "unhosted": 1}' end - after do - data_bucket.delete("jimmy:documents:jason") - end - it "saves the value (as JSON)" do last_response.status.must_equal 200 data_bucket.get("jimmy:documents:jason").data.must_be_kind_of Hash @@ -161,10 +131,6 @@ describe "App with Riak backend" do put "/jimmy/documents/magic", "pure magic" end - after do - data_bucket.delete("jimmy:documents:magic") - end - it "saves the value" do last_response.status.must_equal 200 data_bucket.get("jimmy:documents:magic").raw_data.must_equal "pure magic" @@ -206,10 +172,6 @@ describe "App with Riak backend" do header "Authorization", "Bearer 321" end - after do - auth_bucket.delete("jimmy:123") - end - describe "GET" do it "returns a 403" do get "/jimmy/documents/foo"