# -*- coding: utf-8; -*- from unittest.mock import patch, MagicMock import pytest from tests.util import WebTestCase from wuttaweb.db import continuum as mod class TestWuttaWebContinuumPlugin(WebTestCase): def setUp(self): if not hasattr(mod, 'WuttaWebContinuumPlugin'): pytest.skip("test not relevant without sqlalchemy-continuum") self.setup_web() def make_plugin(self): return mod.WuttaWebContinuumPlugin() def test_get_remote_addr(self): plugin = self.make_plugin() with patch.object(mod, 'get_current_request', return_value=None): self.assertIsNone(plugin.get_remote_addr(None, self.session)) self.request.client_addr = '127.0.0.1' self.assertEqual(plugin.get_remote_addr(None, self.session), '127.0.0.1') def test_get_user_id(self): plugin = self.make_plugin() with patch.object(mod, 'get_current_request', return_value=None): self.assertIsNone(plugin.get_user_id(None, self.session)) self.request.user = MagicMock(uuid='some-random-uuid') self.assertEqual(plugin.get_user_id(None, self.session), 'some-random-uuid')