common libs go into the lib/common directory
This commit is contained in:
86
spec/lib/common/updater/svn_updater_spec.rb
Normal file
86
spec/lib/common/updater/svn_updater_spec.rb
Normal file
@@ -0,0 +1,86 @@
|
||||
# encoding: UTF-8
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
describe SvnUpdater do
|
||||
|
||||
before :each do
|
||||
@svn_updater = SvnUpdater.new
|
||||
end
|
||||
|
||||
describe '#is_installed?' do
|
||||
after :each do
|
||||
stub_system_command(@svn_updater, /^svn info/, @stub_value)
|
||||
@svn_updater.is_installed?.should === @expected
|
||||
end
|
||||
|
||||
it 'should return false if the svn command is not found' do
|
||||
@stub_value = 'svn: command not found'
|
||||
@expected = false
|
||||
end
|
||||
|
||||
it 'should return false if the repository is not manage by svn' do
|
||||
@stub_value = "svn: '.' is not a working copy"
|
||||
@expected = false
|
||||
end
|
||||
|
||||
it 'should return true' do
|
||||
@stub_value = '<?xml version="1.0"?>
|
||||
<info>
|
||||
<entry kind="dir" path="." revision="362">
|
||||
<url>https://wpscan.googlecode.com/svn/trunk</url>
|
||||
<repository>
|
||||
<root>https://wpscan.googlecode.com/svn</root>
|
||||
<uuid>0b0242d5-46e6-2201-410d-bc09fd35266c</uuid>
|
||||
</repository>
|
||||
<wc-info>
|
||||
<schedule>normal</schedule>
|
||||
<depth>infinity</depth>
|
||||
</wc-info>
|
||||
<commit revision="362">
|
||||
<author>author@mail.tld</author>
|
||||
<date>2012-06-02T06:26:25.309806Z</date>
|
||||
</commit>
|
||||
</entry>
|
||||
</info>'
|
||||
@expected = true
|
||||
end
|
||||
end
|
||||
|
||||
describe '#local_revision_number' do
|
||||
after :each do
|
||||
stub_system_command(@svn_updater, /^svn info/, @stub_value)
|
||||
@svn_updater.local_revision_number.should === @expected
|
||||
end
|
||||
|
||||
it 'should return 399' do
|
||||
@stub_value = '<?xml version="1.0"?>
|
||||
<info>
|
||||
<entry kind="dir" path="." revision="362">
|
||||
<url>https://wpscan.googlecode.com/svn/trunk</url>
|
||||
<repository>
|
||||
<root>https://wpscan.googlecode.com/svn</root>
|
||||
<uuid>0b0242d5-46e6-2201-410d-bc09fd35266c</uuid>
|
||||
</repository>
|
||||
<wc-info>
|
||||
<schedule>normal</schedule>
|
||||
<depth>infinity</depth>
|
||||
</wc-info>
|
||||
<commit revision="362">
|
||||
<author>author@mail.tld</author>
|
||||
<date>2012-06-02T06:26:25.309806Z</date>
|
||||
</commit>
|
||||
</entry>
|
||||
</info>'
|
||||
@expected = '362'
|
||||
end
|
||||
end
|
||||
|
||||
describe '#update' do
|
||||
it 'should do nothing xD' do
|
||||
stub_system_command(@svn_updater, /^svn up/, 'At revision 425.')
|
||||
@svn_updater.update().should === 'At revision 425.'
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user