|
21 | 21 | class test_Submodule(unittest.TestCase):
|
22 | 22 |
|
23 | 23 | def setUp(self):
|
| 24 | + raise Exception('we are here') |
24 | 25 | _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') |
26 | 28 | 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')) |
28 | 31 |
|
29 | 32 | def tearDown(self):
|
30 | 33 | shutil.rmtree(self.base_path, True)
|
31 | 34 |
|
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') |
69 | 59 |
|
70 | 60 | if __name__ == "__main__":
|
71 | 61 | unittest.TextTestRunner(verbosity=2).run(
|
|
0 commit comments