Sha256: 555dda36fdc11fbebc25853116d25334876b488a3c52b9c800e5668e2b262018

Contents?: true

Size: 1.53 KB

Versions: 51

Compression:

Stored size: 1.53 KB

Contents

def mock_client
  return @mock_client if @mock_client
  @mock_client = double("client")
  @getter = double("getter")
  @getter.stub(:get).and_return('')
  @mock_client.stub(:[]).with("describe?xml=true").and_return('')
  @mock_client 
end
  
def stub_get(pid, datastreams=nil, record_exists=false)
  pid.gsub!(/:/, '%3A')
  if record_exists
    mock_client.stub(:[]).with("objects/#{pid}?format=xml").and_return(double('get getter', :get=>'foobar'))
  else
    mock_client.stub(:[]).with("objects/#{pid}?format=xml").and_raise(RestClient::ResourceNotFound)
  end
  mock_client.stub(:[]).with("objects/#{pid}/datastreams?format=xml").and_return(@getter)
  datastreams ||= ['someData', 'withText', 'withText2', 'RELS-EXT']
  datastreams.each do |dsid|
    mock_client.stub(:[]).with("objects/#{pid}/datastreams/#{dsid}?format=xml").and_return(@getter)
  end
end

def stub_ingest(pid=nil)
  n = pid ? pid.gsub(/:/, '%3A') : nil
  mock_client.should_receive(:[]).with("objects/#{n || 'new'}").and_return(double("ingester", :post=>pid))
end

def stub_add_ds(pid, dsids)
  pid.gsub!(/:/, '%3A')
  dsids.each do |dsid|
    client = mock_client.stub(:[]).with do |params|
      /objects\/#{pid}\/datastreams\/#{dsid}/.match(params)
    end
    client.and_return(double("ds_adder", :post=>pid, :get=>''))
  end
end

def stub_get_content(pid, dsids)
  pid.gsub!(/:/, '%3A')
  dsids.each do |dsid|
    mock_client.stub(:[]).with { |params| /objects\/#{pid}\/datastreams\/#{dsid}\/content/.match(params)}.and_return(double("content_accessor", :post=>pid, :get=>''))
  end
end

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
active-fedora-7.3.1 spec/support/mock_fedora.rb
active-fedora-7.3.0 spec/support/mock_fedora.rb
active-fedora-8.2.1 spec/support/mock_fedora.rb
active-fedora-8.2.0 spec/support/mock_fedora.rb
active-fedora-7.2.0 spec/support/mock_fedora.rb
active-fedora-8.1.0 spec/support/mock_fedora.rb
active-fedora-8.0.1 spec/support/mock_fedora.rb
active-fedora-8.0.0 spec/support/mock_fedora.rb
active-fedora-8.0.0.rc3 spec/support/mock_fedora.rb
active-fedora-8.0.0.rc2 spec/support/mock_fedora.rb
active-fedora-8.0.0.rc1 spec/support/mock_fedora.rb
active-fedora-7.1.2 spec/support/mock_fedora.rb
active-fedora-7.1.1 spec/support/mock_fedora.rb
active-fedora-7.1.0 spec/support/mock_fedora.rb
active-fedora-6.7.8 spec/support/mock_fedora.rb
active-fedora-7.0.4 spec/support/mock_fedora.rb
active-fedora-7.0.3 spec/support/mock_fedora.rb
active-fedora-7.0.2 spec/support/mock_fedora.rb
active-fedora-7.0.1 spec/support/mock_fedora.rb
active-fedora-7.0.0 spec/support/mock_fedora.rb