${component.lower()}.establish_settings(config)
new_settings = config.get_settings()
- assert new_settings['pgwui']['${component.lower()}']['menu_label'] \
- == ${component.lower()}.DEFAULT_UPLOAD_MENU_LABEL
+ assert (new_settings['pgwui']['${component.lower()}']['menu_label']
+ == ${component.lower()}.DEFAULT_UPLOAD_MENU_LABEL)
@pytest.mark.unittest
sample_settings['pgwui'] = dict()
sample_settings['pgwui']['${component.lower()}'] = dict()
- sample_settings['pgwui']['${component.lower()}']['menu_label'] \
- = test_menu_label
+ sample_settings[
+ 'pgwui']['${component.lower()}']['menu_label'] = test_menu_label
${component.lower()}.establish_settings(config)
new_settings = config.get_settings()
- assert new_settings['pgwui']['${component.lower()}']['menu_label'] \
- == test_menu_label
+ assert (new_settings['pgwui']['${component.lower()}']['menu_label']
+ == test_menu_label)
mock_establish_settings = testing.make_mock_fixture(
# includeme()
-mock_testConfig = testing.make_mock_fixture(pyramid.testing.testConfig)
+mock_add_route = testing.late_instance_mock_fixture(
+ pyramid.testing.testConfig, 'add_route')
+mock_scan = testing.late_instance_mock_fixture(
+ pyramid.testing.testConfig, 'scan')
+
@pytest.mark.unittest
-def test_includeme(mock__settings, mock_testConfig):
+def test_includeme(mock_establish_settings, mock_add_route, mock_scan):
'''establish_settings, add_route, and scan are all called
'''
- with mock_testConfig() as config:
+ with pyramid.testing.testConfig() as config:
+ mocked_add_route = mock_add_route(config)
+ mocked_scan = mock_scan(config)
+
${component.lower()}.includeme(config)
- config.establish_settings.assert_called_once()
- config.add_route.assert_called_once()
- config.scan.assert_called_once()
+ mock_establish_settings.assert_called_once()
+ mocked_add_route.assert_called_once()
+ mocked_scan.assert_called_once()
-# Copyright (C) 2018, 2019, 2020, 2021 The Meme Factory, Inc.
+# Copyright (C) 2018, 2019, 2020, 2021, 2024 The Meme Factory, Inc.
# http://www.karlpinc.com/
# This file is part of ${component}.
# Karl O. Pinc <kop@karlpinc.com>
+import logging
import pytest
from pyramid.testing import DummyRequest
from pyramid.threadlocal import get_current_request, get_current_registry
from pgwui_common.__init__ import includeme as pgwui_common_includeme
from pgwui_core import constants
-from pgwui_upload.__init__ import includeme as pgwui_upload_includeme
+from ${component.lower()}.__init__ import includeme ${'\\'}
+ as ${component.lower()}_includeme
from ${component.lower()}.views import ${short_name}
+# Useless code that utilizes (sometimes) useful imports
+DummyRequest()
+get_current_registry()
+
+
# Activiate our pytest plugin
pytest_plugins = ("pgwui",)
UNCHANGED_RESPONSE = {'db_changed': False}
+# Helper classes
+
+class MockUploadEngine():
+ def __init__(self, run_result):
+ self.run_result = run_result
+
+ def run(self):
+ return self.run_result
+
+
+# Fixtures
+
+@pytest.fixture
+def isolate_upload_view(monkeypatch, pyramid_request_config):
+ '''Keep upload_view() from calling anything
+
+ Also, have isolate_upload_view(response)
+ cause UploadEngine to return the supplied "response".
+ '''
+ def run(response):
+ def upload_engine(*args):
+ return MockUploadEngine(response)
+
+ monkeypatch.setattr(${short_name}, 'UploadEngine', upload_engine)
+
+ settings = pyramid_request_config.get_settings()
+ settings['pgwui'] = settings.get('pgwui', dict())
+ # settings['pgwui'].update({'home_page': HOME_PAGE_SETTINGS})
+ pgwui_common_includeme(pyramid_request_config)
+ ${component.lower()}_includeme(pyramid_request_config)
+ # settings['pgwui'].update({'urls': DEFAULT_URLS})
+ pyramid_request_config.add_settings(settings)
+
+ return run
+
+
# Tests
# ${short_name}_view()
assert result == response
assert ([tup[:2] for tup in log_tuples]
- == [('pgwui_upload.views.upload', logging.INFO)])
+ == [('${component.lower()}.views.${short_name}', logging.INFO)])
def test_upload_view_db_changed_no_csv(return_log_tuples):
assert result == response
assert ([tup[:2] for tup in log_tuples]
- == [('pgwui_upload.views.upload', logging.INFO)])
+ == [('${component.lower()}.views.${short_name}', logging.INFO)])