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
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
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