spec/unit/client_spec.rb in duracloud-client-0.0.3 vs spec/unit/client_spec.rb in duracloud-client-0.1.0

- old
+ new

@@ -1,9 +1,280 @@ module Duracloud RSpec.describe Client do - describe "#get_content" - describe "#get_content_properties" - describe "#set_content_properties" - describe "#store_content" - describe "#delete_content" + describe "get_stores" do + specify { + stub = stub_request(:get, "https://example.com/durastore/stores") + subject.get_stores + expect(stub).to have_been_requested + } + end + + describe "get_spaces" do + specify { + stub = stub_request(:get, "https://example.com/durastore/spaces") + subject.get_spaces + expect(stub).to have_been_requested + } + specify { + stub = stub_request(:get, "https://example.com/durastore/spaces") + .with(query: {storeID: 1}) + subject.get_spaces(storeID: 1) + expect(stub).to have_been_requested + } + end + + describe "get_space" do + specify { + stub = stub_request(:get, "https://example.com/durastore/foo") + subject.get_space("foo") + expect(stub).to have_been_requested + } + specify { + stub = stub_request(:get, "https://example.com/durastore/foo") + .with(query: {storeID: 1, prefix: "bar", maxResults: 50, marker: "item1"}) + subject.get_space("foo", storeID: 1, prefix: "bar", maxResults: 50, marker: "item1") + expect(stub).to have_been_requested + } + end + + describe "create_space" do + specify { + stub = stub_request(:put, "https://example.com/durastore/foo") + subject.create_space("foo") + expect(stub).to have_been_requested + } + specify { + stub = stub_request(:put, "https://example.com/durastore/foo") + .with(query: {storeID: 1}) + subject.create_space("foo", storeID: 1) + expect(stub).to have_been_requested + } + end + + describe "delete_space" do + specify { + stub = stub_request(:delete, "https://example.com/durastore/foo") + subject.delete_space("foo") + expect(stub).to have_been_requested + } + specify { + stub = stub_request(:delete, "https://example.com/durastore/foo") + .with(query: {storeID: 1}) + subject.delete_space("foo", storeID: 1) + expect(stub).to have_been_requested + } + end + + describe "get_space_acls" do + specify { + stub = stub_request(:head, "https://example.com/durastore/acl/foo") + subject.get_space_acls("foo") + expect(stub).to have_been_requested + } + specify { + stub = stub_request(:head, "https://example.com/durastore/acl/foo") + .with(query: {storeID: 1}) + subject.get_space_acls("foo", storeID: 1) + expect(stub).to have_been_requested + } + end + + describe "set_space_acls" do + specify { + stub = stub_request(:post, "https://example.com/durastore/acl/foo") + .with(headers: {'x-dura-meta-acl-user0'=>'WRITE', + 'x-dura-meta-acl-user1'=>'WRITE', + 'x-dura-meta-acl-group-curators'=>'READ'}) + subject.set_space_acls("foo", + headers: {'x-dura-meta-acl-user0'=>'WRITE', + 'x-dura-meta-acl-user1'=>'WRITE', + 'x-dura-meta-acl-group-curators'=>'READ'}) + expect(stub).to have_been_requested + } + specify { + stub = stub_request(:post, "https://example.com/durastore/acl/foo") + .with(headers: {'x-dura-meta-acl-user0'=>'WRITE', + 'x-dura-meta-acl-user1'=>'WRITE', + 'x-dura-meta-acl-group-curators'=>'READ'}, + query: {storeID: 1}) + subject.set_space_acls("foo", + storeID: 1, + headers: {'x-dura-meta-acl-user0'=>'WRITE', + 'x-dura-meta-acl-user1'=>'WRITE', + 'x-dura-meta-acl-group-curators'=>'READ'}) + expect(stub).to have_been_requested + } + end + + describe "get_content" do + specify { + stub = stub_request(:get, "https://example.com/durastore/foo/bar") + subject.get_content("foo", "bar") + expect(stub).to have_been_requested + } + specify { + stub = stub_request(:get, "https://example.com/durastore/foo/bar") + .with(query: {storeID: 1}) + subject.get_content("foo", "bar", storeID: 1) + expect(stub).to have_been_requested + } + end + + describe "get_content_properties" do + specify { + stub = stub_request(:head, "https://example.com/durastore/foo/bar") + subject.get_content_properties("foo", "bar") + expect(stub).to have_been_requested + } + specify { + stub = stub_request(:head, "https://example.com/durastore/foo/bar") + .with(query: {storeID: 1}) + subject.get_content_properties("foo", "bar", storeID: 1) + expect(stub).to have_been_requested + } + end + + describe "set_content_properties" do + specify { + stub = stub_request(:post, "https://example.com/durastore/foo/bar") + .with(headers: {'x-dura-meta-owner'=>'testuser'}) + subject.set_content_properties("foo", "bar", + headers: {'x-dura-meta-owner'=>'testuser'}) + expect(stub).to have_been_requested + } + specify { + stub = stub_request(:post, "https://example.com/durastore/foo/bar") + .with(headers: {'x-dura-meta-owner'=>'testuser'}, + query: {storeID: 1}) + subject.set_content_properties("foo", "bar", + headers: {'x-dura-meta-owner'=>'testuser'}, + storeID: 1) + expect(stub).to have_been_requested + } + end + + describe "store_content" do + specify { + stub = stub_request(:put, "https://example.com/durastore/foo/bar") + .with(body: "File content", + headers: { + 'Content-Type'=>'text/plain', + 'Content-MD5'=>'8bb2564936980e92ceec8a5759ec34a8' + }) + subject.store_content("foo", "bar", + body: "File content", + headers: { + 'Content-Type'=>'text/plain', + 'Content-MD5'=>'8bb2564936980e92ceec8a5759ec34a8' + }) + expect(stub).to have_been_requested + } + specify { + stub = stub_request(:put, "https://example.com/durastore/foo/bar") + .with(body: "File content", + headers: { + 'Content-Type'=>'text/plain', + 'Content-MD5'=>'8bb2564936980e92ceec8a5759ec34a8' + }, + query: {storeID: 1}) + subject.store_content("foo", "bar", + body: "File content", + headers: { + 'Content-Type'=>'text/plain', + 'Content-MD5'=>'8bb2564936980e92ceec8a5759ec34a8' + }, + storeID: 1) + expect(stub).to have_been_requested + } + end + + describe "delete_content" do + specify { + stub = stub_request(:delete, "https://example.com/durastore/foo/bar") + subject.delete_content("foo", "bar") + expect(stub).to have_been_requested + } + specify { + stub = stub_request(:delete, "https://example.com/durastore/foo/bar") + .with(query: {storeID: 1}) + subject.delete_content("foo", "bar", storeID: 1) + expect(stub).to have_been_requested + } + end + + describe "copy_content" do + specify { + expect { subject.copy_content("foo", "bar", headers: {'x-dura-meta-copy-source'=>'space-id/content-id'}) } + .to raise_error(NotImplementedError) + } + end + + describe "get_audit_log" do + specify { + stub = stub_request(:get, "https://example.com/durastore/audit/foo") + subject.get_audit_log("foo") + expect(stub).to have_been_requested + } + specify { + stub = stub_request(:get, "https://example.com/durastore/audit/foo") + .with(query: {storeID: 1}) + subject.get_audit_log("foo", storeID: 1) + expect(stub).to have_been_requested + } + end + + describe "get_manifest" do + specify { + stub = stub_request(:get, "https://example.com/durastore/manifest/foo") + subject.get_manifest("foo") + expect(stub).to have_been_requested + } + specify { + stub = stub_request(:get, "https://example.com/durastore/manifest/foo") + .with(query: {format: "BAGIT", storeID: 1}) + subject.get_manifest("foo", format: "BAGIT", storeID: 1) + expect(stub).to have_been_requested + } + end + + describe "get_bit_integrity_report" do + specify { + stub = stub_request(:get, "https://example.com/durastore/bit-integrity/foo") + subject.get_bit_integrity_report("foo") + expect(stub).to have_been_requested + } + specify { + stub = stub_request(:get, "https://example.com/durastore/bit-integrity/foo") + .with(query: {storeID: 1}) + subject.get_bit_integrity_report("foo", storeID: 1) + expect(stub).to have_been_requested + } + end + + describe "get_bit_integrity_report_properties" do + specify { + stub = stub_request(:head, "https://example.com/durastore/bit-integrity/foo") + subject.get_bit_integrity_report_properties("foo") + expect(stub).to have_been_requested + } + specify { + stub = stub_request(:head, "https://example.com/durastore/bit-integrity/foo") + .with(query: {storeID: 1}) + subject.get_bit_integrity_report_properties("foo", storeID: 1) + expect(stub).to have_been_requested + } + end + + describe "get_tasks" do + specify { + expect { subject.get_tasks }.to raise_error(NotImplementedError) + } + end + + describe "perform_task" do + specify { + expect { subject.perform_task("enable-streaming") } + .to raise_error(NotImplementedError) + } + end end end