Exemplo n.º 1
0
 def _fixture(self):
     root = bootstrap_voteit(echo=False)
     from voteit.core.models.user import User
     #Note that creators also fixes ownership
     for userid in ('fredrik', 'anders', 'hanna', 'robin'):
         root.users[userid] = User(creators = [userid])
     return root
Exemplo n.º 2
0
 def _fixture(self):
     root = bootstrap_voteit(echo=False)
     from voteit.core.models.user import User
     #Note that creators also fixes ownership
     for userid in ('fredrik', 'anders', 'hanna', 'robin'):
         root.users[userid] = User(creators=[userid])
     return root
Exemplo n.º 3
0
def bootstrap_and_fixture(config):
    config.include('pyramid_zcml')
    config.load_zcml('voteit.core:configure.zcml')
    config.scan('voteit.core.models.site')
    config.scan('voteit.core.models.agenda_templates')
    config.scan('voteit.core.models.user')
    config.scan('voteit.core.models.users')
    config.include('voteit.core.models.fanstatic_resources')
    config.scan('betahaus.pyracont.fields.password')
    return bootstrap_voteit(echo=False)
Exemplo n.º 4
0
    def _fixture(self):
        self.config.scan('betahaus.pyracont.fields.password')
        root = bootstrap_voteit(echo=False)
        from voteit.core.models.user import User

        #Note that creators also fixes ownership
        for userid in ('fredrik', 'anders', 'hanna', 'robin'):
            root.users[userid] = User(creators=[userid])

        return root
Exemplo n.º 5
0
def bootstrap_and_fixture(config):
    config.include('pyramid_zcml')
    config.include('arche.testing')
    config.include('voteit.core.security')
    config.load_zcml('voteit.core:configure.zcml')
    config.include('voteit.core.models.site')
    config.include('voteit.core.models.agenda_templates')
    config.include('voteit.core.models.user')
    config.include('voteit.core.models.users')
    return bootstrap_voteit(echo=False)
Exemplo n.º 6
0
def bootstrap_and_fixture(config):
    config.include('pyramid_zcml')
    config.include('pyramid_chameleon')
    config.load_zcml('voteit.core:configure.zcml')
    config.scan('voteit.core.models.site')
    config.scan('voteit.core.models.agenda_templates')
    config.scan('voteit.core.models.user')
    config.scan('voteit.core.models.users')
    config.include('voteit.core.models.fanstatic_resources')
    config.scan('betahaus.pyracont.fields.password')
    return bootstrap_voteit(echo=False)
Exemplo n.º 7
0
 def _fixture(self, num=10):
     root = bootstrap_voteit(echo=False)
     from voteit.core.models.meeting import Meeting
     from voteit.core.models.agenda_item import AgendaItem
     from voteit.core.models.discussion_post import DiscussionPost
     from voteit.core import security
     root['m'] = m = Meeting()
     m.local_roles.add('admin', [security.MODERATE_MEETING, security.VIEW])
     m['ai'] = ai = AgendaItem()
     for i in range(num):
         ai['d%s' % i] = DiscussionPost()
     return root
Exemplo n.º 8
0
 def _fixture(self, num = 10):
     root = bootstrap_voteit(echo = False)
     from voteit.core.models.meeting import Meeting
     from voteit.core.models.agenda_item import AgendaItem
     from voteit.core.models.discussion_post import DiscussionPost
     from voteit.core import security
     root['m'] = m = Meeting()
     m.local_roles.add('admin', [security.MODERATE_MEETING, security.VIEW])
     m['ai'] = ai = AgendaItem()
     for i in range(num):
         ai['d%s' % i] = DiscussionPost()
     return root
Exemplo n.º 9
0
 def _fixture(self):
     root = bootstrap_voteit(echo = False)
     from voteit.core.models.meeting import Meeting
     from voteit.core.models.poll import Poll
     root['m'] = m = Meeting()
     m['p1'] = Poll(title = 'Hello from one')
     m['p2'] = Poll(title = 'Hello from two')
     m['p3'] = Poll(title = 'Hello from three')
     request = testing.DummyRequest()
     request.root = root
     request.meeting = m
     request.is_moderator = False
     attach_request_method(request, resolve_docids, 'resolve_docids')
     return m, request
