def test_get_uuid_mismatch_with_principal(app):
    uuid = uuid4()

    session = SessionLocal(bind=app.engine)
    session = SessionLocal(bind=app.engine)

    uuid_principal = str(uuid4())
    principal = Principal(
        auth_id="auth_id",
        uuid="uuid",
        tenant_uuid=uuid_principal,
        tenant_uuids=[uuid_principal],
        token="token",
    )
    with pytest.raises(HTTPException):
        get_uuid(principal, session, uuid)
def test_get_uuid_with_principal_none(app):
    uuid = uuid4()

    session = SessionLocal(bind=app.engine)
    principal = None
    res = get_uuid(principal, session, uuid)
    assert res == uuid
def test_get_uuid_with_principal_none_and_empty_field(app):
    uuid = None

    session = SessionLocal(bind=app.engine)
    principal = None
    with pytest.raises(HTTPException):
        get_uuid(principal, session, uuid)
def test_create_ipbx_password_too_long(app_auth, client_auth_with_token):
    from wazo_router_confd.database import SessionLocal
    from wazo_router_confd.models.domain import Domain
    from wazo_router_confd.models.tenant import Tenant

    tenant = Tenant(name='fabio', uuid="ffffffff-ffff-4c1c-ad1c-ffffffffffff")
    domain = Domain(domain='testdomain.com', tenant=tenant)
    session = SessionLocal(bind=app_auth.engine)
    session.add_all([tenant, domain])
    session.commit()
    #
    response = client_auth_with_token.post(
        "/1.0/ipbxs",
        json={
            "tenant_uuid": str(tenant.uuid),
            "domain_id": domain.id,
            "customer": 1,
            "ip_fqdn": "mypbx.com",
            "port": 5060,
            "ip_address": "10.0.0.1",
            "registered": True,
            "username": '******' * 128,  # String(50)
            "password": '******' * 248,  # String(192)
        },
    )
    assert response.status_code >= 400 and response.status_code < 500
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),
    }
Esempio n. 6
0
def test_create_duplicated_carrier_trunk(app_auth, client_auth_with_token):
    from wazo_router_confd.database import SessionLocal
    from wazo_router_confd.models.carrier_trunk import CarrierTrunk
    from wazo_router_confd.models.carrier import Carrier
    from wazo_router_confd.models.tenant import Tenant

    tenant = Tenant(name="tenant", uuid="ffffffff-ffff-4c1c-ad1c-ffffffffffff")
    carrier = Carrier(name="carrier", tenant=tenant)
    carrier_trunk = CarrierTrunk(
        name='carrier_trunk1',
        tenant=tenant,
        carrier=carrier,
        sip_proxy='proxy.somedomain.com',
    )
    session = SessionLocal(bind=app_auth.engine)
    session.add_all([tenant, carrier, carrier_trunk])
    session.commit()
    #
    response = client_auth_with_token.post(
        "/1.0/carrier_trunks",
        json={
            "name": "carrier_trunk1",
            "tenant_uuid": str(tenant.uuid),
            "carrier_id": carrier.id,
            "sip_proxy": "proxy.somedomain.com",
        },
    )
    assert response.status_code == 409
def test_create_duplicated_normalization_rule(app, client):
    from wazo_router_confd.database import SessionLocal
    from wazo_router_confd.models.normalization import NormalizationProfile
    from wazo_router_confd.models.normalization import NormalizationRule
    from wazo_router_confd.models.tenant import Tenant

    session = SessionLocal(bind=app.engine)
    tenant = Tenant(name='fabio', uuid='5a6c0c40-b481-41bb-a41a-75d1cc25ff34')
    normalization_profile = NormalizationProfile(name='profile 1',
                                                 tenant=tenant)
    normalization_rule = NormalizationRule(
        match_regex='^11',
        match_prefix='11',
        replace_regex='',
        profile=normalization_profile,
    )
    session.add_all([tenant, normalization_profile, normalization_rule])
    session.commit()
    #
    response = client.post(
        "/1.0/normalization-rules",
        json={
            "profile_id": normalization_profile.id,
            "match_regex": "^11",
            "replace_regex": "",
        },
    )
    assert response.status_code == 409
Esempio n. 8
0
def test_delete_normalization_rule(app_auth, client_auth_with_token):
    from wazo_router_confd.database import SessionLocal
    from wazo_router_confd.models.normalization import NormalizationProfile
    from wazo_router_confd.models.normalization import NormalizationRule
    from wazo_router_confd.models.tenant import Tenant

    session = SessionLocal(bind=app_auth.engine)
    tenant = Tenant(name='fabio', uuid="ffffffff-ffff-4c1c-ad1c-ffffffffffff")
    normalization_profile = NormalizationProfile(name='profile 1', tenant=tenant)
    normalization_rule = NormalizationRule(
        match_regex='^11',
        match_prefix='11',
        replace_regex='',
        profile=normalization_profile,
    )
    session.add_all([tenant, normalization_profile, normalization_rule])
    session.commit()
    #
    response = client_auth_with_token.delete(
        "/1.0/normalization-rules/%s" % normalization_rule.id
    )
    assert response.status_code == 200
    assert response.json() == {
        "id": normalization_rule.id,
        "rule_type": 1,
        "priority": 0,
        "profile_id": normalization_profile.id,
        "match_regex": "^11",
        "replace_regex": '',
    }
