def create_routing_rule(app_auth, tenant_uuid, suffix=1):
    from wazo_router_confd.database import SessionLocal
    from wazo_router_confd.models.carrier import Carrier
    from wazo_router_confd.models.carrier_trunk import CarrierTrunk
    from wazo_router_confd.models.domain import Domain
    from wazo_router_confd.models.tenant import Tenant
    from wazo_router_confd.models.ipbx import IPBX
    from wazo_router_confd.models.routing_group import RoutingGroup
    from wazo_router_confd.models.routing_rule import RoutingRule

    session = SessionLocal(bind=app_auth.engine)
    tenant = session.query(Tenant).filter(Tenant.uuid == tenant_uuid).first()
    if tenant is None:
        tenant = Tenant(name="tenant_{}".format(suffix), uuid=tenant_uuid)
        session.add(tenant)
    domain = Domain(domain='testdomain_{}.com'.format(suffix), tenant=tenant)
    ipbx = IPBX(
        tenant=tenant,
        domain=domain,
        customer=1,
        ip_fqdn='mypbx.com',
        registered=True,
        username='******',
        password='******',
    )
    carrier = Carrier(name='carrier_{}'.format(suffix), tenant=tenant)
    carrier_trunk = CarrierTrunk(
        name='carrier_trunk_{}'.format(suffix),
        carrier=carrier,
        sip_proxy='proxy.somedomain.com',
    )
    carrier_trunk_2 = CarrierTrunk(
        name='carrier_trunk_{}_bis'.format(suffix),
        carrier=carrier,
        sip_proxy='proxy.somedomain.com',
    )
    routing_rule = RoutingRule(
        prefix="39",
        carrier_trunk=carrier_trunk,
        ipbx=ipbx,
        did_regex=r'^(\+?1)?(8(00|44|55|66|77|88)[2-9]\d{6})$',
        route_type="pstn",
    )
    routing_group = RoutingGroup(tenant=tenant, routing_rule=routing_rule)

    session.add_all([
        tenant,
        domain,
        carrier,
        carrier_trunk,
        carrier_trunk_2,
        ipbx,
        routing_rule,
        routing_group,
    ])
    session.commit()

    session.flush()

    return routing_rule, ipbx, carrier_trunk, tenant, session
예제 #2
0
def app(database_uri):
    config = dict(
        database_uri=database_uri,
        redis_uri='redis://localhost',
        redis_flush_on_connect=True,
        database_upgrade=True,
        debug=True,
    )
    app = get_app(config)

    from wazo_router_confd.models.tenant import Tenant

    session = SessionLocal(bind=getattr(app, 'engine'))
    session.query(Tenant).delete()
    session.commit()

    return app
예제 #3
0
def app_auth(request, database_uri, wazo_auth_mock):
    config = dict(
        database_uri=database_uri,
        redis_uri='redis://localhost',
        redis_flush_on_connect=True,
        database_upgrade=True,
        debug=True,
        wazo_auth=True,
        wazo_auth_url="https://localhost:9497/api/auth/0.1",
        wazo_auth_cert=None,
    )
    app = get_app(config)

    from wazo_router_confd.models.tenant import Tenant

    session = SessionLocal(bind=getattr(app, 'engine'))
    session.query(Tenant).delete()
    session.commit()

    return app