def test_deferred_default_user_email(self): from voteit.core.schemas.common import deferred_default_user_email as fut from voteit.core.views.api import APIView root = bootstrap_and_fixture(self.config) admin = root.users['admin'] admin.set_field_value('email', '*****@*****.**') self.config.testing_securitypolicy(userid='admin') kw = {'api': APIView(root, self.request)} self.assertEqual(fut(None, kw), '*****@*****.**') self.config.testing_securitypolicy(userid='404') kw = {'api': APIView(root, self.request)} self.assertEqual(fut(None, kw), '')
def test_deferred_default_user_fullname(self): from voteit.core.schemas.common import deferred_default_user_fullname as fut from voteit.core.views.api import APIView root = bootstrap_and_fixture(self.config) admin = root.users['admin'] admin.set_field_value('first_name', 'Jane') admin.set_field_value('last_name', 'Doe') self.config.testing_securitypolicy(userid='admin') kw = {'api': APIView(root, self.request)} self.assertEqual(fut(None, kw), 'Jane Doe') self.config.testing_securitypolicy(userid='404') kw = {'api': APIView(root, self.request)} self.assertEqual(fut(None, kw), '')
def test_render_poll_state_info(self): from voteit.core.models.poll import Poll from voteit.core.views.api import APIView from voteit.core.testing_helpers import register_workflows register_workflows(self.config) self.config.include('pyramid_chameleon') self.config.registry.settings[ 'default_timezone_name'] = "Europe/Stockholm" self.config.include('voteit.core.models.date_time_util') self.config.scan('voteit.core.views.components.main') #root = active_poll_fixture(self.config) #poll = root['meeting']['ai']['poll'] poll = Poll() from voteit.core.models.date_time_util import utcnow poll.set_field_value('start_time', utcnow()) poll.set_field_value('end_time', utcnow()) request = testing.DummyRequest() #obj = self._cut(poll, request) api = APIView(poll, request) res = render_view_action(poll, request, 'main', 'poll_state_info', api=api) #obj.get_poll_state_info(poll) self.assertIn('The poll starts', res)
def _mk_one(self, context=testing.DummyModel(), default_deferred=_dummy_default_deferred): from voteit.core.views.api import APIView request = testing.DummyRequest() api = APIView(context, request) return self._cut(context, api, default_deferred)
def test_func(self): from voteit.core.views.api import APIView root = _fixture(self.config) context = root['users']['admin'] request = testing.DummyRequest() api = APIView(context, request) res = self._fut(context, request, None, api=api) self.assertIn("The story of an administrator", res)
def test_get_vote_schema(self): #Enable workflows self.config.include('pyramid_zcml') self.config.load_zcml('voteit.core:configure.zcml') obj = self._make_obj() request = testing.DummyRequest() from voteit.core.views.api import APIView api = APIView(self.poll, request) self.assertTrue(obj.get_vote_schema(request, api), colander.Schema)
def test_func_context_outside_meeting(self): from voteit.core.views.api import APIView root = _fixture(self.config) self._extra_fixtures(root) context = root['users']['admin'] request = testing.DummyRequest() api = APIView(context, request) res = self._fut(context, request, None, api=api) #All things should be in view now self.assertIn("Prop p1", res) self.assertIn("Disc d2", res)
def test_func_context_meeting(self): from voteit.core.views.api import APIView root = _fixture(self.config) self._extra_fixtures(root) context = root['users']['admin'] request = testing.DummyRequest() #Means that api.meeting will be set, and limit results to meeting context api = APIView(root['m'], request) res = self._fut(context, request, None, api=api) #m2 things shouldn't be in meeting now self.assertIn("Prop p1", res) self.assertIn("Disc d1", res) self.assertNotIn("Prop p2", res) self.assertNotIn("Disc d2", res)
def test_integration(self): from voteit.core.models.user import User from voteit.core.views.api import APIView self.config.include('pyramid_chameleon') self.config.scan('voteit.core.views.components.user_info') context = User() request = testing.DummyRequest() api = APIView(context, request) self.assertIsInstance( render_view_action(context, request, 'user_info', 'basic_profile', api=api), unicode)
def test_integration(self): from voteit.core.models.user import User from voteit.core.views.api import APIView self.config.scan('voteit.core.views.components.user_info') root = _fixture(self.config) root['u'] = context = User() request = testing.DummyRequest() api = APIView(context, request) self.assertIsInstance( render_view_action(context, request, 'user_info', 'latest_meeting_entries', api=api), unicode)
def test_render_poll_result(self): #note: This shouldn't test the template since that's covered by each plugin request = testing.DummyRequest() poll = self._cut() _marker = object() from voteit.core.views.api import APIView api = APIView(poll, request) class _MockPollPlugin(PollPlugin): def render_result(self, request, api, complete=True): return _marker self.config.registry.registerAdapter(_MockPollPlugin, (IPoll,), IPollPlugin, 'mock_poll_plugin') poll.set_field_value('poll_plugin', 'mock_poll_plugin') self.assertEqual(poll.render_poll_result(request, api), _marker)
def test_render_result(self): self.config.include('pyramid_chameleon') self.config.scan('voteit.core.models.proposal') self.config.scan('voteit.core.views.components.main') self.config.scan('voteit.core.views.components.moderator_actions') self.config.scan('voteit.core.views.components.creators_info') self.config.scan('voteit.core.views.components.proposals') self.config.scan('voteit.core.views.components.user_tags') self.config.scan('voteit.core.views.components.metadata_listing') self.config.registry.settings[ 'default_timezone_name'] = "Europe/Stockholm" self.config.include('voteit.core.models.date_time_util') self._add_votes() self._close_poll() plugin = self.poll.get_poll_plugin() request = self.request ai = find_interface(self.poll, IAgendaItem) request.context = ai from voteit.core.views.api import APIView api = APIView(ai, request) self.assertTrue('p2uid' in plugin.render_result(request, api))
def _api(context=None, request=None): from voteit.core.views.api import APIView context = context and context or testing.DummyResource() request = request and request or testing.DummyRequest() return APIView(context, request)
def __init__(self, exception, request): self.exception = exception self.context = request.context self.request = request self.api = APIView(request.context, request)
def __init__(self, request): self.api = APIView(request.context, request) self.request = request
def __init__(self, context, request): self.context = context self.request = request self.response = {} self.response['api'] = self.api = APIView(context, request) self.api.include_needed(context, request, self)