Skip to content

Commit cf537d0

Browse files
committed
Adding unit tests for Submodule code.
1 parent 13dda30 commit cf537d0

File tree

3 files changed

+29
-39
lines changed

3 files changed

+29
-39
lines changed
-24.7 KB
Binary file not shown.
54.5 KB
Binary file not shown.

test/git/test_submodule.py

+29-39
Original file line numberDiff line numberDiff line change
@@ -21,51 +21,41 @@
2121
class test_Submodule(unittest.TestCase):
2222

2323
def setUp(self):
24+
raise Exception('we are here')
2425
_p = tempfile.mkdtemp()
25-
demo_repos_file = fixture_path('sample_tree_of_repos_v1.zip')
26+
self.base_path = _p
27+
demo_repos_file = fixture_path('sample_tree_of_repos_v2.zip')
2628
zipfile.ZipFile(demo_repos_file).extractall(_p)
27-
self.base_path = os.path.join(_p, 'reposbase')
29+
self.bare_repo = Repo(os.path.join(_p, 'reposbase' ,'projects', 'demorepoone'))
30+
self.repo = Repo(os.path.join(_p, 'reposbase' ,'users', 'joe', 'copy_demorepoone'))
2831

2932
def tearDown(self):
3033
shutil.rmtree(self.base_path, True)
3134

32-
def dtest_01_browser_methods(self):
33-
_m = self._rpc_tree['browser.listdir']
34-
self.assertEquals(
35-
_m(''),
36-
{'path':'/', 'dirs':[{'name':'projects'},{'name':'teams'},{'name':'users'}]}
37-
)
38-
self.assertEquals(
39-
_m('/'),
40-
{'path':'/', 'dirs':[{'name':'projects'},{'name':'teams'},{'name':'users'}]}
41-
)
42-
self.assertEquals(
43-
_m('\\'),
44-
{'path':'/', 'dirs':[{'name':'projects'},{'name':'teams'},{'name':'users'}]}
45-
)
46-
# crossing fingers and hoping the order is same on all platforms.
47-
self.assertEquals(
48-
_m('projects'),
49-
{'path':'/projects', 'dirs':[
50-
{'name':'common_files'},
51-
{'name':'demorepoone','is_git_dir':True},
52-
{'name':'projectone','is_git_dir':True}
53-
]}
54-
)
55-
self.assertEquals(
56-
_m('projects/common_files'),
57-
{'path':'/projects/common_files', 'dirs':[]}
58-
)
59-
# we don't allow seeing files / folders inside repo folders
60-
self.assertRaises(grm.PathUnfitError, _m, 'projects/demorepoone')
61-
self.assertRaises(grm.PathUnfitError, _m, 'projects/demorepoone/objects')
62-
# on top of fobiden, it also does not exist.
63-
self.assertRaises(grm.PathUnfitError, _m, 'projects/demorepoone/kjhgjg')
64-
# all these should not exist
65-
self.assertRaises(grm.PathUnfitError, _m, 'projects/blah')
66-
self.assertRaises(grm.PathUnfitError, _m, '/blah')
67-
# we should forbid seeing contents of folders above base path.
68-
self.assertRaises(grm.PathUnfitError, _m, 'projects/../../../blah')
35+
def test_submodule_attributes(self):
36+
t = self.repo.commit('3408e8f7720eff4a1fd16e9bf654332036c39bf8').tree
37+
tb = self.bare_repo.commit('3408e8f7720eff4a1fd16e9bf654332036c39bf8').tree
38+
t_s1 = t['somesubmodule']
39+
tb_s1 = t['somesubmodule']
40+
t_s2 = t['somefolder']['nestedmodule']
41+
tb_s2 = t['somefolder']['nestedmodule']
42+
43+
self.assertEqual(t_s1.id, '74bc53cdcfd1804b9c3d1afad4db0999931a025c')
44+
self.assertEqual(tb_s1.id, '74bc53cdcfd1804b9c3d1afad4db0999931a025c')
45+
self.assertEqual(t_s2.id, '08a4dca6a06e2f8893a955d757d505f0431321cb')
46+
self.assertEqual(tb_s2.id, '08a4dca6a06e2f8893a955d757d505f0431321cb')
47+
self.assertEqual(t_s1.name, 'somesubmodule')
48+
self.assertEqual(tb_s1.name, 'somesubmodule')
49+
self.assertEqual(t_s2.name, 'nestedmodule')
50+
self.assertEqual(tb_s2.name, 'nestedmodule')
51+
self.assertEqual(t_s1.path, '/somesubmodule')
52+
self.assertEqual(tb_s1.path, '/somesubmodule')
53+
self.assertEqual(t_s2.path, '/somefolder/nestedmodule')
54+
self.assertEqual(tb_s2.path, '/somefolder/nestedmodule')
55+
self.assertEqual(t_s1.url, 'git://gitorious.org/git_http_backend_py/git_http_backend_py.git')
56+
self.assertEqual(tb_s1.url, 'git://gitorious.org/git_http_backend_py/git_http_backend_py.git')
57+
self.assertEqual(t_s2.url, 'git://gitorious.org/git_http_backend_py/git_http_backend_py.git')
58+
self.assertEqual(tb_s2.url, 'git://gitorious.org/git_http_backend_py/git_http_backend_py.git')
6959

7060
if __name__ == "__main__":
7161
unittest.TextTestRunner(verbosity=2).run(

0 commit comments

Comments
 (0)