summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2011-04-17 00:30:04 -0400
committerChris McDonough <chrism@plope.com>2011-04-17 00:30:04 -0400
commit9ba4c93dbeb5b92ef33a41475d349cd7707a5a30 (patch)
tree5a17b8a4fc41e149374af4e53db1268fc0921e81
parentd0b417e349922adfefebff0dc6609e114d48e3e0 (diff)
downloadpyramid-9ba4c93dbeb5b92ef33a41475d349cd7707a5a30.tar.gz
pyramid-9ba4c93dbeb5b92ef33a41475d349cd7707a5a30.tar.bz2
pyramid-9ba4c93dbeb5b92ef33a41475d349cd7707a5a30.zip
add tests for PyramidTemplate
-rw-r--r--pyramid/paster.py11
-rw-r--r--pyramid/tests/test_paster.py34
2 files changed, 41 insertions, 4 deletions
diff --git a/pyramid/paster.py b/pyramid/paster.py
index bc1573fb8..def9a6f3e 100644
--- a/pyramid/paster.py
+++ b/pyramid/paster.py
@@ -10,7 +10,7 @@ from paste.util.template import paste_script_template_renderer
from pyramid.scripting import get_root
class PyramidTemplate(Template):
- def pre(self, command, output_dir, vars): # pragma: no cover
+ def pre(self, command, output_dir, vars):
vars['random_string'] = os.urandom(20).encode('hex')
package_logger = vars['package']
if package_logger == 'root':
@@ -19,9 +19,12 @@ class PyramidTemplate(Template):
vars['package_logger'] = package_logger
return Template.pre(self, command, output_dir, vars)
- def post(self, *arg, **kw): # pragma: no cover
- print 'Welcome to Pyramid. Sorry for the convenience.'
- return Template.post(self, *arg, **kw)
+ def post(self, command, output_dir, vars):
+ self.out('Welcome to Pyramid. Sorry for the convenience.')
+ return Template.post(self, command, output_dir, vars)
+
+ def out(self, msg): # pragma: no cover (replaceable testing hook)
+ print msg
class StarterProjectTemplate(PyramidTemplate):
_template_dir = 'paster_templates/starter'
diff --git a/pyramid/tests/test_paster.py b/pyramid/tests/test_paster.py
index 35349b7c7..e000e29d4 100644
--- a/pyramid/tests/test_paster.py
+++ b/pyramid/tests/test_paster.py
@@ -1,5 +1,39 @@
import unittest
+class TestPyramidTemplate(unittest.TestCase):
+ def _getTargetClass(self):
+ from pyramid.paster import PyramidTemplate
+ return PyramidTemplate
+
+ def _makeOne(self, name):
+ cls = self._getTargetClass()
+ return cls(name)
+
+ def test_pre_logger_eq_root(self):
+ tmpl = self._makeOne('name')
+ vars = {'package':'root'}
+ result = tmpl.pre(None, None, vars)
+ self.assertEqual(result, None)
+ self.assertEqual(vars['package_logger'], 'app')
+ self.failUnless(len(vars['random_string']) == 40)
+
+ def test_pre_logger_noteq_root(self):
+ tmpl = self._makeOne('name')
+ vars = {'package':'notroot'}
+ result = tmpl.pre(None, None, vars)
+ self.assertEqual(result, None)
+ self.assertEqual(vars['package_logger'], 'notroot')
+ self.failUnless(len(vars['random_string']) == 40)
+
+ def test_post(self):
+ tmpl = self._makeOne('name')
+ vars = {'package':'root'}
+ L = []
+ tmpl.out = lambda msg: L.append(msg)
+ result = tmpl.post(None, None, vars)
+ self.assertEqual(result, None)
+ self.assertEqual(L, ['Welcome to Pyramid. Sorry for the convenience.'])
+
class TestPShellCommand(unittest.TestCase):
def _getTargetClass(self):
from pyramid.paster import PShellCommand