Exemplo n.º 10
0
 def _fixture(self):
     root = bootstrap_voteit(echo=False)
     from voteit.core.models.meeting import Meeting
     from voteit.core.models.poll import Poll
     root['m'] = m = Meeting()
     m['p1'] = Poll(title='Hello from one')
     m['p2'] = Poll(title='Hello from two')
     m['p3'] = Poll(title='Hello from three')
     request = testing.DummyRequest()
     request.root = root
     request.meeting = m
     request.is_moderator = False
     attach_request_method(request, resolve_docids, 'resolve_docids')
     return m, request
Exemplo n.º 11
0
 def setUp(self):
     self.config = testing.setUp(request=testing.DummyRequest())
     self.config.include('arche.testing')
     self.config.include('arche.models.catalog')
     self.config.include('voteit.core.models.meeting')
     self.config.include('voteit.core.models.site')
     self.config.include('voteit.core.models.agenda_templates')
     self.config.include('voteit.core.models.user')
     self.config.include('voteit.core.models.users')
     self.config.include('voteit.core.models.catalog')
     self.root = bootstrap_voteit(echo=False)
     self.query = self.root.catalog.query
     self.search = self.root.catalog.search
     self.get_metadata = self.root.document_map.get_metadata
     self.config.include('voteit.core.testing_helpers.register_workflows')
Exemplo n.º 12
0
    def setUp(self):
        self.config = testing.setUp()
        self.config.scan('voteit.core.models.meeting')
        self.config.scan('voteit.core.models.site')
        self.config.scan('voteit.core.models.agenda_template')
        self.config.scan('voteit.core.models.agenda_templates')
        self.config.scan('voteit.core.models.user')
        self.config.scan('voteit.core.models.users')
        self.config.scan('voteit.core.subscribers.catalog')
        self.config.include('voteit.core.models.user_tags')
        self.config.include('voteit.core.models.catalog')
        self.config.scan('betahaus.pyracont.fields.password')

        self.root = bootstrap_voteit(echo=False)
        self.query = self.root.catalog.query
        self.search = self.root.catalog.search
        self.get_metadata = self.root.catalog.document_map.get_metadata
        self.config.include('pyramid_zcml')
        self.config.load_zcml('voteit.core:configure.zcml')
Exemplo n.º 13
0
    def setUp(self):
        self.config = testing.setUp()
        self.config.scan('voteit.core.models.meeting')
        self.config.scan('voteit.core.models.site')
        self.config.scan('voteit.core.models.agenda_template')
        self.config.scan('voteit.core.models.agenda_templates')
        self.config.scan('voteit.core.models.user')
        self.config.scan('voteit.core.models.users')
        self.config.scan('voteit.core.subscribers.catalog')
        self.config.include('voteit.core.models.user_tags')
        self.config.include('voteit.core.models.catalog')
        self.config.scan('betahaus.pyracont.fields.password')

        self.root = bootstrap_voteit(echo=False)
        self.query = self.root.catalog.query
        self.search = self.root.catalog.search
        self.get_metadata = self.root.catalog.document_map.get_metadata
        self.config.include('pyramid_zcml')
        self.config.load_zcml('voteit.core:configure.zcml')
Exemplo n.º 14
0
def appmaker(zodb_root):
    """ This determines the root object for each request. If no site root exists,
        this function will run bootstrap_voteit and create one.
        Read more about traversal in the Pyramid docs.
        
        The funny looking try / except here is to bootstrap the site in case it hasn't been bootstrapped.
        This is faster than using an if statement.
    """
    try:
        return zodb_root['app_root']
    except KeyError:
        from voteit.core.bootstrap import bootstrap_voteit
        zodb_root['app_root'] = bootstrap_voteit() #Returns a site root
        import transaction
        transaction.commit()
        #Set intitial version of database
        from repoze.evolution import ZODBEvolutionManager
        from voteit.core.evolve import VERSION
        manager = ZODBEvolutionManager(zodb_root['app_root'], evolve_packagename='voteit.core.evolve', sw_version=VERSION)
        manager.set_db_version(VERSION)
        manager.transaction.commit()
        return zodb_root['app_root']
