Sha256: c2229717a5dea6719def3dce0cb703551dd50de84906889bd298ee414bcae5f4

Contents?: true

Size: 1.69 KB

Versions: 3

Compression:

Stored size: 1.69 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/spec_helper')

describe "NSISam::FakeClient" do
  before :all do
    @nsisam = NSISam::FakeClient.new
  end

  it "can store a value" do
    response = @nsisam.store("something")
    response.should_not be_nil
    response.key.should_not be_nil
    response.checksum.should_not be_nil
  end

  it "can store a file" do
    response = @nsisam.store_file("some file not in base64")
    response.should_not be_nil
    response.key.should_not be_nil
    response.checksum.should_not be_nil
  end

  it "can delete a stored value" do
    resp = @nsisam.store("delete this")
    response = @nsisam.delete(resp.key)
    response.should be_deleted
  end

  it "raises error when key not found" do
    expect { @nsisam.delete("i dont exist") }.to
             raise_error(NSISam::Errors::Client::KeyNotFoundError)

    expect { @nsisam.get("i dont exist") }.to
             raise_error(NSISam::Errors::Client::KeyNotFoundError)

    expect { @nsisam.update("i dont exist", "nothing") }.to
             raise_error(NSISam::Errors::Client::KeyNotFoundError)
  end

  it "can retrieve a stored value" do
    resp = @nsisam.store("retrieve this")
    response = @nsisam.get(resp.key)
    response.data.should == "retrieve this"
  end

  it "can retrieve a stored file" do
    resp = @nsisam.store_file("file not in base64")
    response = @nsisam.get_file(resp.key)
    response.data.should_not be_nil
  end

  it "can update values in keys already stored" do
    resp = @nsisam.store("update this")
    response = @nsisam.update(resp.key, "updated")
    response.key.should == resp.key
    @nsisam.get(response.key).data.should == "updated"
    response.checksum.should_not be_nil
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
nsisam-0.6.4 spec/fake_client_spec.rb
nsisam-0.6.3 spec/fake_client_spec.rb
nsisam-0.6.2 spec/fake_client_spec.rb