[Repoze-dev] Repoze CVS: test_publisher.py

Tres Seaver tseaver at agendaless.com
Tue Sep 11 01:19:53 UTC 2007


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

Added Files:
	test_publisher.py 
Log Message:
 - Hammer in a sketch at the obob publisher implementation.

--- NEW FILE: test_publisher.py ---
import unittest

class ObobPublisherTests(unittest.TestCase):

    def _getTargetClass(self):
        from repoze.obob.publisher import ObobPublisher
        return ObobPublisher

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

    def test_ctor_no_root_raises(self):
        self.assertRaises(ValueError, self._makeOne)

    def test_ctor_root_not_callable_raises(self):
        self.assertRaises(ValueError, self._makeOne, object())

    def test_ctor_root_only(self):

        def _root(request): pass
            
        obob = self._makeOne(_root)

        self.failUnless(obob.root is _root)
        self.failUnless(obob.before_traverse is None)
        self.failUnless(obob.before_invoke is None)

        klass = self._getTargetClass()
        self.failUnless(obob.traverse.im_func is klass.traverse.im_func)

    def test_ctor_root_and_others(self):

        def _root(request): pass
        def _bt(current, name, request): pass
        def _t(current, name): pass
        def _bi(published, request): pass

        obob = self._makeOne(root=_root,
                             before_traverse=_bt,
                             traverse =_t,
                             before_invoke=_bi,
                            )

        self.failUnless(obob.root is _root)
        self.failUnless(obob.before_traverse is _bt)
        self.failUnless(obob.traverse is _t)
        self.failUnless(obob.before_invoke is _bi)

    def test_ctor_before_traverse_not_callable_raises(self):
        self.assertRaises(ValueError, self._makeOne, lambda *r: object(),
                                      before_traverse=object())

    def test_ctor_traverse_not_callable_raises(self):
        self.assertRaises(ValueError, self._makeOne, lambda *r: object(),
                                      traverse=object())

    def test_ctor_before_traverse_not_callable_raises(self):
        self.assertRaises(ValueError, self._makeOne, lambda *r: object(),
                                      before_invoke=object())

    def test_traverse_default(self):
        obob = self._makeOne(lambda *request: object())
        d = {'key': 'value'}
        self.assertEqual(obob.traverse(d, 'key'), 'value')

    # def test_makeRequestResponse_...
    # def test_publish_...

_______________________________________________
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