require 'spec_helper' module Jellyfish module Fog module AWS describe Infrastructure do it 'provisions and retires infrastructure using fog' do enable_aws_fog_provisioning Infrastructure.new(order_item).provision expect(order_item.provision_status).to eq 'ok' order_item.payload_response = JSON.parse(order_item.payload_response) expect(order_item.payload_response).to have_key('id') expect(order_item.payload_response['image_id']).to eq('ami-acca47c4') Infrastructure.new(order_item).retire expect(order_item.provision_status).to eq 'retired' end def order_item @order_item ||= OpenStruct.new end def enable_aws_fog_provisioning ::Fog.mock! allow_any_instance_of(::Provisioner).to receive(:aws_settings).and_return( access_key: 'text', secret_key: 'text' ) end end end end end