##// END OF EJS Templates
scm: bazaar: replace RAILS_ROOT to Rails.root in unit adapter test....
Toshi MARUYAMA -
r5936:01656ff590cc
parent child
Show More
@@ -1,156 +1,154
1 1 require File.expand_path('../../../../../../test_helper', __FILE__)
2 2 begin
3 3 require 'mocha'
4 4
5 5 class BazaarAdapterTest < ActiveSupport::TestCase
6
7 REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') +
8 '/tmp/test/bazaar_repository'
6 REPOSITORY_PATH = Rails.root.join('tmp/test/bazaar_repository').to_s
9 7 REPOSITORY_PATH.gsub!(/\/+/, '/')
10 8
11 9 if File.directory?(REPOSITORY_PATH)
12 10 def setup
13 11 @adapter = Redmine::Scm::Adapters::BazaarAdapter.new(
14 12 File.join(REPOSITORY_PATH, "trunk")
15 13 )
16 14 end
17 15
18 16 def test_scm_version
19 17 to_test = { "Bazaar (bzr) 2.1.2\n" => [2,1,2],
20 18 "2.1.1\n1.7\n1.8" => [2,1,1],
21 19 "2.0.1\r\n1.8.1\r\n1.9.1" => [2,0,1]}
22 20 to_test.each do |s, v|
23 21 test_scm_version_for(s, v)
24 22 end
25 23 end
26 24
27 25 def test_cat
28 26 cat = @adapter.cat('directory/document.txt')
29 27 assert cat =~ /Write the contents of a file as of a given revision to standard output/
30 28 end
31 29
32 30 def test_cat_path_invalid
33 31 assert_nil @adapter.cat('invalid')
34 32 end
35 33
36 34 def test_cat_revision_invalid
37 35 assert_nil @adapter.cat('doc-mkdir.txt', '12345678')
38 36 end
39 37
40 38 def test_diff_path_invalid
41 39 assert_equal [], @adapter.diff('invalid', 1)
42 40 end
43 41
44 42 def test_diff_revision_invalid
45 43 assert_equal [], @adapter.diff(nil, 12345678)
46 44 assert_equal [], @adapter.diff(nil, 12345678, 87654321)
47 45 end
48 46
49 47 def test_annotate
50 48 annotate = @adapter.annotate('doc-mkdir.txt')
51 49 assert_equal 17, annotate.lines.size
52 50 assert_equal '1', annotate.revisions[0].identifier
53 51 assert_equal 'jsmith@', annotate.revisions[0].author
54 52 assert_equal 'mkdir', annotate.lines[0]
55 53 end
56 54
57 55 def test_annotate_path_invalid
58 56 assert_nil @adapter.annotate('invalid')
59 57 end
60 58
61 59 def test_annotate_revision_invalid
62 60 assert_nil @adapter.annotate('doc-mkdir.txt', '12345678')
63 61 end
64 62
65 63 def test_branch_conf_path
66 64 p = "c:\\test\\test\\"
67 65 bcp = Redmine::Scm::Adapters::BazaarAdapter.branch_conf_path(p)
68 66 assert_equal File.join("c:\\test\\test", ".bzr", "branch", "branch.conf"), bcp
69 67 p = "c:\\test\\test\\.bzr"
70 68 bcp = Redmine::Scm::Adapters::BazaarAdapter.branch_conf_path(p)
71 69 assert_equal File.join("c:\\test\\test", ".bzr", "branch", "branch.conf"), bcp
72 70 p = "c:\\test\\test\\.bzr\\"
73 71 bcp = Redmine::Scm::Adapters::BazaarAdapter.branch_conf_path(p)
74 72 assert_equal File.join("c:\\test\\test", ".bzr", "branch", "branch.conf"), bcp
75 73 p = "c:\\test\\test"
76 74 bcp = Redmine::Scm::Adapters::BazaarAdapter.branch_conf_path(p)
77 75 assert_equal File.join("c:\\test\\test", ".bzr", "branch", "branch.conf"), bcp
78 76 p = "\\\\server\\test\\test\\"
79 77 bcp = Redmine::Scm::Adapters::BazaarAdapter.branch_conf_path(p)
80 78 assert_equal File.join("\\\\server\\test\\test", ".bzr", "branch", "branch.conf"), bcp
81 79 end
82 80
83 81 def test_append_revisions_only_true
84 82 assert_equal true, @adapter.append_revisions_only
85 83 end
86 84
87 85 def test_append_revisions_only_false
88 86 adpt = Redmine::Scm::Adapters::BazaarAdapter.new(
89 87 File.join(REPOSITORY_PATH, "empty-branch")
90 88 )
91 89 assert_equal false, adpt.append_revisions_only
92 90 end
93 91
94 92 def test_append_revisions_only_shared_repo
95 93 adpt = Redmine::Scm::Adapters::BazaarAdapter.new(
96 94 REPOSITORY_PATH
97 95 )
98 96 assert_equal false, adpt.append_revisions_only
99 97 end
100 98
101 99 def test_info_not_nil
102 100 assert_not_nil @adapter.info
103 101 end
104 102
105 103 def test_info_nil
106 104 adpt = Redmine::Scm::Adapters::BazaarAdapter.new(
107 105 "/invalid/invalid/"
108 106 )
109 107 assert_nil adpt.info
110 108 end
111 109
112 110 def test_info
113 111 info = @adapter.info
114 112 assert_equal 4, info.lastrev.identifier.to_i
115 113 end
116 114
117 115 def test_info_emtpy
118 116 adpt = Redmine::Scm::Adapters::BazaarAdapter.new(
119 117 File.join(REPOSITORY_PATH, "empty-branch")
120 118 )
121 119 assert_equal 0, adpt.info.lastrev.identifier.to_i
122 120 end
123 121
124 122 def test_entries_path_invalid
125 123 assert_equal [], @adapter.entries('invalid')
126 124 end
127 125
128 126 def test_entries_revision_invalid
129 127 assert_nil @adapter.entries(nil, 12345678)
130 128 end
131 129
132 130 def test_revisions_path_invalid
133 131 assert_nil @adapter.revisions('invalid')
134 132 end
135 133
136 134 def test_revisions_revision_invalid
137 135 assert_nil @adapter.revisions(nil, 12345678)
138 136 assert_nil @adapter.revisions(nil, 12345678, 87654321)
139 137 end
140 138
141 139 private
142 140
143 141 def test_scm_version_for(scm_command_version, version)
144 142 @adapter.class.expects(:scm_version_from_command_line).returns(scm_command_version)
145 143 assert_equal version, @adapter.class.scm_command_version
146 144 end
147 145 else
148 146 puts "Bazaar test repository NOT FOUND. Skipping unit tests !!!"
149 147 def test_fake; assert true end
150 148 end
151 149 end
152 150 rescue LoadError
153 151 class BazaarMochaFake < ActiveSupport::TestCase
154 152 def test_fake; assert(false, "Requires mocha to run those tests") end
155 153 end
156 154 end
General Comments 0
You need to be logged in to leave comments. Login now