From 3b4cfe0ba8b4ea2ac36e0db36632afe3d042eb5a Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Mon, 3 Dec 2007 19:19:36 +0000 Subject: [PATCH] Added some unit tests for the Bazaar adapter. git-svn-id: http://redmine.rubyforge.org/svn/trunk@951 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- doc/RUNNING_TESTS | 13 +++ .../repositories/bazaar_repository.tar.gz | Bin 0 -> 9382 bytes .../repositories/subversion_repository.dump | Bin 15812 -> 0 bytes .../subversion_repository.dump.gz | Bin 0 -> 11015 bytes test/unit/repository_bazaar_test.rb | 87 ++++++++++++++++++ test/unit/repository_subversion_test.rb | 2 +- 6 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 doc/RUNNING_TESTS create mode 100644 test/fixtures/repositories/bazaar_repository.tar.gz delete mode 100644 test/fixtures/repositories/subversion_repository.dump create mode 100644 test/fixtures/repositories/subversion_repository.dump.gz create mode 100644 test/unit/repository_bazaar_test.rb diff --git a/doc/RUNNING_TESTS b/doc/RUNNING_TESTS new file mode 100644 index 000000000..bd72ac71a --- /dev/null +++ b/doc/RUNNING_TESTS @@ -0,0 +1,13 @@ +Creating test repositories +=================== + +mkdir tmp/test + +Subversion +---------- +svnadmin create tmp/test/subversion_repository +gunzip < test/fixtures/repositories/subversion_repository.dump.gz | svnadmin load tmp/test/subversion_repository + +Bazaar +------ +gunzip < test/fixtures/repositories/bazaar_repository.tar.gz | tar -xv -C tmp/test \ No newline at end of file diff --git a/test/fixtures/repositories/bazaar_repository.tar.gz b/test/fixtures/repositories/bazaar_repository.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..621c2f145e71c37be837b7bad3f0c9b28096a0ea GIT binary patch literal 9382 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 F{{c%Xbua(` diff --git a/test/fixtures/repositories/subversion_repository.dump.gz b/test/fixtures/repositories/subversion_repository.dump.gz new file mode 100644 index 0000000000000000000000000000000000000000..997835048625569ed43e475c88348790d5f2d56d GIT binary patch literal 11015 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 H?4qCJq%w0S0qrAFns6{9 z$-<9?5!Th{-OiFv?YOlKR0ptq%;f36-b(RoOE9>M+DMMg&)B3~t3M(8Dp{VdvCYbL zhG}84En|uLo+20h<4!7z#6h)Hr*pioK?<;a4p8!-W@uSsyJ9J$pWDOw& zy=PHw@6EJR@|2CieATmVA@;}ux#gWqlrxy1l^{}%;^yzTVs%9Cc*f!d&zGvNQ6A7! z4pT`8aKf2mTlQ^aF6@)l+8mb%U~ zuhCrBow)0x(|%`Mf=(9RBm4Q%z0|E{y5ay8i(lK0&WTIV{dz2EnuasVeWHt2RI#sd z8>mLhaK>^(NJHPUoK}I=a`HEZHUR4#*P*8wtHY2&b{iI+{sCM4a zLerGiQ=U;FIKS(@1+S}ADaFS%g1VKe;V(Tarn9C?_p%0Y8DiA77@@%zA+IlqRHZ8r zRJ$8DH(p9wk;3A8?ZzV&Hc{~yZeXC! z;cjI!zL4KD>DK*LUYsy>BA4lr)$}Y|6^yxxZ*K zL1b?;ph^lwXawMUCgwO@(r*}2bt;a>a`KSocb><(ch#yLtEw~G7#|flq*Paar#>Z@ zpQaVdyoy;-u~Aly3BvcF_sNxK3<2w$hvGGL?_PB;AC;?S#v(MBd9@Cc*X-0vkxyOm zL3yTMJepAq*{sdJVYmLICZEs#l-gN0i{ZSxgs()2$wLZX$x-Ayj%i?3^Tc9c{~JC$ zzN*F0pm3+k%1c13TzTWWs`OhgR(Vh_+?sCwChkUTu+Hia*B!Z}eVa5wXsw1V6OYN2 z-K^tL8GGBbG60ns00L9DR&m<+fr@W&yjI(~)`bnSQ?fY;IvG{BR~W~iKCvKS+6M5F z3HW-Sts-8X{7FgoD(TpC{7W^5JVa*$rQC2xuIvCP6|0VPO&ChR`gJS0Jp@$zUWP=T zyZB(E%5D@ss#+%xP#vOlX;A|J z4}5~UZ?}>+w+b;K15lNAJ)Rokq-0*j;;wZ<>f>M6+cNv(N-jQnxZA00YH>sYm5IRk zIW=n+OZE?T0VrA(LbqF#qW^`h>*TCv2F7C?n80Fc6`+Ba9XA38RvZ8htZ+nZ3Ayy> z<*KqKLxubd2`1FysFoNm%|cy(Y;Cvfj1aAnWKUyrKE5yx|1 zZaugDF$VXs{e+{eaQ>Iq`#L}Oso+=2AE<-C<kA7InEg*HQbNZnX~s)z{{2->1S;t#1t??^i$KAXXp~?o1d(YZHj&P; zBhlG-I)M~SW6^%Baw3raY?Tw26(N*Kz~7V!!5t#8FhtCX0C^HnD&|FwR~`!B_9e35 zXdBR9C<8e{!AvPAfFO=NW;)zs39>+w2o_IZ0!Bd6P$6f$O#rRs^8^qGN!TnABpGj$ zKoLB)kS`QS#wU6~VrV9;1~!EaLuiiyF~2Q{`di`BKaGqOMs6$!HqxkncbOv1j`owl z;7Jh6jzuCu!E_RfPU28WTstb8&LNY@lwca0`;*Eb+HWhL76`= zCk0tBa#k=30tqx$9wdXru)RDHPr~L2LO_VmliGkwAr2@I3P3SWB9qu?VwTDzB1pjD zNhA=+ho`}zlnTZ0KP!;K3lYHWyolcj|BXBW#I^!ud^o;r9wdRo!m;{h3oO-D%#y$g zp|KK2*u-z6;6WT7E5Zg`$b#6A03N~Tg~<3UFoGqKu&lsHmY4^tho9gOi^dA)gn|$m zWCcPpo+LszZnqT}!Gq<)A>awXu~JqkZ`@X)n9UorXl#ruA|e`$5c1*3^2TNhU=QHu zF?)Di*jHGD)i?%RNc`QvF}pz6S^nQ$1tBp@3TtwMb$_?V1{{B3iP^HhnJi($LSZP^ z$RIG1CuKq3;a?+TNnyrY!3zPB@?Zt5Z+6ǁR$PH23}HwR%Y%f?23iwPJh#vQmB9wi2A%ml z7{#%u1c$@u0)@)q;_WyzE{)1&6Cpe~IGBiMu}G|7h)N>-Skyiy z=Ktr2|FInL|99{I!@D>6kFL)Aq`G{py!;=o&X6#!<7;^A%z{MdKIw+jP*G1gRj zJi#7Mv%ypUOd9@^w_yHR4jH@A^kZ;o>|i2|O9;kuU=q?P1OkoCX2JP{g{K6Q$>pr*rTp76+0XLW{{sr2X3oSt004RX BzVrY9 literal 0 HcmV?d00001 diff --git a/test/unit/repository_bazaar_test.rb b/test/unit/repository_bazaar_test.rb new file mode 100644 index 000000000..68a1ef5e3 --- /dev/null +++ b/test/unit/repository_bazaar_test.rb @@ -0,0 +1,87 @@ +# redMine - project management software +# Copyright (C) 2006-2007 Jean-Philippe Lang +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +require File.dirname(__FILE__) + '/../test_helper' + +class RepositoryBazaarTest < Test::Unit::TestCase + fixtures :projects + + # No '..' in the repository path + REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + 'tmp/test/bazaar_repository' + + def setup + @project = Project.find(1) + assert @repository = Repository::Bazaar.create(:project => @project, :url => "file:///#{REPOSITORY_PATH}") + end + + if File.directory?(REPOSITORY_PATH) + def test_fetch_changesets_from_scratch + @repository.fetch_changesets + @repository.reload + + assert_equal 4, @repository.changesets.count + assert_equal 9, @repository.changes.count + assert_equal 'Initial import', @repository.changesets.find_by_revision(1).comments + end + + def test_fetch_changesets_incremental + @repository.fetch_changesets + # Remove changesets with revision > 5 + @repository.changesets.find(:all, :conditions => 'revision > 2').each(&:destroy) + @repository.reload + assert_equal 2, @repository.changesets.count + + @repository.fetch_changesets + assert_equal 4, @repository.changesets.count + end + + def test_entries + entries = @repository.entries + assert_equal 2, entries.size + + assert_equal 'dir', entries[0].kind + assert_equal 'directory', entries[0].name + + assert_equal 'file', entries[1].kind + assert_equal 'doc-mkdir.txt', entries[1].name + end + + def test_entries_in_subdirectory + entries = @repository.entries('directory') + assert_equal 3, entries.size + + assert_equal 'file', entries.last.kind + assert_equal 'edit.png', entries.last.name + end + + def test_cat + cat = @repository.scm.cat('directory/document.txt') + assert cat =~ /Write the contents of a file as of a given revision to standard output/ + end + + def test_annotate + annotate = @repository.scm.annotate('doc-mkdir.txt') + assert_equal 17, annotate.lines.size + assert_equal 1, annotate.revisions[0].identifier + assert_equal 'jsmith@', annotate.revisions[0].author + assert_equal 'mkdir', annotate.lines[0] + end + else + puts "Bazaar test repository NOT FOUND. Skipping tests !!!" + def test_fake; assert true end + end +end diff --git a/test/unit/repository_subversion_test.rb b/test/unit/repository_subversion_test.rb index dd1c5eb6e..592eb4ffa 100644 --- a/test/unit/repository_subversion_test.rb +++ b/test/unit/repository_subversion_test.rb @@ -50,6 +50,6 @@ class RepositorySubversionTest < Test::Unit::TestCase end else puts "Subversion test repository NOT FOUND. Skipping tests !!!" - def test_fake; assert false end + def test_fake; assert true end end end