From b6cef5185dcb4e9ff6c26c378f65590daaa8d828 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Mon, 13 Apr 2009 20:09:37 +0000 Subject: - ``repoze.bfg.testing.DummyRequest`` will now contain ``params``, ``GET``, and ``POST`` attributes that are instances of the class ``FauxMultiDict``. A FauxMultiDict differs from a "plain" dictionary inasmuch as it has a ``getall`` method. ``getall`` is an interface exposed by the MultiDict implementation used by WebOb for ``params``, ``GET``, and ``POST``. --- repoze/bfg/tests/test_testing.py | 44 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'repoze/bfg/tests/test_testing.py') diff --git a/repoze/bfg/tests/test_testing.py b/repoze/bfg/tests/test_testing.py index 1154fc27b..bd0dba5fd 100644 --- a/repoze/bfg/tests/test_testing.py +++ b/repoze/bfg/tests/test_testing.py @@ -423,6 +423,50 @@ class TestDummyRequest(unittest.TestCase): request = self._makeOne(water = 1) self.assertEqual(request.water, 1) + def test_paramcompare(self): + request = self._makeOne(params={'foo': 'bar'}) + self.assertEqual(request.params, {'foo':'bar'}) + self.assertEqual(request.GET, {'foo':'bar'}) + +class TestFauxMultiDict(unittest.TestCase): + def _getTargetClass(self): + from repoze.bfg.testing import FauxMultiDict + return FauxMultiDict + + def _makeOne(self, dict=None): + klass = self._getTargetClass() + if dict is not None: + return klass(dict) + return klass() + + def test_getall_nodefault(self): + inst = self._makeOne() + inst['a'] = 'b' + self.assertEqual(inst.getall('a'), ['b']) + + def test_getall_withdefault(self): + inst = self._makeOne({'a':'b'}) + self.assertEqual(inst.getall('a'), ['b']) + + def test_getall_notexist(self): + inst = self._makeOne({'a':'b'}) + self.assertEqual(inst.getall('nope'), []) + + def test_repr(self): + inst = self._makeOne({'a':'b'}) + r = repr(inst) + self.assertEqual(r, "{'a': 'b'}") + + def test_eq(self): + inst = self._makeOne({'a':'b'}) + self.assertEqual(inst, {'a':'b'}) + + def test_convert_to_dict(self): + inst = self._makeOne({'a':'b'}) + d = dict(inst) + self.assertEqual(d, {'a':'b'}) + + class TestDummyTemplateRenderer(unittest.TestCase): def _getTargetClass(self, ): from repoze.bfg.testing import DummyTemplateRenderer -- cgit v1.2.3