Esempio n. 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))
Esempio n. 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))
Esempio n. 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']))
Esempio n. 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)
Esempio n. 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))
Esempio n. 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()
Esempio n. 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)
Esempio n. 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
Esempio n. 9
0
def test_delete_errors(extension):
    url = confd.extensions(extension['id'])
    url.delete()
    yield s.check_resource_not_found, url.get, 'Extension'
Esempio n. 10
0
def test_alphanumeric_extension():
    url = confd.extensions(context='default').post
    yield s.check_bogus_field_returns_error, url, 'exten', 'ABC123'
Esempio n. 11
0
def test_get_errors():
    url = confd.extensions(FAKE_ID).get
    yield s.check_resource_not_found, url, 'Extension'
Esempio n. 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))
Esempio n. 13
0
def test_delete(extension):
    response = confd.extensions(extension['id']).delete()
    response.assert_deleted()
Esempio n. 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'))
Esempio n. 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)
Esempio n. 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'))
Esempio n. 17
0
def delete_extension(extension_id, check=False):
    response = confd.extensions(extension_id).delete()
    if check:
        response.assert_ok()
Esempio n. 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'))
Esempio n. 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'))
Esempio n. 20
0
def test_get_line_from_fake_extension():
    response = confd.extensions(FAKE_ID).line.get()
    response.assert_match(404, e.not_found('Extension'))