|
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( |
|