summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests/test_scripting.py
blob: a54b4b7d9c15436eb9ce047c1fd5a56c4715047f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import unittest

class TestGetRoot(unittest.TestCase):
    def _callFUT(self, router):
        from repoze.bfg.scripting import get_root
        return get_root(router)

    def test_it(self):
        router = DummyRouter()
        result = self._callFUT(router)
        self.assertEqual(result, router)
        self.assertEqual(len(router.threadlocal_manager.pushed), 1)
        self.assertEqual(router.threadlocal_manager.pushed[0],
                         {'registry':None, 'request':None})
        

class DummyThreadLocalManager:
    def __init__(self):
        self.pushed = []

    def push(self, val):
        self.pushed.append(val)

class DummyRouter:
    def __init__(self):
        self.registry = None
        self.threadlocal_manager = DummyThreadLocalManager()

    def root_factory(self, environ):
        return self