def test_setting_a_service_twice_will_raise_an_error(notify_db,
                                                     notify_db_session):
    create_inbound_shortnumber(shortnumber='1')
    create_inbound_shortnumber(shortnumber='2')
    service = create_service(service_name='test service')
    shortnumbers = dao_get_available_inbound_shortnumbers()

    dao_set_inbound_shortnumber_to_service(service.id, shortnumbers[0])

    with pytest.raises(IntegrityError) as e:
        dao_set_inbound_shortnumber_to_service(service.id, shortnumbers[1])

    assert 'duplicate key value violates unique constraint' in str(e.value)
Пример #2
0
def sample_inbound_shortnumbers(notify_db, notify_db_session, sample_service):
    service = create_service(service_name='sample service 2',
                             check_if_service_exists=True)
    inbound_shortnumbers = list()
    inbound_shortnumbers.append(
        create_inbound_shortnumber(shortnumber='1', provider='sinch'))
    inbound_shortnumbers.append(
        create_inbound_shortnumber(shortnumber='2',
                                   provider='sinch',
                                   active=False,
                                   service_id=service.id))
    inbound_shortnumbers.append(
        create_inbound_shortnumber(shortnumber='3',
                                   provider='sinch',
                                   service_id=sample_service.id))
    return inbound_shortnumbers
def test_get_available_inbound_shortnumbers(notify_db, notify_db_session):
    inbound_shortnumber = create_inbound_shortnumber(shortnumber='1')

    res = dao_get_available_inbound_shortnumbers()

    assert len(res) == 1
    assert res[0] == inbound_shortnumber
def test_dao_allocate_shortnumber_for_service(notify_db_session):
    shortnumber = '078945612'
    inbound_shortnumber = create_inbound_shortnumber(shortnumber=shortnumber)
    service = create_service()

    updated_inbound_shortnumber = dao_allocate_shortnumber_for_service(
        service_id=service.id, inbound_shortnumber_id=inbound_shortnumber.id)
    assert service.get_inbound_shortnumber() == shortnumber
    assert updated_inbound_shortnumber.service_id == service.id
Пример #5
0
def sample_service(notify_db,
                   notify_db_session,
                   service_name="Sample service",
                   user=None,
                   restricted=False,
                   limit=1000,
                   email_from=None,
                   permissions=None,
                   research_mode=None):
    if user is None:
        user = create_user()
    if email_from is None:
        email_from = service_name.lower().replace(' ', '.')

    data = {
        'name': service_name,
        'message_limit': limit,
        'restricted': restricted,
        'email_from': email_from,
        'created_by': user,
        'crown': True
    }
    service = Service.query.filter_by(name=service_name).first()
    if not service:
        service = Service(**data)
        dao_create_service(service, user, service_permissions=permissions)

        if research_mode:
            service.research_mode = research_mode

    else:
        if user not in service.users:
            dao_add_user_to_service(service, user)

    if permissions and INBOUND_SMS_TYPE in permissions:
        create_inbound_number('12345', service_id=service.id)

    if permissions and INBOUND_SMS_KEYWORD_TYPE in permissions:
        create_inbound_shortnumber('12345', service_id=service.id)

    return service
def test_set_inbound_shortnumber_active_flag(notify_db, notify_db_session,
                                             sample_service, active):
    inbound_shortnumber = create_inbound_shortnumber(shortnumber='1')
    dao_set_inbound_shortnumber_to_service(sample_service.id,
                                           inbound_shortnumber)

    dao_set_inbound_shortnumber_active_flag(sample_service.id, active=active)

    inbound_shortnumber = dao_get_inbound_shortnumber_for_service(
        sample_service.id)

    assert inbound_shortnumber.active is active
def test_dao_allocate_shortnumber_for_service_raises_if_inbound_shortnumber_already_taken(
        notify_db_session, sample_service):
    shortnumber = '078945612'
    inbound_shortnumber = create_inbound_shortnumber(
        shortnumber=shortnumber, service_id=sample_service.id)
    service = create_service(
        service_name="Service needs an inbound shortnumber")
    with pytest.raises(Exception) as exc:
        dao_allocate_shortnumber_for_service(
            service_id=service.id,
            inbound_shortnumber_id=inbound_shortnumber.id)
    assert 'is not available' in str(exc.value)