Sha256: e419f8a6e36e8fbc71e42c26aa0f184574262705afd0782973e820d72875792c

Contents?: true

Size: 1.18 KB

Versions: 3

Compression:

Stored size: 1.18 KB

Contents

require 'spec_helper'

require 'box/release/loader'

describe Box::Release::Loader do

  describe "#attributes" do

    let(:loader) { Box::Release::Loader.new("dummy") }

    it "should load attributes found in url" do
      Tempfile.open("release-loader") do |file|
        file.puts "dummy: true"
        file.close

        Box::Release::Loader.new(file.path).attributes.should == { "dummy" => true }
      end
    end

    it "should be empty if url isn't reachable" do
      loader.stub(:open).and_raise(SocketError)
      loader.attributes.should be_empty
    end

  end

  describe "#release" do

    let(:loader) { Box::Release::Loader.new("dummy") }
    
    it "should create a new Release with attributes" do
      loader.stub :attributes => { "checksum" => "dummy" }
      loader.release.checksum.should == "dummy"
    end

  end

  describe ".release_at" do

    let(:url) { "dummy://url" }
    let(:loaded_release) { Box::Release::Memory.new }

    it "should create a new Loader and load release" do
      Box::Release::Loader.should_receive(:new).with(url).and_return(stub(:release => loaded_release))
      Box::Release::Loader.release_at(url).should == loaded_release
    end

  end
  
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
box-release-0.0.3 spec/box/release/loader_spec.rb
box-release-0.0.2 spec/box/release/loader_spec.rb
box-release-0.0.1 spec/box/release/loader_spec.rb