[Repoze-dev] Repoze CVS: test_templates.py

Chris McDonough chrism at agendaless.com
Wed Sep 12 19:10:19 UTC 2007


Update of /home/repoze/cvs/repoze.obob/repoze/obob/tests
In directory laguna.palladion.com:/tmp/cvs-serv16601/repoze/obob/tests

Added Files:
	test_templates.py 
Log Message:
Write tests for the template generator.


--- NEW FILE: test_templates.py ---
import os
import shutil
import tempfile
import unittest

class NewBobTemplateTests(unittest.TestCase):
    def _getTargetClass(self):
        from repoze.obob.templates import NewBobTemplate
        return NewBobTemplate

    def _makeOne(self, *arg, **kw):
        return self._getTargetClass()(*arg, **kw)

    def test_run(self):
        newbob = self._makeOne('newbob')
        dn = tempfile.mkdtemp()
        vars = {}
        for name in ('project', 'package', 'version', 'description',
                     'long_description', 'author', 'author_email', 'keywords',
                     'url', 'license_name'):
            vars[name] = name
        try:
            command = DummyCommand()
            newbob.run(command, dn, vars)
            j = os.path.join
            self.failUnless(os.path.isdir(j(dn, 'package')))
            self.failUnless(os.path.exists(j(dn, 'setup.py')))
            self.failUnless(os.path.exists(j(dn, 'package', '__init__.py')))
            self.failUnless(os.path.exists(j(dn, 'package', 'tests.py')))
        finally:
            shutil.rmtree(dn)

class DummyOptions:
    pass

class DummyCommand:
    verbose = False
    options = DummyOptions()
    options.simulate = False
    options.overwrite = False
    interactive = False


_______________________________________________
Repoze-dev mailing list
Repoze-dev at lists.repoze.org
http://lists.repoze.org/mailman/listinfo/repoze-dev



More information about the Repoze-dev mailing list