示例#1
0
def create_election_day(request, canton='', municipality='', use_maps='false'):

    tmp = request.getfixturevalue('temporary_directory')

    app = create_app(ElectionDayApp, request, use_smtp=True)
    app.configuration['sms_directory'] = os.path.join(tmp, 'sms')
    app.configuration['d3_renderer'] = 'http://localhost:1337'
    app.session_manager.set_locale('de_CH', 'de_CH')

    app.filestorage.settext('principal.yml', textwrap.dedent("""
        name: Kanton Govikon
        logo: logo.jpg
        {}
        use_maps: {}
        color: '#000'
        wabsti_import: true
    """.format(
        (
            'canton: {}'.format(canton) if canton else
            'municipality: {}'.format(municipality)
        ),
        use_maps
    )))

    app.session().add(User(
        username='******',
        password_hash=request.getfixturevalue('election_day_password'),
        role='admin'
    ))

    transaction.commit()

    return app
示例#2
0
def create_winterthur_app(request, use_elasticsearch):

    app = create_app(app_class=WinterthurApp,
                     request=request,
                     use_elasticsearch=use_elasticsearch)

    session = app.session()

    org = create_new_organisation(app, name="Winterthur")
    org.meta['reply_to'] = '*****@*****.**'
    org.meta['locales'] = 'de_CH'

    # usually we don't want to create the users directly, anywhere else you
    # *need* to go through the UserCollection. Here however, we can improve
    # the test speed by not hashing the password for every test.
    test_password = request.getfixturevalue('test_password')

    session.add(
        User(username='******',
             password_hash=test_password,
             role='admin'))
    session.add(
        User(username='******',
             password_hash=test_password,
             role='editor'))

    transaction.commit()
    session.close_all()

    return app
示例#3
0
def create_swissvotes_app(request, temporary_path):
    app = create_app(
        SwissvotesApp,
        request,
        use_smtp=True,
        depot_backend='depot.io.local.LocalFileStorage',
        depot_storage_path=str(temporary_path),
    )
    app.session_manager.set_locale('de_CH', 'de_CH')

    session = app.session()
    session.add(
        User(username='******',
             password_hash=request.getfixturevalue('swissvotes_password'),
             role='admin'))
    session.add(
        User(realname='Publisher',
             username='******',
             password_hash=request.getfixturevalue('swissvotes_password'),
             role='editor'))
    session.add(
        User(realname='Editor',
             username='******',
             password_hash=request.getfixturevalue('swissvotes_password'),
             role='member'))

    commit()
    return app
def test_initial_content(request):
    app = create_app(AgencyApp, request, use_smtp=False)
    org = create_new_organisation(app, "Test", 'de_CH')

    assert org.locales == 'de_CH'
    assert org.name == "Test"
    assert ''.join([
        line.strip() for line in org.homepage_structure.splitlines()
    ]) == ''.join([line.strip() for line in homepage_structure.splitlines()])
示例#5
0
def create_gazette(request, temporary_path):
    app = create_app(
        GazetteApp,
        request,
        use_smtp=True,
        depot_backend='depot.io.local.LocalFileStorage',
        depot_storage_path=str(temporary_path),
    )
    app.session_manager.set_locale('de_CH', 'de_CH')
    app.filestorage.settext('principal.yml', dedent(PRINCIPAL))
    app.filestorage.settext('govikon-pdf.svg', LOGO)

    group_id = uuid4()
    session = app.session()
    session.add(UserGroup(name='TestGroup', id=group_id))

    session.add(
        User(username='******',
             password_hash=request.getfixturevalue('gazette_password'),
             role='admin',
             phone_number='+41415112250'))
    session.add(
        User(realname='Publisher',
             username='******',
             password_hash=request.getfixturevalue('gazette_password'),
             role='editor',
             phone_number='+41415112260'))
    session.add(
        User(realname='First Editor',
             username='******',
             password_hash=request.getfixturevalue('gazette_password'),
             role='member',
             group_id=group_id,
             phone_number='+41415112271'))
    session.add(
        User(realname='Second Editor',
             username='******',
             password_hash=request.getfixturevalue('gazette_password'),
             role='member',
             group_id=group_id,
             phone_number='+41415112272'))
    session.add(
        User(realname='Third Editor',
             username='******',
             password_hash=request.getfixturevalue('gazette_password'),
             role='member',
             phone_number='+41415112273'))

    create_organizations(session)
    create_categories(session)
    create_issues(session)
    commit()
    return app
示例#6
0
def create_wtfs_app(request, temporary_path):
    app = create_app(
        WtfsApp,
        request,
        use_smtp=True,
        depot_backend='depot.io.local.LocalFileStorage',
        depot_storage_path=str(temporary_path),
    )
    app.session_manager.set_locale('de_CH', 'de_CH')

    session = app.session()
    group_id = uuid4()
    session.add(PaymentType(name='normal', _price_per_quantity=700))
    session.add(PaymentType(name='spezial', _price_per_quantity=850))
    session.add(Municipality(
        id=group_id,
        name='My Municipality',
        bfs_number=1,
        payment_type='normal'
    ))
    session.add(User(
        realname='Admin',
        username='******',
        password_hash=request.getfixturevalue('wtfs_password'),
        role='admin'
    ))
    session.add(User(
        realname='Editor',
        username='******',
        password_hash=request.getfixturevalue('wtfs_password'),
        role='editor',
        group_id=group_id,
        data={'contact': True}
    ))
    session.add(User(
        realname='Member',
        username='******',
        password_hash=request.getfixturevalue('wtfs_password'),
        role='member',
        group_id=group_id
    ))
    session.add(User(
        realname='Optimo',
        username='******',
        password_hash=request.getfixturevalue('wtfs_password'),
        role='member'
    ))

    commit()
    return app
示例#7
0
def create_feriennet_app(request, use_elasticsearch):
    app = create_app(app_class=FeriennetApp,
                     request=request,
                     use_elasticsearch=use_elasticsearch)
    app.configure_payment_providers(
        **{
            'payment_providers_enabled': True,
            'payment_provider_defaults': {
                'stripe_connect': {
                    'client_id': 'foo',
                    'client_secret': 'foo',
                    'oauth_gateway': 'https://oauth.example.org',
                    'oauth_gateway_auth': 'foo',
                    'oauth_gateway_secret': 'bar'
                }
            }
        })

    session = app.session()

    org = create_new_organisation(app, name="Govikon", create_files=False)
    org.meta['reply_to'] = '*****@*****.**'
    org.meta['locales'] = 'de_CH'

    # usually we don't want to create the users directly, anywhere else you
    # *need* to go through the UserCollection. Here however, we can improve
    # the test speed by not hashing the password for every test.
    test_password = request.getfixturevalue('test_password')

    session.add(
        User(username='******',
             password_hash=test_password,
             role='admin'))
    session.add(
        User(username='******',
             password_hash=test_password,
             role='editor'))

    transaction.commit()
    session.close_all()

    return app
示例#8
0
def agency_app(request):
    app = create_app(AgencyApp, request, use_smtp=True)
    org = create_new_organisation(app, name="Govikon")
    org.meta['reply_to'] = '*****@*****.**'
    org.meta['locales'] = 'de_CH'

    session = app.session()
    test_password = request.getfixturevalue('test_password')
    session.add(
        User(username='******',
             password_hash=test_password,
             role='admin'))
    session.add(
        User(username='******',
             password_hash=test_password,
             role='editor'))

    commit()
    session.close_all()

    yield app
    app.session_manager.dispose()