Files
vagrant-libvirt/spec/support/libvirt_context.rb

38 lines
1.2 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
require 'fog/libvirt'
require 'fog/libvirt/models/compute/server'
require 'libvirt'
2016-12-06 23:20:29 +01:00
shared_context 'libvirt' do
include_context 'unit'
let(:libvirt_context) { true }
2016-12-06 23:20:29 +01:00
let(:id) { 'dummy-vagrant_dummy' }
let(:connection) { double('connection') }
let(:domain) { instance_double(::Fog::Libvirt::Compute::Server) }
let(:libvirt_client) { instance_double(::Libvirt::Connect) }
let(:libvirt_domain) { instance_double(::Libvirt::Domain) }
let(:logger) { double('logger') }
2016-12-06 23:20:29 +01:00
def connection_result(options = {})
result = options.fetch(:result, nil)
2016-12-06 23:20:29 +01:00
double('connection_result' => result)
end
2016-01-26 16:58:17 +00:00
before (:each) do
# we don't want unit tests to ever run commands on the system; so we wire
# in a double to ensure any unexpected messages raise exceptions
2016-12-06 23:20:29 +01:00
stub_const('::Fog::Compute', connection)
# drivers also call vm_exists? during init;
allow(connection).to receive(:servers)
2016-12-06 23:20:29 +01:00
.and_return(connection_result(result: nil))
allow(connection).to receive(:client).and_return(libvirt_client)
allow(machine).to receive(:id).and_return(id)
allow(Log4r::Logger).to receive(:new).and_return(logger)
end
end