Sha256: cfbf987b4179e59df0447e39ce22845f11545d656d138b2fd22366ad2e49f2cc

Contents?: true

Size: 1.34 KB

Versions: 6

Compression:

Stored size: 1.34 KB

Contents

require 'spec_helper'
require 'dpl/provider/cloudcontrol'

describe DPL::Provider::Launchpad do
  subject :provider do
    described_class.new(DummyContext.new, :slug => '~user/repo/branch', :oauth_token => 'uezinoosinmxkewhochq', :oauth_token_secret => 'dinb6fao4jh0kfdn5mich31cbikdkpjplkmadhi80h93kbbaableeeg41mm0jab9jif8ch7i2k9a80n5')
  end

  its(:needs_key?) { should be false }

  describe '#push_app' do
    it 'on api success' do
      expect(provider).to receive(:api_call).with('/1.0/~user/repo/branch/+code-import', {'ws.op' => 'requestImport'}).and_return Net::HTTPSuccess.new("HTTP/1.1", 200, "Ok")
      provider.push_app
    end

    it 'on api failure' do
      expect(provider).to receive(:api_call).with('/1.0/~user/repo/branch/+code-import', {'ws.op' => 'requestImport'}).and_return double("Net::HTTPUnauthorized", code: 401, body: "", class: Net::HTTPUnauthorized)
      expect { provider.push_app }.to raise_error(DPL::Error)
    end
  end

  describe 'private method' do
    describe '#authorization' do
      it 'should return correct oauth' do
        result = provider.instance_eval { authorization }
        expect(result).to include('oauth_token="uezinoosinmxkewhochq",')
        expect(result).to include('oauth_signature="%26dinb6fao4jh0kfdn5mich31cbikdkpjplkmadhi80h93kbbaableeeg41mm0jab9jif8ch7i2k9a80n5",')
      end
    end
  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
dpl-1.8.15.travis.1385.4 spec/provider/launchpad_spec.rb
dpl-1.8.15.travis.1379.4 spec/provider/launchpad_spec.rb
dpl-1.8.15.travis.1378.4 spec/provider/launchpad_spec.rb
dpl-1.8.15.travis.1375.4 spec/provider/launchpad_spec.rb
dpl-1.8.15.travis.1374.4 spec/provider/launchpad_spec.rb
dpl-1.8.15.travis.1358.4 spec/provider/launchpad_spec.rb