Exemplo n.º 15
0
    def test_mentioned_email(self):
        request = testing.DummyRequest()
        self.config = testing.setUp(request=request)
        self.config.include('pyramid_mailer.testing')
        self.config.scan('voteit.core.models.site')
        self.config.scan('voteit.core.models.agenda_template')
        self.config.scan('voteit.core.models.agenda_templates')
        self.config.scan('voteit.core.models.user')
        self.config.scan('voteit.core.models.users')
        self.config.scan('voteit.core.subscribers.mention')
        self.config.include('voteit.core.models.user_tags')
        self.config.include('voteit.core.models.catalog')
        self.config.scan('betahaus.pyracont.fields.password')

        from voteit.core.bootstrap import bootstrap_voteit
        root = bootstrap_voteit(echo=False)
        root.users['admin'].set_field_value('email', '*****@*****.**')

        from voteit.core.models.meeting import Meeting
        meeting = Meeting()
        root['meeting'] = meeting

        from voteit.core.models.agenda_item import AgendaItem
        agenda_item = AgendaItem()
        meeting['agenda_item'] = agenda_item

        from voteit.core.models.discussion_post import DiscussionPost
        discussion_post = DiscussionPost()
        discussion_post.set_field_value('text', '@admin')
        agenda_item['discussion_post'] = discussion_post

        mailer = get_mailer(request)
        self.assertEqual(len(mailer.outbox), 1)

        msg = mailer.outbox[0]
        self.failUnless(resource_url(discussion_post, request) in msg.html)
Exemplo n.º 16
0
def appmaker(zodb_root):
    """ This determines the root object for each request. If no site root exists,
        this function will run bootstrap_voteit and create one.
        Read more about traversal in the Pyramid docs.
        
        The funny looking try / except here is to bootstrap the site in case it hasn't been bootstrapped.
        This is faster than using an if statement.
    """
    try:
        return zodb_root['app_root']
    except KeyError:
        from voteit.core.bootstrap import bootstrap_voteit
        zodb_root['app_root'] = bootstrap_voteit()  #Returns a site root
        import transaction
        transaction.commit()
        #Set intitial version of database
        from repoze.evolution import ZODBEvolutionManager
        from voteit.core.evolve import VERSION
        manager = ZODBEvolutionManager(zodb_root['app_root'],
                                       evolve_packagename='voteit.core.evolve',
                                       sw_version=VERSION)
        manager.set_db_version(VERSION)
        manager.transaction.commit()
        return zodb_root['app_root']
Exemplo n.º 17
0
    def test_mentioned_email(self):
        request = testing.DummyRequest()
        self.config = testing.setUp(request=request)
        self.config.include('pyramid_mailer.testing')
        self.config.scan('voteit.core.models.site')
        self.config.scan('voteit.core.models.agenda_template')
        self.config.scan('voteit.core.models.agenda_templates')
        self.config.scan('voteit.core.models.user')
        self.config.scan('voteit.core.models.users')
        self.config.scan('voteit.core.subscribers.mention')
        self.config.include('voteit.core.models.user_tags')
        self.config.include('voteit.core.models.catalog')
        self.config.scan('betahaus.pyracont.fields.password')

        from voteit.core.bootstrap import bootstrap_voteit
        root = bootstrap_voteit(echo=False)
        root.users['admin'].set_field_value('email', '*****@*****.**')

        from voteit.core.models.meeting import Meeting
        meeting = Meeting()
        root['meeting'] = meeting
        
        from voteit.core.models.agenda_item import AgendaItem
        agenda_item = AgendaItem()
        meeting['agenda_item'] = agenda_item

        from voteit.core.models.discussion_post import DiscussionPost
        discussion_post = DiscussionPost()
        discussion_post.set_field_value('text', '@admin')
        agenda_item['discussion_post'] = discussion_post

        mailer = get_mailer(request)
        self.assertEqual(len(mailer.outbox), 1)
        
        msg = mailer.outbox[0]
        self.failUnless(resource_url(discussion_post, request) in msg.html)