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