17
17
"""Config tests."""
19
19
from bzrlib.branch import Branch
20
from bzrlib.plugins.svn.config import SvnRepositoryConfig, BranchConfig
20
from bzrlib.repository import Repository
21
from bzrlib.workingtree import WorkingTree
22
from bzrlib.plugins.svn.config import (
24
NoSubversionBuildPackageConfig,
27
SubversionBuildPackageConfig,
21
29
from bzrlib.plugins.svn.mapping3.scheme import TrunkBranchingScheme
22
from bzrlib.plugins.svn.tests import TestCaseWithSubversionRepository
24
from bzrlib.tests import TestCaseInTempDir
26
class ReposConfigTests(TestCaseInTempDir):
27
def test_create(self):
28
SvnRepositoryConfig("blabla")
30
def test_get_empty_locations(self):
31
c = SvnRepositoryConfig("blabla6")
32
self.assertEquals(set(), c.get_locations())
30
from bzrlib.plugins.svn.tests import SubversionTestCase
32
class ReposConfigTests(SubversionTestCase):
35
super(ReposConfigTests, self).setUp()
36
self.repos_url = self.make_repository("d")
37
self.repos = Repository.open(self.repos_url)
38
self.config = self.repos.get_config()
40
def test_get_default_locations(self):
42
self.assertEquals(set([self.repos.base.rstrip("/")]), c.get_locations())
34
44
def test_get_location_one(self):
35
c = SvnRepositoryConfig("blabla5")
36
46
c.add_location("foobar")
37
self.assertEquals(set(["foobar"]), c.get_locations())
47
self.assertEquals(set(["foobar", self.repos.base.rstrip("/")]), c.get_locations())
39
49
def test_get_location_two(self):
40
c = SvnRepositoryConfig("blabla4")
41
51
c.add_location("foobar")
42
52
c.add_location("brainslug")
43
self.assertEquals(set(["foobar", "brainslug"]), c.get_locations())
53
self.assertEquals(set(["foobar", "brainslug", self.repos.base.rstrip("/")]), c.get_locations())
55
def test_get_branches(self):
57
c.set_user_option("branches", "bla;blie")
58
self.assertEquals(["bla", "blie"], c.get_branches())
60
def test_branches(self):
62
c.set_branches(["bla", "blie"])
63
self.assertEquals(["bla", "blie"], c.get_branches())
65
def test_get_tags(self):
67
c.set_user_option("tags", "bla;blie")
68
self.assertEquals(["bla", "blie"], c.get_tags())
72
c.set_tags(["bla", "blie"])
73
self.assertEquals(["bla", "blie"], c.get_tags())
45
75
def test_get_scheme_none(self):
46
c = SvnRepositoryConfig("blabla3")
47
77
self.assertEquals(None, c.get_branching_scheme())
49
79
def test_get_scheme_set(self):
50
c = SvnRepositoryConfig("blabla2")
51
c.set_branching_scheme(TrunkBranchingScheme())
81
c.set_branching_scheme(TrunkBranchingScheme(), None)
52
82
self.assertEquals("trunk0", str(c.get_branching_scheme()))
54
84
def test_get_scheme_mandatory_none(self):
55
c = SvnRepositoryConfig("blabla3")
56
86
self.assertEquals(False, c.branching_scheme_is_mandatory())
58
88
def test_get_scheme_mandatory_set(self):
59
c = SvnRepositoryConfig("blabla3")
60
c.set_branching_scheme(TrunkBranchingScheme(), mandatory=True)
90
c.set_branching_scheme(TrunkBranchingScheme(), None, mandatory=True)
61
91
self.assertEquals(True, c.branching_scheme_is_mandatory())
62
c.set_branching_scheme(TrunkBranchingScheme(), mandatory=False)
92
c.set_branching_scheme(TrunkBranchingScheme(), None, mandatory=False)
63
93
self.assertEquals(False, c.branching_scheme_is_mandatory())
65
def test_override_revprops(self):
66
c = SvnRepositoryConfig("blabla2")
67
self.assertEquals(None, c.get_override_svn_revprops())
68
c.set_user_option("override-svn-revprops", "True")
69
self.assertEquals(["svn:date", "svn:author"], c.get_override_svn_revprops())
70
c.set_user_option("override-svn-revprops", "False")
71
self.assertEquals([], c.get_override_svn_revprops())
72
c.set_user_option("override-svn-revprops", ["svn:author", "svn:date"])
73
self.assertEquals(["svn:author","svn:date"], c.get_override_svn_revprops())
74
c.set_user_option("override-svn-revprops", ["svn:author"])
75
self.assertEquals(["svn:author"], c.get_override_svn_revprops())
77
def test_get_append_revisions_only(self):
78
c = SvnRepositoryConfig("blabla2")
79
self.assertEquals(None, c.get_append_revisions_only())
80
c.set_user_option("append_revisions_only", "True")
81
self.assertEquals(True, c.get_append_revisions_only())
82
c.set_user_option("append_revisions_only", "False")
83
self.assertEquals(False, c.get_append_revisions_only())
85
def test_set_revprops(self):
86
c = SvnRepositoryConfig("blabla2")
87
self.assertEquals(None, c.get_set_revprops())
88
c.set_user_option("set-revprops", "True")
89
self.assertEquals(True, c.get_set_revprops())
90
c.set_user_option("set-revprops", "False")
91
self.assertEquals(False, c.get_set_revprops())
93
def test_log_strip_trailing_newline(self):
94
c = SvnRepositoryConfig("blabla3")
95
self.assertEquals(False, c.get_log_strip_trailing_newline())
96
c.set_user_option("log-strip-trailing-newline", "True")
97
self.assertEquals(True, c.get_log_strip_trailing_newline())
98
c.set_user_option("log-strip-trailing-newline", "False")
99
self.assertEquals(False, c.get_log_strip_trailing_newline())
101
95
def test_supports_change_revprop(self):
102
c = SvnRepositoryConfig("blabla2")
103
97
self.assertEquals(None, c.get_supports_change_revprop())
104
98
c.set_user_option("supports-change-revprop", "True")
105
99
self.assertEquals(True, c.get_supports_change_revprop())
106
100
c.set_user_option("supports-change-revprop", "False")
107
101
self.assertEquals(False, c.get_supports_change_revprop())
110
class BranchConfigTests(TestCaseWithSubversionRepository):
103
def test_default_mapping(self):
105
self.assertEquals(None, c.get_default_mapping())
106
c.set_user_option("default-mapping", "v8")
107
self.assertEquals("v8", c.get_default_mapping())
109
def test_use_cache(self):
111
self.assertEquals(None, c.get_use_cache())
112
c.set_user_option("use-cache", "True")
113
self.assertEquals(set(["log", "revids", "fileids", "revinfo"]), c.get_use_cache())
114
c.set_user_option("use-cache", ["log", "revids"])
115
self.assertEquals(set(["log", "revids"]), c.get_use_cache())
116
c.set_user_option("use-cache", "False")
117
self.assertEquals(set([]), c.get_use_cache())
120
class BranchConfigTests(SubversionTestCase):
112
123
super(BranchConfigTests, self).setUp()
113
self.repos_url = self.make_client("d", "dc")
114
self.config = BranchConfig(Branch.open(self.repos_url))
124
self.repos_url = self.make_repository("d")
125
self.config = Branch.open(self.repos_url).get_config()
116
127
def test_set_option(self):
117
128
self.config.set_user_option("append_revisions_only", "True")
118
129
self.assertEquals("True", self.config.get_user_option("append_revisions_only"))
131
def test_log_strip_trailing_newline(self):
132
self.assertEquals(False, self.config.get_log_strip_trailing_newline())
133
self.config.set_user_option("log-strip-trailing-newline", "True")
134
self.assertEquals(True, self.config.get_log_strip_trailing_newline())
135
self.config.set_user_option("log-strip-trailing-newline", "False")
136
self.assertEquals(False, self.config.get_log_strip_trailing_newline())
138
def test_override_revprops(self):
139
self.assertEquals(None, self.config.get_override_svn_revprops())
140
self.config.set_user_option("override-svn-revprops", "True")
141
self.assertEquals(["svn:date", "svn:author"], self.config.get_override_svn_revprops())
142
self.config.set_user_option("override-svn-revprops", "False")
143
self.assertEquals([], self.config.get_override_svn_revprops())
144
self.config.set_user_option("override-svn-revprops", ["svn:author", "svn:date"])
145
self.assertEquals(["svn:author", "svn:date"], self.config.get_override_svn_revprops())
146
self.config.set_user_option("override-svn-revprops", ["svn:author"])
147
self.assertEquals(["svn:author"], self.config.get_override_svn_revprops())
149
def test_get_append_revisions_only(self):
150
self.assertEquals(None, self.config.get_append_revisions_only())
151
self.config.set_user_option("append_revisions_only", "True")
152
self.assertEquals(True, self.config.get_append_revisions_only())
153
self.config.set_user_option("append_revisions_only", "False")
154
self.assertEquals(False, self.config.get_append_revisions_only())
157
class PropertyConfigTests(SubversionTestCase):
159
def test_getitem(self):
160
repos_url = self.make_repository("d")
162
dc = self.get_commit_editor(repos_url)
163
f = dc.add_file("foo")
164
f.change_prop("bla", "bar")
168
repos = Repository.open(repos_url)
170
cfg = PropertyConfig(repos.revision_tree(repos.generate_revision_id(1, "", repos.get_mapping())), "foo")
172
self.assertEquals("bar", cfg["bla"])
175
class SvnBpConfigTests(SubversionTestCase):
177
def test_no_debian_dir(self):
178
repos_url = self.make_repository("d")
179
self.assertRaises(NoSubversionBuildPackageConfig,
180
SubversionBuildPackageConfig, Branch.open(repos_url).basis_tree())
182
def test_mergeWithUpstream(self):
183
repos_url = self.make_repository("d")
185
dc = self.get_commit_editor(repos_url)
186
f = dc.add_dir("debian")
187
f.change_prop("mergeWithUpstream", "1")
190
cfg = SubversionBuildPackageConfig(Branch.open(repos_url).basis_tree())
192
self.assertEquals(True, cfg.get_merge_with_upstream())
194
def test_get_property_val(self):
195
repos_url = self.make_repository("d")
197
dc = self.get_commit_editor(repos_url)
198
f = dc.add_dir("debian")
199
f.change_prop("svn-bp:origDir", "myorigdir")
202
cfg = SubversionBuildPackageConfig(Branch.open(repos_url).basis_tree())
204
self.assertEquals("myorigdir", cfg.get("origDir"))
206
def test_get_intree_val(self):
207
repos_url = self.make_repository("d")
209
dc = self.get_commit_editor(repos_url)
210
d = dc.add_dir("debian")
211
f = d.add_file("debian/svn-layout")
212
f.modify("origDir = aorigdir\n")
215
cfg = SubversionBuildPackageConfig(Branch.open(repos_url).basis_tree())
217
self.assertEquals("aorigdir", cfg.get("origDir"))
219
def test_get_controldir_val(self):
220
repos_url = self.make_client("d", "dc")
222
f = open('dc/.svn/svn-layout', 'w')
223
f.write("buildArea = build-gebied\n")
226
cfg = SubversionBuildPackageConfig(WorkingTree.open("dc"))
228
self.assertEquals("build-gebied", cfg.get("buildArea"))