示例#1
0
def test_given_extension_associated_to_sccp_line_when_updated_then_cid_num_updated(
        user, line, sccp, extension):
    exten = h.extension.find_available_exten(config.CONTEXT)

    with a.line_endpoint_sccp(line, sccp), a.line_extension(
            line, extension), a.user_line(user, line):
        confd.extensions(extension['id']).put(exten=exten).assert_updated()

        response = confd.lines(line['id']).get()
        assert_that(response.item, has_entries(caller_id_num=exten))
示例#2
0
def test_get(extension):
    response = confd.extensions(extension['id']).get()
    assert_that(
        response.item,
        has_entries(exten=extension['exten'],
                    context=extension['context'],
                    commented=False))
示例#3
0
def test_update_required_parameters(extension, context):
    exten = h.extension.find_available_exten(context['name'])
    url = confd.extensions(extension['id'])

    response = url.put(exten=exten, context=context['name'])
    response.assert_updated()

    assert_that(url.get().item,
                has_entries(exten=exten, context=context['name']))
示例#4
0
def test_get_extension_from_line(line, extension):
    expected = has_entries({
        'line_id': line['id'],
        'extension_id': extension['id']
    })

    with a.line_extension(line, extension):
        response = confd.extensions(extension['id']).line.get()
        assert_that(response.item, expected)
示例#5
0
def test_when_extension_updated_on_sip_line_then_provd_is_updated(
        user, line, sip, extension, device):
    exten = h.extension.find_available_exten(config.CONTEXT)
    line_cid = h.extension.find_available_exten(config.CONTEXT,
                                                exclude=[exten])

    with a.line_endpoint_sip(line, sip), a.user_line(user, line), \
            a.line_extension(line, extension), a.line_device(line, device):

        response = confd.extensions(extension['id']).put(exten=exten)
        response.assert_updated()

        response = confd.lines(line['id']).put(caller_id_num=line_cid)
        response.assert_updated()

        provd_config = provd.configs.get(device['id'])
        sip_line = provd_config['raw_config']['sip_lines']['1']
        assert_that(sip_line, has_entries(number=exten))
示例#6
0
def test_updating_user_line_or_extension_associated_with_autoprov_device_does_not_fail(
        user, line, sip, extension, device):
    with a.line_endpoint_sip(line, sip, check=False), a.line_extension(line, extension, check=False), \
            a.user_line(user, line, check=False):

        with db.queries() as queries:
            queries.associate_line_device(line['id'], device['id'])

        response = confd.endpoints.sip(sip['id']).put()
        response.assert_ok()

        response = confd.lines(line['id']).put()
        response.assert_ok()

        response = confd.users(user['id']).put()
        response.assert_ok()

        response = confd.extensions(extension['id']).put()
        response.assert_ok()
示例#7
0
def test_edit_extension_outside_context_range(extension):
    response = confd.extensions(extension['id']).put(exten='999999999',
                                                     context='default')
    response.assert_match(400, outside_range_regex)
示例#8
0
def test_put_errors(extension):
    url = confd.extensions(extension['id'],
                           exten=extension['exten'],
                           context=extension['context']).put
    for check in error_checks(url):
        yield check
示例#9
0
def test_delete_errors(extension):
    url = confd.extensions(extension['id'])
    url.delete()
    yield s.check_resource_not_found, url.get, 'Extension'
示例#10
0
def test_alphanumeric_extension():
    url = confd.extensions(context='default').post
    yield s.check_bogus_field_returns_error, url, 'exten', 'ABC123'
示例#11
0
def test_get_errors():
    url = confd.extensions(FAKE_ID).get
    yield s.check_resource_not_found, url, 'Extension'
示例#12
0
def test_update_additional_parameters(extension1):
    url = confd.extensions(extension1['id'])
    url.put(commented=True).assert_updated()
    assert_that(url.get().item, has_entries(commented=True))
示例#13
0
def test_delete(extension):
    response = confd.extensions(extension['id']).delete()
    response.assert_deleted()
示例#14
0
def test_edit_extension_with_fake_context(extension):
    response = confd.extensions(extension['id']).put(exten='1234',
                                                     context='fakecontext')
    response.assert_match(400, e.not_found('Context'))
示例#15
0
def test_edit_extension_outside_context_range(extension):
    response = confd.extensions(extension['id']).put(exten='999999999',
                                                       context='default')
    response.assert_match(400, outside_range_regex)
示例#16
0
def test_edit_extension_with_fake_context(extension):
    response = confd.extensions(extension['id']).put(exten='1234',
                                                       context='fakecontext')
    response.assert_match(400, e.not_found('Context'))
示例#17
0
def delete_extension(extension_id, check=False):
    response = confd.extensions(extension_id).delete()
    if check:
        response.assert_ok()
示例#18
0
def test_get_line_from_incall_when_not_associated(line, incall):
    response = confd.extensions(incall['id']).line.get()
    response.assert_match(404, e.not_found('LineExtension'))
示例#19
0
def test_delete_extension_associated_to_line(line, extension):
    with a.line_extension(line, extension):
        response = confd.extensions(extension['id']).delete()
        response.assert_match(400, e.resource_associated('Extension', 'Line'))
示例#20
0
def test_get_line_from_fake_extension():
    response = confd.extensions(FAKE_ID).line.get()
    response.assert_match(404, e.not_found('Extension'))