Esempio n. 9
0
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_get_cdrs(app_auth, client_auth_with_token):
    from wazo_router_confd.database import SessionLocal
    from wazo_router_confd.models.cdr import CDR
    from wazo_router_confd.models.tenant import Tenant

    session = SessionLocal(bind=app_auth.engine)
    tenant = Tenant(name="tenant", uuid="ffffffff-ffff-4c1c-ad1c-ffffffffffff")
    cdr = CDR(
        from_uri="100@localhost",
        to_uri="200@localhost",
        call_id="1000",
        source_ip="10.0.0.1",
        source_port=5060,
        duration=60,
        call_start=parse("2019-09-01T00:00:00"),
        tenant=tenant,
    )
    session.add_all([tenant, cdr])
    session.commit()
    #
    response = client_auth_with_token.get("/1.0/cdrs")
    assert response.status_code == 200
    assert response.json() == {
        "items": [{
            "id": cdr.id,
            "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),
        }]
    }
Esempio n. 11
0
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,
    }
Esempio n. 12
0
def test_create_normalization_profile(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_all([tenant])
    session.commit()
    #
    response = client_auth_with_token.post(
        "/1.0/normalization-profiles",
        json={
            "name": "profile 1",
            "tenant_uuid": str(tenant.uuid),
            "country_code": "39",
            "area_code": "11",
            "intl_prefix": "00",
            "ld_prefix": "0",
            "always_ld": True,
            "always_intl_prefix_plus": False,
        },
    )
    assert response.status_code == 200
    assert response.json() == {
        "id": mock.ANY,
        "tenant_uuid": str(tenant.uuid),
        "name": "profile 1",
        "country_code": "39",
        "area_code": "11",
        "intl_prefix": "00",
        "ld_prefix": "0",
        "always_ld": True,
        "always_intl_prefix_plus": False,
    }
Esempio n. 13
0
def test_get_normalization_profile(app, client):
    from wazo_router_confd.database import SessionLocal
    from wazo_router_confd.models.normalization import NormalizationProfile
    from wazo_router_confd.models.tenant import Tenant

    session = SessionLocal(bind=app.engine)
    tenant = Tenant(name='fabio', uuid='5a6c0c40-b481-41bb-a41a-75d1cc25ff34')
    normalization_profile = NormalizationProfile(name='profile 1',
                                                 tenant=tenant)
    session.add_all([normalization_profile, tenant])
    session.commit()
    #
    response = client.get("/1.0/normalization-profiles/%s" %
                          normalization_profile.id)
    assert response.status_code == 200
    assert response.json() == {
        "id": normalization_profile.id,
        "name": "profile 1",
        "tenant_uuid": str(tenant.uuid),
        "country_code": None,
        "area_code": None,
        "intl_prefix": None,
        "ld_prefix": None,
        "always_ld": False,
        "always_intl_prefix_plus": False,
    }
Esempio n. 14
0
def test_get_normalization_profiles(app_auth, client_auth_with_token):
    from wazo_router_confd.database import SessionLocal
    from wazo_router_confd.models.normalization import NormalizationProfile
    from wazo_router_confd.models.tenant import Tenant

    session = SessionLocal(bind=app_auth.engine)
    tenant = Tenant(name='fabio', uuid="ffffffff-ffff-4c1c-ad1c-ffffffffffff")
    normalization_profile = NormalizationProfile(name='profile 1',
                                                 tenant=tenant)
    session.add_all([normalization_profile, tenant])
    session.commit()
    #
    response = client_auth_with_token.get("/1.0/normalization-profiles")
    assert response.status_code == 200
    assert response.json() == {
        "items": [{
            "id": normalization_profile.id,
            "name": "profile 1",
            "tenant_uuid": str(tenant.uuid),
            "country_code": None,
            "area_code": None,
            "intl_prefix": None,
            "ld_prefix": None,
            "always_ld": False,
            "always_intl_prefix_plus": False,
        }]
    }
def test_update_domain(app, client):
    from wazo_router_confd.database import SessionLocal
    from wazo_router_confd.models.domain import Domain
    from wazo_router_confd.models.tenant import Tenant

    session = SessionLocal(bind=app.engine)
    tenant = Tenant(name='test', uuid="3ab844af-8039-45d9-a3aa-bae6f298228f")
    tenant_2 = Tenant(name='test_2',
                      uuid="38a334ec-8960-4367-80a3-b44c568df279")
    domain = Domain(domain='testdomain.com', tenant=tenant)
    session.add_all([domain, tenant, tenant_2])
    session.commit()
    #
    response = client.put(
        "/1.0/domains/%s" % domain.id,
        json={
            'domain': 'otherdomain.com',
            'tenant_uuid': str(tenant_2.uuid)
        },
    )
    assert response.status_code == 200
    assert response.json() == {
        'id': domain.id,
        'domain': 'otherdomain.com',
        'tenant_uuid': str(tenant_2.uuid),
    }
def test_get_normalization_rule(app, client):
    from wazo_router_confd.database import SessionLocal
    from wazo_router_confd.models.normalization import NormalizationProfile
    from wazo_router_confd.models.normalization import NormalizationRule
    from wazo_router_confd.models.tenant import Tenant

    session = SessionLocal(bind=app.engine)
    tenant = Tenant(name='fabio', uuid='5a6c0c40-b481-41bb-a41a-75d1cc25ff34')
    normalization_profile = NormalizationProfile(name='profile 1',
                                                 tenant=tenant)
    normalization_rule = NormalizationRule(
        match_regex='^11',
        match_prefix='11',
        replace_regex='',
        profile=normalization_profile,
    )
    session.add_all([tenant, normalization_profile, normalization_rule])
    session.commit()
    #
    response = client.get("/1.0/normalization-rules/%s" %
                          normalization_rule.id)
    assert response.status_code == 200
    assert response.json() == {
        "id": normalization_rule.id,
        "rule_type": 1,
        "priority": 0,
        "profile_id": normalization_profile.id,
        "match_regex": "^11",
        "replace_regex": '',
    }
def test_create_normalization_rule(app, client):
    from wazo_router_confd.database import SessionLocal
    from wazo_router_confd.models.normalization import NormalizationProfile
    from wazo_router_confd.models.tenant import Tenant

    session = SessionLocal(bind=app.engine)
    tenant = Tenant(name='fabio', uuid='5a6c0c40-b481-41bb-a41a-75d1cc25ff34')
    normalization_profile = NormalizationProfile(name='profile 1',
                                                 tenant=tenant)
    session.add_all([normalization_profile, tenant])
    session.commit()
    #
    response = client.post(
        "/1.0/normalization-rules",
        json={
            "profile_id": normalization_profile.id,
            "rule_type": 1,
            "priority": 1,
            "match_regex": "^11",
            "replace_regex": "",
        },
    )
    assert response.status_code == 200
    assert response.json() == {
        "id": mock.ANY,
        "profile_id": normalization_profile.id,
        "rule_type": 1,
        "priority": 1,
        "match_regex": "^11",
        "replace_regex": "",
    }
def test_get_uuid_with_principal(app):
    uuid = uuid4()

    session = SessionLocal(bind=app.engine)
    principal = Principal(
        auth_id="auth_id",
        uuid="uuid",
        tenant_uuid=str(uuid),
        tenant_uuids=[str(uuid)],
        token="token",
    )
    res = get_uuid(principal, session, None)
    assert res == uuid
def test_kamailio_routing_did_with_no_matching_ipbx(app, client):
    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.did import DID

    session = SessionLocal(bind=app.engine)
    tenant = Tenant(name='fabio', uuid='5a6c0c40-b481-41bb-a41a-75d1cc25ff34')
    domain = Domain(domain='testdomain.com', tenant=tenant)
    ipbx = IPBX(
        tenant=tenant,
        domain=domain,
        customer=1,
        ip_fqdn='mypbx.com',
        registered=True,
        username='******',
        password='******',
    )
    carrier = Carrier(name='carrier', tenant=tenant)
    carrier_trunk = CarrierTrunk(name='carrier_trunk1',
                                 carrier=carrier,
                                 sip_proxy='proxy.somedomain.com')
    did = DID(
        did_regex=r'^39[0-9]+$',
        did_prefix='39',
        tenant=tenant,
        ipbx=ipbx,
        carrier_trunk=carrier_trunk,
    )
    session.add_all([tenant, domain, ipbx, carrier, carrier_trunk, did])
    session.commit()
    #
    request_from_name = "From name"
    request_from_uri = "sip:[email protected]"
    request_from_tag = "from_tag"
    request_to_name = "to name"
    request_to_uri = "sip:[email protected]"
    request_to_tag = "to_tag"
    #
    response = client.post(
        "/1.0/kamailio/routing",
        json={
            "event": "sip-routing",
            "source_ip": "10.0.0.1",
            "source_port": 5060,
            "call_id": "call-id",
            "from_name": request_from_name,
            "from_uri": request_from_uri,
            "from_tag": request_from_tag,
            "to_uri": request_to_uri,
            "to_name": request_to_name,
            "to_tag": request_to_tag,
        },
    )
    assert response.status_code == 200
    assert response.json() == {"auth": None, "rtjson": {"success": False}}
Esempio n. 20
0
def create_routing_rule(app, 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_rule import RoutingRule

    session = SessionLocal(bind=app.engine)
    tenant = Tenant(name="tenant_{}".format(suffix), uuid=uuid.uuid4())
    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",
    )

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

    session.flush()

    return routing_rule, ipbx, carrier_trunk, tenant, session
Esempio n. 21
0
def test_update_carrier_trunk(app_auth, client_auth_with_token):
    from wazo_router_confd.database import SessionLocal
    from wazo_router_confd.models.carrier_trunk import CarrierTrunk
    from wazo_router_confd.models.carrier import Carrier
    from wazo_router_confd.models.tenant import Tenant

    tenant = Tenant(name="tenant", uuid="ffffffff-ffff-4c1c-ad1c-ffffffffffff")
    carrier = Carrier(name="carrier", tenant=tenant)
    carrier_trunk = CarrierTrunk(
        name='carrier_trunk1',
        tenant=tenant,
        carrier=carrier,
        sip_proxy='proxy.somedomain.com',
        auth_username='******',
        auth_password='******',
    )
    session = SessionLocal(bind=app_auth.engine)
    session.add_all([tenant, carrier, carrier_trunk])
    session.commit()
    #
    response = client_auth_with_token.put(
        "/1.0/carrier_trunks/%s" % carrier_trunk.id,
        json={
            'name': 'updated_carrier_trunk1',
            "tenant_uuid": str(tenant.uuid),
            "carrier_id": carrier.id,
            "normalization_profile_id": None,
            "sip_proxy": "proxy.somedomain.com",
            "sip_proxy_port": 5061,
            "ip_address": "10.0.0.1",
            "registered": True,
            'auth_username': '******',
            'auth_password': '******',
            "realm": "somerealm.com",
            "registrar_proxy": "registrar-proxy.com",
            "from_domain": "gw.somedomain.com",
            "expire_seconds": 1800,
            "retry_seconds": 10,
        },
    )
    assert response.status_code == 200
    assert response.json() == {
        'id': carrier_trunk.id,
        'name': 'updated_carrier_trunk1',
        "tenant_uuid": str(tenant.uuid),
        "carrier_id": carrier.id,
        "normalization_profile_id": None,
        'sip_proxy': 'proxy.somedomain.com',
        "sip_proxy_port": 5061,
        "ip_address": "10.0.0.1",
        'auth_username': '******',
        'expire_seconds': 1800,
        'retry_seconds': 10,
        'from_domain': "gw.somedomain.com",
        'realm': "somerealm.com",
        'registered': True,
        'registrar_proxy': "registrar-proxy.com",
    }
def test_kamailio_cdr_failed_no_tenant(app, client):
    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.did import DID

    session = SessionLocal(bind=app.engine)
    tenant = Tenant(name='fabio', uuid='5a6c0c40-b481-41bb-a41a-75d1cc25ff34')
    domain = Domain(domain='testdomain.com', tenant=tenant)
    ipbx = IPBX(
        tenant=tenant,
        domain=domain,
        customer=1,
        ip_fqdn='mypbx.com',
        registered=True,
        username='******',
        password='******',
    )
    carrier = Carrier(name='carrier', tenant=tenant)
    carrier_trunk = CarrierTrunk(
        name='carrier_trunk1', carrier=carrier, sip_proxy='proxy.somedomain.com'
    )
    did = DID(
        did_regex=r'^39[0-9]+$',
        did_prefix='39',
        tenant=tenant,
        ipbx=ipbx,
        carrier_trunk=carrier_trunk,
    )
    session.add_all([tenant, domain, ipbx, carrier, carrier_trunk, did])
    session.commit()
    #
    request_from_uri = "*****@*****.**"
    request_to_uri = "*****@*****.**"
    call_start = 1570752000
    duration = 60
    #
    response = client.post(
        "/1.0/kamailio/cdr",
        json={
            "tenant_uuid": "5ecdf9dd-36d3-4735-a5e8-99bd297bc325",
            "event": "sip-routing",
            "source_ip": "10.0.0.1",
            "source_port": 5060,
            "call_id": "call-id",
            "from_uri": request_from_uri,
            "to_uri": request_to_uri,
            "call_start": call_start,
            "duration": duration,
        },
    )

    assert response.status_code == 200
    assert response.json() == {"success": False, "cdr": None}
Esempio n. 23
0
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
Esempio n. 24
0
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'}
Esempio n. 25
0
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"}
Esempio n. 26
0
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}]
Esempio n. 28
0
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_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_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