Sha256: 35e19a7c28274f49938951c076936bc686f78964a5fefd61a503e9414ac032f2

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

require 'spec_helper'

describe Libvirt::Ruby::StoragePool do
  let(:storage_pool) { Libvirt::Ruby::StoragePool }

  context "when calling method #dispatcher" do
    context "with a valid libvirt function" do
      before :each do
        storage_pool.stub(:attach_function).with("virStoragePoolRefresh", "virStoragePoolRefresh", [], :int).and_return(true)
        storage_pool.stub(:send).with("virStoragePoolRefresh", [])
      end

      after :each do
        storage_pool.dispatcher('Refresh', [:int])
      end

      it "should attach it as a binding for C's function" do
        storage_pool.should_receive(:attach_function).with("virStoragePoolRefresh", "virStoragePoolRefresh", [], :int).and_return(true)
      end

      it "should call the new attached method" do
        storage_pool.should_receive(:send).with("virStoragePoolRefresh", [])
      end
    end

    context "with an invalid libvirt function" do
      it "should return an invalid function message" do
        lambda { storage_pool.dispatcher('Abc', [:int]) }.should raise_error(Libvirt::Ruby::Exceptions::InvalidFunction)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
libvirt-ruby-0.0.2 spec/libvirt-ruby/storage_pool_spec.rb