Beispiel #1
0
    def test_set_session_var(self):
        """
        Ensure set_session_var function is working properly.
        """
        from garage.session import set_session_var

        self._msg("test", "set_session_var", first=True)
        key = "abc"
        val = "123"
        request = MagicMock()
        my_dict = {}

        def getitem(name):
            return my_dict[name]

        def setitem(name, val):
            my_dict[name] = val

        request.session = MagicMock(spec_set=dict)
        request.session.__getitem__.side_effect = getitem
        request.session.__setitem__.side_effect = setitem
        set_session_var(request, key, val)
        result = my_dict[key]
        self._msg("key", key)
        self._msg("val", val)
        self._msg("result", result)
        self.assertEqual(result, val)
Beispiel #2
0
    def test_set_session_var_error(self):
        """
        set_session_var should bypass setting request.session raises
        exception.
        """
        from garage.session import set_session_var

        self._msg("test", "set_session_var error", first=True)

        request = MagicMock()
        my_dict = {}

        def getitem(name):
            return my_dict[name]

        def setitem(name, val):
            my_dict[name] = "AttributeError"
            raise AttributeError

        request.session = MagicMock(spec_set=dict)
        request.session.__getitem__.side_effect = getitem
        request.session.__setitem__.side_effect = setitem
        set_session_var(request, "key", "val")
        result = my_dict.get("key")
        self.assertEqual(result, "AttributeError")
        self._msg("result", result)

        request = MagicMock()
        my_dict = {}

        def getitem(name):
            return my_dict[name]

        def setitem(name, val):
            my_dict[name] = "TypeError"
            raise TypeError

        request.session = MagicMock(spec_set=dict)
        request.session.__getitem__.side_effect = getitem
        request.session.__setitem__.side_effect = setitem
        set_session_var(request, "key", "val")
        result = my_dict.get("key")
        self.assertEqual(result, "TypeError")
        self._msg("result", result)