Sha256: 3bd4cc0d42f5ef87488a554cca3adf1cb51c07d774036f20321bdc975de61c4c
Contents?: true
Size: 1.29 KB
Versions: 6
Compression:
Stored size: 1.29 KB
Contents
require 'spec_helper' require 'dpl/provider/hackage' describe DPL::Provider::Hackage do subject :provider do described_class.new(DummyContext.new, :username => 'FooUser', :password => 'bar') end describe :check_auth do it 'should require username' do provider.options.update(:username => nil) expect { provider.check_auth }.to raise_error(DPL::Error) end it 'should require password' do provider.options.update(:password => nil) expect { provider.check_auth }.to raise_error(DPL::Error) end end describe :check_app do it 'calls cabal' do provider.context.should_receive(:shell).with("cabal check").and_return(true) provider.check_app end it 'fails when cabal complains' do provider.context.should_receive(:shell).with("cabal check").and_return(false) expect { provider.check_app }.to raise_error(DPL::Error) end end describe :push_app do example do provider.context.should_receive(:shell).with("cabal sdist").and_return(true) Dir.should_receive(:glob).and_yield('dist/package-0.1.2.3.tar.gz') provider.context.should_receive(:shell).with("cabal upload --username=FooUser --password=bar dist/package-0.1.2.3.tar.gz") provider.push_app end end end
Version data entries
6 entries across 6 versions & 1 rubygems