Sha256: 633f462a2388606c2465fc92e2e113f4474796f8f552e5381b7b8000c8003aef

Contents?: true

Size: 1.28 KB

Versions: 2

Compression:

Stored size: 1.28 KB

Contents

require 'spec_helper'

module Jellyfish
  module Fog
    module AWS
      describe Databases do
        it 'provisions and retires databases using fog' do
          enable_aws_fog_provisioning

          Databases.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['data']['body']['CreateDBInstanceResult']['DBInstance']
          ).to include(
            order_item.answers.merge('DBInstanceIdentifier' => "id-#{order_item.uuid}")
          )

          Databases.new(order_item).retire

          expect(order_item.provision_status).to eq 'retired'
        end


        def order_item
          @order_item ||= OpenStruct.new.tap do |order_item|
            order_item.uuid = '1234567890'
            order_item.answers = {
              'AllocatedStorage' => 100,
              'DBInstanceClass' => 'Test',
              'Engine' => 'Test'
            }
          end
        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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
jellyfish_fog_aws-0.1.0 spec/lib/jellyfish_fog_aws/databases_spec.rb
jellyfish_fog_aws-0.0.1 spec/lib/jellyfish_fog_aws/databases_spec.rb