44import shutil
55from StringIO import StringIO
66from pipe import pipe
7+ from unittest import skipIf
78
89from textwrap import dedent
910from email .mime .text import MIMEText
2728from ietf .utils .test_runner import get_template_paths
2829from ietf .group .models import Group
2930
31+ skip_wiki_glue_testing = False
32+ skip_wiki_glue_message = ""
33+ try :
34+ import svn # pyflakes:ignore
35+ except ImportError as e :
36+ skip_wiki_glue_testing = True
37+ skip_wiki_glue_message = " Skipping trac tests: %s" % e
38+
3039class PyFlakesTestCase (TestCase ):
3140
3241 def test_pyflakes (self ):
@@ -190,15 +199,20 @@ def check_that_static_tags_resolve(node, origin, checked):
190199 settings .DEBUG = saved_debug
191200
192201
202+ @skipIf (skip_wiki_glue_testing , skip_wiki_glue_message )
193203class TestWikiGlueManagementCommand (TestCase ):
194204
195205 def setUp (self ):
196206 self .wiki_dir_pattern = os .path .abspath ('tmp-wiki-dir-root/%s' )
197207 if not os .path .exists (self .wiki_dir_pattern ):
198208 os .mkdir (os .path .dirname (self .wiki_dir_pattern ))
209+ self .svn_dir_pattern = os .path .abspath ('tmp-svn-dir-root/%s' )
210+ if not os .path .exists (self .svn_dir_pattern ):
211+ os .mkdir (os .path .dirname (self .svn_dir_pattern ))
199212
200213 def tearDown (self ):
201214 shutil .rmtree (os .path .dirname (self .wiki_dir_pattern ))
215+ shutil .rmtree (os .path .dirname (self .svn_dir_pattern ))
202216
203217 def test_wiki_create_output (self ):
204218 make_test_data ()
@@ -207,12 +221,16 @@ def test_wiki_create_output(self):
207221 state__slug = 'active'
208222 ).order_by ('acronym' )
209223 out = StringIO ()
210- call_command ('create_group_wikis' , stdout = out , verbosity = 2 , wiki_dir_pattern = self .wiki_dir_pattern )
224+ call_command ('create_group_wikis' , stdout = out , verbosity = 2 ,
225+ wiki_dir_pattern = self .wiki_dir_pattern ,
226+ svn_dir_pattern = self .svn_dir_pattern ,
227+ )
211228 command_output = out .getvalue ()
212229 for group in groups :
213230 self .assertIn ("Processing group %s" % group .acronym , command_output )
214231 # Do a bit of verification using trac-admin, too
215- admin_code , admin_output , admin_error = pipe ('trac-admin %s permission list' % (self .wiki_dir_pattern % group .acronym ))
232+ admin_code , admin_output , admin_error = pipe (
233+ 'trac-admin %s permission list' % (self .wiki_dir_pattern % group .acronym ))
216234 self .assertEqual (admin_code , 0 )
217235 roles = group .role_set .filter (name_id__in = ['chair' , 'secr' , 'ad' ])
218236 for role in roles :
0 commit comments