Sha256: e24f9f84acadb64e8de7db8119cddac0786e3be3a2eacf467cbe5428e6390e4b
Contents?: true
Size: 1.28 KB
Versions: 1
Compression:
Stored size: 1.28 KB
Contents
require 'spec_helper' require "vagrant-profitbricks/action/list_images" describe VagrantPlugins::ProfitBricks::Action::ListImages do let(:app) { lambda { |env| } } let(:ui) { Vagrant::UI::Silent.new } let(:images) { Fog.mock! Fog::Compute.new({ :provider => :profitbricks, :profitbricks_password => 'anything', :profitbricks_username => 'anything', }).images } let(:compute_connection) { double('fog connection') } let(:env) do { :profitbricks_compute => compute_connection, :ui => ui } end subject(:action) { described_class.new(app, env) } before do allow(compute_connection).to receive(:images).and_return images end it 'get images from Fog' do expect(compute_connection).to receive(:images).and_return images action.call(env) end it 'writes a sorted, formatted image table to Vagrant::UI' do header_line = '%-36s %s' % ['Image ID', 'Image Name'] expect(ui).to receive(:info).with(header_line) images.sort_by(&:name).each do |image| formatted_line = '%-36s %s' % [image.id.to_s, image.name] expect(ui).to receive(:info).with formatted_line end action.call(env) end it 'continues the middleware chain' do expect(app).to receive(:call).with(env) action.call(env) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vagrant-profitbricks-1.0.0 | spec/vagrant-profitbricks/actions/list_images_spec.rb |