Sha256: db56be85ec244a7818b6e7bbc8c336095e26ca2a29747574fed990b45873e38b

Contents?: true

Size: 1.25 KB

Versions: 8

Compression:

Stored size: 1.25 KB

Contents

require 'vagrant-deltacloud-provider/spec_helper'

describe VagrantPlugins::Deltacloud::Action::DeleteServer do

  let(:deltacloud) do
    double('deltacloud').tap do |app|
      app.stub(:delete_server)
      app.stub(:delete_public_key)
    end
  end

  let(:env) do
    Hash.new.tap do |env|
      env[:ui] = double('ui')
      env[:ui].stub(:info).with(anything)
      env[:ui].stub(:error).with(anything)
      env.stub(:deltacloud_client) { deltacloud }
      env[:machine] = OpenStruct.new.tap do |m|
        m.id = 'server_id'
      end
    end
  end

  let(:app) do
    double('app').tap do |app|
      app.stub(:call).with(anything)
    end
  end

  describe 'call' do
    context 'when id is present' do
      it 'delete server' do
        expect(deltacloud).to receive(:delete_server).with(env, 'server_id')
        expect(deltacloud).to receive(:delete_public_key).with(env, 'server_id')
        @action = DeleteServer.new(app, nil)
        @action.call(env)
      end
    end
    context 'when id is not present' do
      it 'delete server' do
        expect(deltacloud).should_not_receive(:delete_server)
        expect(deltacloud).should_not_receive(:delete_public_key)
        @action = DeleteServer.new(app, nil)
        @action.call(env)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
vagrant-deltacloud-provider-0.0.9 spec/vagrant-deltacloud-provider/action/delete_server_spec.rb
vagrant-deltacloud-provider-0.0.8 spec/vagrant-deltacloud-provider/action/delete_server_spec.rb
vagrant-deltacloud-provider-0.0.7 spec/vagrant-deltacloud-provider/action/delete_server_spec.rb
vagrant-deltacloud-provider-0.0.6 spec/vagrant-deltacloud-provider/action/delete_server_spec.rb
vagrant-deltacloud-provider-0.0.5 spec/vagrant-deltacloud-provider/action/delete_server_spec.rb
vagrant-deltacloud-provider-0.0.4 spec/vagrant-deltacloud-provider/action/delete_server_spec.rb
vagrant-deltacloud-provider-0.0.3 spec/vagrant-deltacloud-provider/action/delete_server_spec.rb
vagrant-deltacloud-provider-0.0.2 spec/vagrant-deltacloud-provider/action/delete_server_spec.rb