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)
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)