def test_create_cdr(app_auth, client_auth_with_token): from wazo_router_confd.database import SessionLocal from wazo_router_confd.models.tenant import Tenant tenant = Tenant(name="tenant", uuid="ffffffff-ffff-4c1c-ad1c-ffffffffffff") session = SessionLocal(bind=app_auth.engine) session.add(tenant) session.commit() # response = client_auth_with_token.post( "/1.0/cdrs", json={ "from_uri": "100@localhost", "to_uri": "200@localhost", "call_id": "1000", "source_ip": "10.0.0.1", "source_port": 5060, "duration": 60, "call_start": "2019-09-01T00:00:00", "tenant_uuid": str(tenant.uuid), }, ) assert response.status_code == 200 assert response.json() == { "id": mock.ANY, "from_uri": "100@localhost", "to_uri": "200@localhost", "call_id": "1000", "source_ip": "10.0.0.1", "source_port": 5060, "duration": 60, "call_start": "2019-09-01T00:00:00", "tenant_uuid": str(tenant.uuid), }
def test_update_routing_rule(app=None, client=None): from wazo_router_confd.database import SessionLocal from wazo_router_confd.models.routing_rule import RoutingRule session = SessionLocal(bind=app.engine) session.add( RoutingRule( prefix="39", carrier_trunk_id=1, ipbx_id=1, did_regex=r'^(\+?1)?(8(00|44|55|66|77|88)[2-9]\d{6})$', route_type="pstn", )) session.commit() # response = client.put( "/routing_rules/1", json={ 'prefix': '40', 'carrier_trunk_id': 2, 'ipbx_id': 1, 'did_regex': r'^(\+?1)?(8(00|44|55|66|77|88)[2-9]\d{6})$', 'route_type': "pstn", }, ) assert response.status_code == 200 assert response.json() == { "id": 1, "prefix": "40", "carrier_trunk_id": 2, "ipbx_id": 1, "did_regex": r"^(\+?1)?(8(00|44|55|66|77|88)[2-9]\d{6})$", "route_type": "pstn", }
def test_update_did(app=None, client=None): from wazo_router_confd.database import SessionLocal from wazo_router_confd.models.did import DID session = SessionLocal(bind=app.engine) session.add( DID( did_regex=r'^(\+?1)?(8(00|44|55|66|77|88)[2-9]\d{6})$', carrier_trunk_id=1, tenant_id=1, )) session.commit() # response = client.put( "/dids/1", json={ "id": 1, "did_regex": r"^(\+?1)?(8(00|44|55|66|77|88)[2-9]\d{6})$", "carrier_trunk_id": 2, "tenant_id": 2, }, ) assert response.status_code == 200 assert response.json() == { "id": 1, "did_regex": r"^(\+?1)?(8(00|44|55|66|77|88)[2-9]\d{6})$", "carrier_trunk_id": 2, "tenant_id": 2, }
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 test_create_duplicated_tenant(app=None, client=None): from wazo_router_confd.database import SessionLocal from wazo_router_confd.models.tenant import Tenant session = SessionLocal(bind=app.engine) session.add(Tenant(name='fabio')) session.commit() # response = client.post("/tenants/", json={"name": "fabio"}) assert response.status_code == 400
def test_get_routing_groups(app=None, client=None): from wazo_router_confd.database import SessionLocal from wazo_router_confd.models.routing_group import RoutingGroup session = SessionLocal(bind=app.engine) session.add(RoutingGroup(routing_rule=1, tenant_id=1)) session.commit() # response = client.get("/routing_groups/") assert response.status_code == 200 assert response.json() == [{"id": 1, "routing_rule": 1, "tenant_id": 1}]
def test_get_carriers(app=None, client=None): from wazo_router_confd.database import SessionLocal from wazo_router_confd.models.carrier import Carrier session = SessionLocal(bind=app.engine) session.add(Carrier(name='carrier1', tenant_id=1)) session.commit() # response = client.get("/carriers/") assert response.status_code == 200 assert response.json() == [{'id': 1, 'name': 'carrier1', 'tenant_id': 1}]
def test_update_tenant(app=None, client=None): from wazo_router_confd.database import SessionLocal from wazo_router_confd.models.tenant import Tenant session = SessionLocal(bind=app.engine) session.add(Tenant(name='fabio')) session.commit() # response = client.put("/tenants/1", json={'name': 'alex'}) assert response.status_code == 200 assert response.json() == {'id': 1, 'name': 'alex'}
def test_get_tenant(app=None, client=None): from wazo_router_confd.database import SessionLocal from wazo_router_confd.models.tenant import Tenant session = SessionLocal(bind=app.engine) session.add(Tenant(name='fabio')) session.commit() # response = client.get("/tenants/1") assert response.status_code == 200 assert response.json() == {"id": 1, "name": "fabio"}
def test_delete_tenant(app_auth, client_auth_with_token): from wazo_router_confd.database import SessionLocal from wazo_router_confd.models.tenant import Tenant session = SessionLocal(bind=app_auth.engine) tenant = Tenant(name='fabio', uuid="ffffffff-ffff-4c1c-ad1c-ffffffffffff") session.add(tenant) session.commit() # response = client_auth_with_token.delete("/1.0/tenants/%s" % tenant.uuid) assert response.status_code == 200 assert response.json() == {'uuid': str(tenant.uuid), 'name': 'fabio'}
def test_delete_tenant(app, client): from wazo_router_confd.database import SessionLocal from wazo_router_confd.models.tenant import Tenant session = SessionLocal(bind=app.engine) tenant = Tenant(name='fabio', uuid="fc8faf32-1bf8-47a4-9d82-f369799b3006") session.add(tenant) session.commit() # response = client.delete("/1.0/tenants/%s" % tenant.uuid) assert response.status_code == 200 assert response.json() == {'uuid': str(tenant.uuid), 'name': 'fabio'}
def test_create_duplicated_tenant(app, client): from wazo_router_confd.database import SessionLocal from wazo_router_confd.models.tenant import Tenant session = SessionLocal(bind=app.engine) session.add(Tenant(name='fabio', uuid="fc8faf32-1bf8-47a4-9d82-f369799b3006")) session.commit() # response = client.post( "/1.0/tenants", json={"name": "fabio", "uuid": "0da63438-02a2-47c3-b05d-344d5d16cef7"}, ) assert response.status_code == 409
def test_create_duplicated_tenant(app_auth, client_auth_with_token): from wazo_router_confd.database import SessionLocal from wazo_router_confd.models.tenant import Tenant session = SessionLocal(bind=app_auth.engine) session.add(Tenant(name='fabio', uuid="ffffffff-ffff-4c1c-ad1c-ffffffffffff")) session.commit() # response = client_auth_with_token.post( "/1.0/tenants", json={"name": "fabio", "uuid": "0da63438-02a2-47c3-b05d-344d5d16cef7"}, ) assert response.status_code == 409
def test_create_duplicated_carrier(app=None, client=None): from wazo_router_confd.database import SessionLocal from wazo_router_confd.models.carrier import Carrier session = SessionLocal(bind=app.engine) session.add(Carrier(name='carrier1', tenant_id=1)) session.commit() # response = client.post("/carriers/", json={ "name": "carrier1", "tenant_id": 1 }) assert response.status_code == 400
def test_create_carrier(app_auth, client_auth_with_token): from wazo_router_confd.database import SessionLocal from wazo_router_confd.models.tenant import Tenant tenant = Tenant(name="tenant", uuid="ffffffff-ffff-4c1c-ad1c-ffffffffffff") session = SessionLocal(bind=app_auth.engine) session.add(tenant) session.commit() # response = client_auth_with_token.post( "/1.0/carriers", json={"name": "carrier1", "tenant_uuid": str(tenant.uuid)} ) assert response.status_code == 200 assert response.json() == { "id": mock.ANY, "name": "carrier1", "tenant_uuid": str(tenant.uuid), }
def test_create_carrier(app, client): from wazo_router_confd.database import SessionLocal from wazo_router_confd.models.tenant import Tenant tenant = Tenant(name="tenant", uuid="3ab844af-8039-45d9-a3aa-bae6f298228f") session = SessionLocal(bind=app.engine) session.add(tenant) session.commit() # response = client.post( "/1.0/carriers", json={"name": "carrier1", "tenant_uuid": str(tenant.uuid)} ) assert response.status_code == 200 assert response.json() == { "id": mock.ANY, "name": "carrier1", "tenant_uuid": str(tenant.uuid), }
def test_create_domain(app, client): from wazo_router_confd.database import SessionLocal from wazo_router_confd.models.tenant import Tenant session = SessionLocal(bind=app.engine) tenant = Tenant(name='fabio', uuid="3ab844af-8039-45d9-a3aa-bae6f298228f") session.add(tenant) session.commit() response = client.post( "/1.0/domains", json={ "domain": "testdomain.com", "tenant_uuid": str(tenant.uuid) }, ) assert response.status_code == 200 assert response.json() == { "id": mock.ANY, "domain": "testdomain.com", "tenant_uuid": str(tenant.uuid), }
def test_create_domain(app_auth, client_auth_with_token): from wazo_router_confd.database import SessionLocal from wazo_router_confd.models.tenant import Tenant session = SessionLocal(bind=app_auth.engine) tenant = Tenant(name='fabio', uuid="ffffffff-ffff-4c1c-ad1c-ffffffffffff") session.add(tenant) session.commit() response = client_auth_with_token.post( "/1.0/domains", json={ "domain": "testdomain.com", "tenant_uuid": str(tenant.uuid) }, ) assert response.status_code == 200 assert response.json() == { "id": mock.ANY, "domain": "testdomain.com", "tenant_uuid": str(tenant.uuid), }