|
21 | 21 | classtest_Submodule(unittest.TestCase):
|
22 | 22 |
|
23 | 23 | defsetUp(self):
|
| 24 | +raiseException('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 | deftearDown(self):
|
30 | 33 | shutil.rmtree(self.base_path,True)
|
31 | 34 |
|
32 |
| -defdtest_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 | +deftest_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(
|
|