spec/configurators/ruby_configurator_spec.rb in rconf-0.6.25 vs spec/configurators/ruby_configurator_spec.rb in rconf-0.6.30
- old
+ new
@@ -20,22 +20,25 @@
end
before(:each) do
lang = RightConf::Language.parse('ruby { version "0"; rubygems "1" }')
@configurator = lang.configurators.first
- [:report_check, :report_result, :report_fatal, :report_success, :report].each do |meth|
+ [:report_check, :report_result, :report_success, :report].each do |meth|
flexmock(@configurator).should_receive(meth)
end
+ flexmock(@configurator).should_receive(:report_fatal).and_return { |*args| raise args.join(' ') }
end
it 'should succeed on linux when rvm succeeds' do
flexmock(RightConf::Command.instance).should_receive(:execute).once.with(
'rvm', '--version').and_return(success_result("rvm #{RVM_VERSION}"))
flexmock(RightConf::Command.instance).should_receive(:execute).once.with(
'rvm', 'list').and_return(success_result("=> rvm #{RVM_VERSION}"))
flexmock(RightConf::Command.instance).should_receive(:execute).once.with(
- 'rvm', 'use', '0').and_return(success_result('Using'))
+ 'rvm', 'use', '0').and_return(success_result('Using '))
+ flexmock(RightConf::Command.instance).should_receive(:execute).once.with(
+ 'rvm', '0@', 'gem', '--version').and_return(success_result('1'))
@configurator.run_linux
end
it 'should install rvm if needed' do
rvm_tar = "rvm-#{RVM_VERSION}.tar.gz"
@@ -52,11 +55,28 @@
{:abort_on_failure=>"Failed to extract rvm tgz from #{File.expand_path(File.join(File.dirname(__FILE__), '..', '..', "rvm-#{RVM_VERSION}.tar.gz"))}"}).and_return(success_result)
flexmock(Dir).should_receive(:chdir).and_yield
flexmock(RightConf::Command.instance).should_receive(:execute).once.with(
'./install', {:abort_on_failure=>"Failed to install rvm #{RVM_VERSION}"}).and_return(success_result)
flexmock(RightConf::Command.instance).should_receive(:execute).once.with(
- 'rvm', 'use', '0').and_return(success_result('Using'))
- flexmock(@configurator).should_receive(:setup_bashrc).once.and_return(true)
+ 'rvm', 'use', '0').and_return(success_result('Using '))
+ flexmock(RightConf::Command.instance).should_receive(:execute).once.with(
+ 'rvm', '0@', 'gem', '--version').and_return(success_result('1'))
+ flexmock(@configurator).should_receive(:setup_bashrc).once.and_return(true)
+ @configurator.run_linux
+ end
+
+ it 'should install rubygems if needed' do
+ flexmock(RightConf::Command.instance).should_receive(:execute).once.with(
+ 'rvm', '--version').and_return(success_result("rvm #{RVM_VERSION}"))
+ flexmock(RightConf::Command.instance).should_receive(:execute).once.with(
+ 'rvm', 'list').and_return(success_result("=> rvm #{RVM_VERSION}"))
+ flexmock(RightConf::Command.instance).should_receive(:execute).once.with(
+ 'rvm', 'use', '0').and_return(success_result('Using '))
+ flexmock(RightConf::Command.instance).should_receive(:execute).once.with(
+ 'rvm', '0@', 'gem', '--version').and_return(success_result('0'))
+ flexmock(RightConf::Command.instance).should_receive(:execute).once.with(
+ 'rvm', '0@', 'rubygems', '1',
+ {:abort_on_failure=>'Failed to install rubygems'}).and_return(success_result)
@configurator.run_linux
end
describe 'bashrc update' do