Sha256: 2489cf9eaaf5c0b1a5adeed7d2a8396de4c05bf516438377209b56610d3091af

Contents?: true

Size: 1.43 KB

Versions: 588

Compression:

Stored size: 1.43 KB

Contents

require 'spec_helper'
require 'dpl/provider/cloud66'

describe DPL::Provider::Cloud66 do
  subject :provider do
    described_class.new(DummyContext.new, options)
  end

  let(:successful_response){ double(code: '200') }
  let(:not_found_response){ double(code: '404') }
  let(:options){ {} }

  describe "#push_app" do
    context 'with a successful response' do
      let(:options){ {:redeployment_hook => 'https://hooks.cloud66.com/stacks/redeploy/0101010101010101'} }

      example do
        expect(provider).to receive(:webhook_call).with('https', 'hooks.cloud66.com', 443, '/stacks/redeploy/0101010101010101').and_return(successful_response)
        provider.push_app
      end
    end

    context 'with a 404 response' do
      let(:options){ {:redeployment_hook => 'https://hooks.cloud66.com/stacks/redeploy/0101010101010101'} }

      it 'should raise an error' do
        expect(provider).to receive(:webhook_call).with('https', 'hooks.cloud66.com', 443, '/stacks/redeploy/0101010101010101').and_return(not_found_response)
        expect { provider.push_app }.to raise_error(DPL::Error, "Redeployment failed [404]")
      end
    end

    context 'with missing redeployment_hook option' do
      it 'should raise an error' do
        expect { provider.push_app }.to raise_error(DPL::Error, "missing redeployment_hook")
      end
    end
  end

  describe "#needs_key?" do
    example do
      expect(provider.needs_key?).to eq(false)
    end
  end
end

Version data entries

588 entries across 588 versions & 3 rubygems

Version Path
dpl-cloud66-1.10.17.travis.6637.6 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.16 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.16.travis.6625.6 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.16.travis.6619.6 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.16.travis.5961.5 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.15 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.15.travis.5877.5 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.14 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.13 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.13.travis.4159.5 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.13.travis.4141.5 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.13.travis.4040.5 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.13.travis.4033.5 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.12 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.12.travis.4032.5 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.12.travis.3794.5 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.12.travis.3506.5 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.11.travis.3504.5 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.11 spec/provider/cloud66_spec.rb
dpl-cloud66-1.10.11.travis.3499.5 spec/provider/cloud66_spec.rb