示例#1
0
 def testHasSubDirs(self):
     self._createRepos(['subdirs'])
     for subdir in ['test', 'test/subdir']:
         os.system("svn mkdir -m '' file://'%s' >/dev/null" % \
          os.path.join(self.svn_dir, 'subdirs', subdir))
     r = repository.Repository('subdirs', 'svn')
     subdirs = r.subdirs('test')
     expected = [{'has_subdirs': False, 'name': u'subdir'}]
     self.assertEquals(subdirs, expected)
示例#2
0
 def testNotificationsEnabled(self):
     self._createRepos(['foo'])
     r = repository.Repository('foo', 'svn')
     # first time, because no file is present
     self.assertFalse(r.commitEmailsEnabled())
     r.enableCommitEmails(enable=True)
     self.assertTrue(r.commitEmailsEnabled())
     # a second time, because now a file is created
     r.enableCommitEmails(enable=False)
     self.assertFalse(r.commitEmailsEnabled())
def rewrite_hooks(reponame):
	if reponame:
		repositories = [reponame]
	else:
		repositories = [x['name'] for x in repository.Repository.list_all() if x['vcs'] == 'git']

	for reponame in repositories:
		repo = repository.Repository(reponame, 'git')

		setCommitEmailHook(reponame, repo.commitEmailsEnabled())
		setTracSyncHook(reponame, repo.tracCommitHookEnabled())
示例#4
0
    def testSubDirsContents(self):
        self._createRepos(['subdirs'])
        for subdir in ['test', 'test/subdir', 'nosubdirs']:
            os.system("svn mkdir -m '' file://'%s' >/dev/null" % \
             os.path.join(self.svn_dir, 'subdirs', subdir))
        r = repository.Repository('subdirs', 'svn')
        result = r.subdirs('')
        expected_result = [{'has_subdirs': False, 'name': u'nosubdirs'}, \
         {'name': u'test', 'has_subdirs': True}]

        result.sort()
        expected_result.sort()
        self.assertEquals(result, expected_result)
示例#5
0
    def testChangeNotificationsEmptyHook(self):
        self._createRepos(['foo'])
        expected_hook = '''#!/bin/sh
### SUBMIN AUTOCONFIG, DO NOT ALTER FOLLOWING LINE ###
/usr/bin/python /bin/post-commit.py "%s" "$1" "$2"
''' % self.submin_env
        hook_fname = os.path.join(self.svn_dir, 'foo', 'hooks', 'post-commit')

        r = repository.Repository('foo', 'svn')
        r.enableCommitEmails(enable=True)
        hook = ''.join(open(hook_fname, 'r').readlines())
        self.assertTrue(
            '### SUBMIN AUTOCONFIG, DO NOT ALTER FOLLOWING LINE ###' in hook)
        self.assertTrue('mailer.py.conf' in hook)
示例#6
0
    def testChangeNotificationsExistingHook(self):
        self._createRepos(['foo'])
        expected_hook = '''#!/bin/sh
# just a comment
'''
        hook_fname = os.path.join(self.svn_dir, 'foo', 'hooks', 'post-commit')
        open(hook_fname, 'w').write(expected_hook)

        r = repository.Repository('foo', 'svn')
        r.enableCommitEmails(enable=True)
        hook = ''.join(open(hook_fname, 'r').readlines())
        self.assertTrue('# just a comment' in hook)
        self.assertTrue('mailer.py.conf' in hook)
        r.enableCommitEmails(enable=False)
        hook = ''.join(open(hook_fname, 'r').readlines())
        self.assertEquals(hook, expected_hook)
示例#7
0
 def testRemoveRepository(self):
     self._createRepos(['subdirs'])
     r = repository.Repository('subdirs', 'svn')
     r.remove()
     self.assertRaises(repository.DoesNotExistError, repository.Repository,
                       'subdirs', 'svn')
示例#8
0
 def testExistingRepository(self):
     self._createRepos(['foo'])
     r = repository.Repository('foo', 'svn')
     self.assertEquals(r.name, 'foo')